c++小游戏制作技巧(1)——使用的windows.h中的指令

news/2024/11/20 23:22:25/

有很多使用的指令,它们可以使得游戏体验感更佳,内容更丰富。

实用的指令

system("cls")——清除屏幕

这个指令需引用windows.h头文件。
这个指令应该是最实用的指令之一了。如果在游戏中输出了一大串字符,但是不清除而保留在屏幕上,就会给人很乱的感觉。用了system("cls")就可以解决这个问题啦!

system("pause")——冻结屏幕

这个指令需引用windows.h头文件。
如果游戏中的文本出现的太快,来不及看的话,就会将游戏体验感大打折扣。用了这个指令后,系统会显示“按任意键继续…”这样的文本,当玩家按下任意键后才会继续程序!

system("color xx")——调整颜色

这个指令需引用windows.h头文件。
使用这个指令可以让程序的背景和前景变换颜色。“xx”部分填的是一个十六进制的数,具体如下:

    0 = 黑色       8 = 灰色1 = 蓝色       9 = 淡蓝色2 = 绿色       A = 淡绿色3 = 浅绿色     B = 淡浅绿色4 = 红色       C = 淡红色5 = 紫色       D = 淡紫色6 = 黄色       E = 淡黄色7 = 白色       F = 亮白色

比如,system("color 4f")就能将背景调成红色,前景调成白色。

system("mode con cols=x lines=x")——调整窗口大小

这个指令需引用windows.h头文件。
如果你的游戏界面太大就会影响游戏体验,那么你可以使用这个指令调整程序窗口的大小。“x”中填的是数字。

Sleep(x)——等待

这个指令需引用windows.h头文件。
在游戏中,一些文本显示后会停止数秒,来让玩家看完文本。这就是Sleep的力量!“x”中填的是等待的毫秒数。
当然这个指令还有一种更好玩的功能,就是让文本以打字机的形式输出!比如这个函数:

void output(string s,int x)
{for(auto i:s){cout<<i;Sleep(x);}cout<<endl;
}

这个函数就能实现将字符串 s s s 中的内容以打字机的形式(间隔为 x x x 毫秒)输出。

Beep(x,y)——发出声音

这个指令需引用windows.h头文件。
很少人知道c++也能发出声音!下面是一个最简单的发声例子:

cout<<"\a";

但是使用Beep(x,y)指令可以发出更多不同的声音 (包括全损版音乐)
其中“x”填的是发声频率,“y”填的是发声持续的时间(单位:毫秒)
这里有一个发声频率的大汇总:

#define qdo 262//q前缀为低音,1后缀为高音,s前缀为半音阶
#define qre 294
#define qmi 330
#define qfa 349
#define qso 392
#define qla 440
#define qsi 494
#define do 523
#define re 578
#define mi 659
#define fa 698
#define so 784
#define la 880
#define si 988
#define do1 1046
#define re1 1175
#define mi1 1318
#define fa1 1480
#define so1 1568
#define la1 1760
#define si1 1976
#define sqdo 277
#define sqre 311
#define sqfa 370
#define sqso 415
#define sqla 466
#define sdo 554
#define sre 622
#define sfa 740
#define sso 831
#define sla 932
#define sdo1 1046
#define sre1 1245
#define sfa1 1480
#define sso1 1661
#define sla1 1865

clock()——计时器

这个指令需引用time.hctime头文件。
这个指令一般在扫雷、跑酷、消消乐的游戏中出现。它可以记录从程序开始到程序结束所用的时间。下面是个例子:

#include<iostream>
#include<ctime>
using namespace std;
int main()
{int xxx=1;int start=clock();for(int i=1;i<=10000;i++)for(int j=1;j<=10000;j++)xxx++;int end=clock();cout<<"累加"<<xxx<<"次需时间"<<(double)(end-start)/CLOCKS_PER_SEC<<"秒。";return 0;

这个例子便计算了累加100000000次所需要的时间。

后记

点个赞吧!


http://www.ppmy.cn/news/1044136.html

相关文章

C/C++中const关键字详解

为什么使用const&#xff1f;采用符号常量写出的代码更容易维护&#xff1b;指针常常是边读边移动&#xff0c;而不是边写边移动&#xff1b;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)&#xff0c;分类如下&#xff1a;…

JVM——StringTable面试案例+垃圾回收+性能调优

JVM——引言JVM内存结构_北岭山脚鼠鼠的博客-CSDN博客 书接上回内存结构——方法区。 这里常量池是运行时常量池。 方法区 面试题 intern()方法 intern() 方法用于在运行时将字符串添加到内部的字符串池stringtable中&#xff0c;并返回字符串池stringtable中的引用。 返…

一文读懂结构型模式----组合模式!

一、组合模式 1.组合模式的概述 1.1 组合模式是什么 组合模式是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象&#xff0c;用来表示部分以及整体层次。 三要素&#xff1a; 根节点(root)&#xff1a;在一棵非空的树中只有一个根节点&#xff0…

【rust/egui】(三)看看template的app.rs:序列化、持久化存储

说在前面 rust新手&#xff0c;egui没啥找到啥教程&#xff0c;这里自己记录下学习过程环境&#xff1a;windows11 22H2rust版本&#xff1a;rustc 1.71.1egui版本&#xff1a;0.22.0eframe版本&#xff1a;0.22.0上一篇&#xff1a;这里 serde app.rs中首先定义了我们的Templ…

36.SpringMVC视图

SpringMVC视图 SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户 SpringMVC视图的种类很多&#xff0c;默认有转发视图(InternalResourceView)和重定向视图(RedirectView) 配置视图&#xff1a; 当工程引入jstl的依赖&a…

Java 计算两个字符的相似度

在Java中&#xff0c;要计算两个字符的相似度&#xff0c;可以借助一些字符串相似度算法。以下是几种常见的字符串相似度算法&#xff1a; Levenshtein距离&#xff1a;也称为编辑距离&#xff0c;用于计算两个字符串之间的最小编辑操作次数&#xff08;插入、删除、替换&…

Unity进阶–通过PhotonServer实现人物移动和攻击–PhotonServer(五)

文章目录 Unity进阶–通过PhotonServer实现人物移动和攻击–PhotonServer(五)DLc&#xff1a; 消息类和通信类服务器客户端 Unity进阶–通过PhotonServer实现人物移动和攻击–PhotonServer(五) DLc&#xff1a; 消息类和通信类 Message namespace Net {public class Message{p…