• 「C++小游戏教程」基本技巧(2)——系统 DOS 命令


    0. 引言

    在 (1) 中,我在使用 random_shuffle() 时加了一个 system("pause");。其中 system() 是系统发出 DOS 命令的函数,原型为 int system(char *command);。我们今天就来谈谈这个函数的主要功能用途。

    附:本节讲的是 Windows 下的 system()。

    1. 冻结屏幕——system(“pause”);

    在早期的 C/C++ 编译器中,本地运行后的结果会一闪而过。这时,便可以用 system("pause"); 来冻结屏幕,等待用户按键后再执行下面的程序。
    直接把上一章的图拿来:
    1
    其中的 请按任意键继续. . . 就是 system("pause"); 给予的效果。


    2. 清屏——system(“cls”);

    一个小游戏,在屏幕上堆砌过多的文字必定是不行的,于是我们可以用 system("cls"); 来实现清空运行窗口中的文字。
    效果:
    2
    可以发现,114514 被清除了,取而代之的是 1919810。


    3. 设置窗口标题——system(“title X”);

    窗口标题是 .exe 文件地址,必定是不美观的。于是,我们可以通过 system("title X"); 来设置运行窗口标题(其中 X 是标题内容)。
    效果:
    3

    4. 设置窗口大小——system(“mode con cols=X lines=Y”);

    设置一个合适的窗口大小,也是关键。
    我们可以用 system("mode con cols=X lines=Y"); 设置窗口列数和行数(X 为列数,Y 为行数)。
    效果:
    4


    5. 设置背景色和前景色——system(“color XY”);

    有时,我们需要丰富的颜色。
    于是就可以调用 system("color XY"); 来改变整个窗口的颜色了。
    其中 XY 分别为背景色和前景色,都是一位十六进制数。
    每个数所代表的颜色如下:

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

    附:如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时的颜色。

    效果:
    5


    6. 显示日期与时间——system(“date /t”); 与 system(“time /t”);

    两者功能很明显,就是显示日期、时间。
    效果:
    6


    注:以下为恶搞相关!

    7. 删除文件——system(“del X”);

    用于删除文件,其中 X 为文件地址。


    8. 定时关机——system(“shutdown -s -t X”)

    用于定时关机,其中 X 为秒数。


    9. 取消关机——system(“shutdown -a”);

    下有对策,上有政策。这个命令可以取消之前的所有关机计划。


    10. 滑动关机——system(“slidetoshutdown”);

    这个命令在较高版本的 Windows 里才会有,就是滑动以关机。
    效果:
    10


    11. 后记

    在某些意义上说,system(); 就是在C/C++ 中调用 cmd 的命令而已,里面还有包括像 dir、doskey 等许多的命令,当然可以用到 C/C++ 小游戏中的,自然就只有其中一部分了。细心的读者可以发现笔者写文章的时间。
    那下面几期基本技巧,为我们会讲到一些关于 windows.h/conio.h 中的函数,敬请期待!

  • 相关阅读:
    一文详解ATK Loss论文复现与代码实战
    Allure与Jenkins持续集成
    国外LEAD美国简称对照表
    数据结构相关知识点(一)
    DTSE Tech Talk | 第11期:深入浅出畅谈华为云低时延直播技术
    产品经理考PMP有用吗?
    【编程题】【Scratch一级】2021.06 奔跑的马
    计算机网络第三章——数据链路层(下)
    C++17折叠表达式(Fold Expressions)
    Java 8 和 11 开始提供的新特性面试
  • 原文地址:https://blog.csdn.net/Leo_Chenjy/article/details/127711941