哈喽大家好,我是iecne,本期为大家带来的是CPP/C++游戏设计教程的第②期—— Sleep睡眠与常用system ,包教包会,快来看看吧!
大家都知道,初学C++或者各种语言,面对枯燥无比的题目,脑子要爆的感觉是十分难受的,不妨会想设计一款游戏玩玩,但是由于能力不足、不知道如何设计而放弃。而这一专栏将会教会你们如何设计一款简单的Cpp游戏,快点赞收藏关注评论支持以下博主,蟹蟹
目录
一.运用位置
Sleep函数可以使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。当函数设定的计时器到期,或者接收到信号、程序发生中断都会导致程序继续执行
1.球类游戏
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中篮球实战的代码
2.所有游戏的输出
int s=1000;
cout<<"……";
Sleep(2*s);
printf("……");
Sleep(2.5*s);
……
二.Sleep的使用
A.windows系统
在Windows操作系统中,sleep()函数需要一个以毫秒为单位的参数代表程序挂起时长,sleep()函数包含在kernel32.dll动态链接库中,但在批处理文件中没有可以直接运行的sleep()函数。可以在如Windows 2003资源包等Windows工具集中找到sleep()函数
B.Unix系统
在Unix类的操作系统中,调用sleep()函数需要一个以秒为单位的参数,需要更精确的时间控制可以使用nanosleep()函数。
1.格式的注意(除粗体外可忽略)
在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。
2.用法
用法太过于简单
那里要延迟输出或者运行,就加上Sleep(秒数*1000);
结束,完工
看到这里,给个点赞收藏关注支持下博主吧
三.Sleep的实际应用(制作游戏必用,干货)
以下来自作者原创小游戏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;
}
逐个停顿输出
四.system(任意、清屏)
参数 | 功能 |
---|---|
CLS | 清除屏幕 |
PAUSE | 暂停,等待用户信号 |
c++清屏函数是“system("cls")”,执行控制台命令cls,功能是清屏,清除所有屏幕显示信息
#include<iostream>
using namespace std;
int main()
{
system("cls");
return 0;
}
c++按任意键继续的函数是“system("pause")”,执行控制台命令pause,功能是显示按任意键继
续,短暂的暂停并且等待用户的信号
#include<iostream>
using namespace std;
int main()
{
system("pause");
return 0;
}
两者都是游戏中常用的函数
五.总结
本节课主要是讲解了Sleep和system的一些用法,至此Sleep的思想博主已经彻彻底底分享完了,而system的一些用法以后还会为大家继续分享,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下
包教包会,帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
系列文章目录
本期收录于博主的专栏——C++游戏设计教程,感兴趣的朋友们可以订阅,查看其它专栏。
C++游戏设计教程(1) 随机数
C++游戏设计教程(2) Sleep睡眠与常用system
感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主
文章存在借鉴,如有侵权请联系修改删除!