C++游戏设计教程(2)—— Sleep睡眠与常用system

 哈喽大家好,我是iecne,本期为大家带来的是CPP/C++游戏设计教程的第②期—— Sleep睡眠与常用system ,包教包会,快来看看吧!

大家都知道,初学C++或者各种语言,面对枯燥无比的题目,脑子要爆的感觉是十分难受的,不妨会想设计一款游戏玩玩,但是由于能力不足、不知道如何设计而放弃。而这一专栏将会教会你们如何设计一款简单的Cpp游戏点赞收藏关注评论支持以下博主,蟹蟹


目录

一.运用位置

1.球类游戏

2.所有游戏的输出

二.Sleep的使用

A.windows系统

B.Unix系统

1.格式的注意(除粗体外可忽略)

2.用法

三.Sleep的实际应用(制作游戏必用,干货)

四.system(任意、清屏)

 五.总结

 系列文章目录


一.运用位置

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(任意、清屏)

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++游戏设计教程_iecne的博客-CSDN博客

C++游戏设计教程(1) 随机数

C++游戏设计教程(2) Sleep睡眠与常用system


 感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主

文章存在借鉴,如有侵权请联系修改删除!

猜你喜欢

转载自blog.csdn.net/CSDN_linyanchen/article/details/126042719
今日推荐