哈喽大家好,我是iecne,本期为大家带来的是CPP/C++游戏设计教程的第②期—— Sleep睡眠与常用system ,包教包会,快来看看吧!
大家都知道,初学C++或者各种语言,面对枯燥无比的题目,脑子要爆的感觉是十分难受的,不妨会想设计一款游戏玩玩,但是由于能力不足、不知道如何设计而放弃。而这一专栏将会教会你们如何设计一款简单的Cpp游戏,快点赞收藏关注评论支持以下博主,蟹蟹
目录
Sleep函数可以使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。当函数设定的计时器到期,或者接收到信号、程序发生中断都会导致程序继续执行
- while(a!=0){
- s=rand()%9;
- if(a!=0&&s==0)
- {
- color(0);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==1)
- {
- color(1);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==2)
- {
- color(2);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==3)
- {
- color(3);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==4)
- {
- color(4);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==5)
- {
- color(5);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==6)
- {
- color(6);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==7)
- {
- color(7);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==8)
- {
- color(8);
- cout << b[i];
- a--;
- i++;
- }
- Sleep(happyday);
-
- }
- if(truefalse1!=false){
- system("cls");
- int getch(a);
- }
以上代码由作者原创小游戏Supreme basketball中篮球实战的代码
- int s=1000;
- cout<<"……";
- Sleep(2*s);
- printf("……");
- Sleep(2.5*s);
- ……
在Windows操作系统中,sleep()函数需要一个以毫秒为单位的参数代表程序挂起时长,sleep()函数包含在kernel32.dll动态链接库中,但在批处理文件中没有可以直接运行的sleep()函数。可以在如Windows 2003资源包等Windows工具集中找到sleep()函数
在Unix类的操作系统中,调用sleep()函数需要一个以秒为单位的参数,需要更精确的时间控制可以使用nanosleep()函数。
在VC中Sleep中的第一个英文字符为大写的"S"
在标准C中是sleep(S不要大写),下面使用大写的来说明,具体用什么看你用什么编译器。简单的说VC用Sleep,别的一律使用sleep。
Sleep函数的一般形式:
Sleep(unsigned long);
其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);
在Linux下,sleep中的“s”不大写
sleep()单位为秒,usleep()里面的单位是微秒。在内核中,sleep的实现是由pause函数和alarm函数两个实现的。
特别注意在Codeblocks环境下是无法使用sleep函数的,因为在windows上Codeblocks采用mingw(Gnu在Window环境下的编译器,可以充分使用WindowsApi)作为编译器,而在stdlib.h中sleep的说明如下:_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;可以认为mingw舍弃了sleep函数,建议用Sleep实现sleep。

用法太过于简单
那里要延迟输出或者运行,就加上Sleep(秒数*1000);
结束,完工
看到这里,给个点赞收藏关注支持下博主吧
以下来自作者原创小游戏Supreme basketball的代码
- coutAIO("欢迎来到《Supreme basketball》",3);
- gotoxy(3,2);
- coutAIO("作者:iecne",2);
- gotoxy(4,2);
- coutAIO("祝你游戏愉快\n",4);
- gotoxy(5,2);
- coutAIO("(*^_^*)\n");
- system("pause");
- system("cls");
传输函数
- void coutAIO(string b,int happyday = 20,bool truefalse1 = 0)
- {
- int i=0,s=0;
- long long a=numberaio(b);
- while(a!=0){
- s=rand()%9;
- if(a!=0&&s==0)
- {
- color(0);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==1)
- {
- color(1);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==2)
- {
- color(2);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==3)
- {
- color(3);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==4)
- {
- color(4);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==5)
- {
- color(5);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==6)
- {
- color(6);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==7)
- {
- color(7);
- cout << b[i];
- a--;
- i++;
- }
- if(a!=0&&s==8)
- {
- color(8);
- cout << b[i];
- a--;
- i++;
- }
- Sleep(happyday);
-
- }
- if(truefalse1!=false){
- system("cls");
- int getch(a);
- }
-
- cout << endl;
- }
逐个停顿输出
| 参数 | 功能 |
|---|---|
| CLS | 清除屏幕 |
| PAUSE | 暂停,等待用户信号 |
c++清屏函数是“system("cls")”,执行控制台命令cls,功能是清屏,清除所有屏幕显示信息
- #include
- using namespace std;
- int main()
- {
- system("cls");
- return 0;
- }
c++按任意键继续的函数是“system("pause")”,执行控制台命令pause,功能是显示按任意键继
续,短暂的暂停并且等待用户的信号
- #include
- using namespace std;
- int main()
- {
- system("pause");
- return 0;
- }
两者都是游戏中常用的函数
本节课主要是讲解了Sleep和system的一些用法,至此Sleep的思想博主已经彻彻底底分享完了,而system的一些用法以后还会为大家继续分享,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下
包教包会,帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
本期收录于博主的专栏——C++游戏设计教程,感兴趣的朋友们可以订阅,查看其它专栏。
C++游戏设计教程(1) 随机数
C++游戏设计教程(2) Sleep睡眠与常用system
感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主
文章存在借鉴,如有侵权请联系修改删除!