0. 引言
- 「C++小游戏教程」基本技巧(1)——随机化
在 (1) 中,我在使用 random_shuffle()
时加了一个 system("pause");
。其中 system()
是系统发出 DOS 命令的函数,原型为 int system(char *command);
。我们今天就来谈谈这个函数的主要功能用途。
附:本节讲的是 Windows 下的 system()。
1. 冻结屏幕——system(“pause”);
在早期的 C/C++ 编译器中,本地运行后的结果会一闪而过。这时,便可以用 system("pause");
来冻结屏幕,等待用户按键后再执行下面的程序。
直接把上一章的图拿来:
其中的 请按任意键继续. . .
就是 system("pause");
给予的效果。
2. 清屏——system(“cls”);
一个小游戏,在屏幕上堆砌过多的文字必定是不行的,于是我们可以用 system("cls");
来实现清空运行窗口中的文字。
效果:
可以发现,114514 被清除了,取而代之的是 1919810。
3. 设置窗口标题——system(“title X”);
窗口标题是 .exe 文件地址,必定是不美观的。于是,我们可以通过 system("title X");
来设置运行窗口标题(其中 X
是标题内容)。
效果:
4. 设置窗口大小——system(“mode con cols=X lines=Y”);
设置一个合适的窗口大小,也是关键。
我们可以用 system("mode con cols=X lines=Y");
设置窗口列数和行数(X
为列数,Y
为行数)。
效果:
5. 设置背景色和前景色——system(“color XY”);
有时,我们需要丰富的颜色。
于是就可以调用 system("color XY");
来改变整个窗口的颜色了。
其中 X
和 Y
分别为背景色和前景色,都是一位十六进制数。
每个数所代表的颜色如下:
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
附:如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时的颜色。
效果:
6. 显示日期与时间——system(“date /t”); 与 system(“time /t”);
两者功能很明显,就是显示日期、时间。
效果:
注:以下为恶搞相关!
7. 删除文件——system(“del X”);
用于删除文件,其中 X
为文件地址。
8. 定时关机——system(“shutdown -s -t X”)
用于定时关机,其中 X
为秒数。
9. 取消关机——system(“shutdown -a”);
下有对策,上有政策。这个命令可以取消之前的所有关机计划。
10. 滑动关机——system(“slidetoshutdown”);
这个命令在较高版本的 Windows 里才会有,就是滑动以关机。
效果:
11. 后记
在某些意义上说,system();
就是在C/C++ 中调用 cmd 的命令而已,里面还有包括像 dir、doskey 等许多的命令,当然可以用到 C/C++ 小游戏中的,自然就只有其中一部分了。细心的读者可以发现笔者写文章的时间。
那下面几期基本技巧,为我们会讲到一些关于 windows.h/conio.h 中的函数,敬请期待!