• 「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 中的函数,敬请期待!

  • 相关阅读:
    HTTPS的工作过程
    上转换纳米颗粒修饰二硫化钼纳米片|聚多巴胺修饰的二硫化钼纳米片(MoS2-PDA)|PEG聚乙二醇包裹二硫化钼纳米片(MoS2-PEG)
    如何提升网站排名和用户体验:优化网站速度
    Spring Data JPA与Mybatis的对比
    HTML5期末大作业:旅游网页设计与实现——旅游风景区网站HTML+CSS+JavaScript 景点静态网页设计 学生DW静态网页设计
    LeetCode 1413. 逐步求和得到正数的最小值
    软件测试面试大全(2023版,答案+文档)
    Window 脚本 - Powershell 使用
    java: java.lang.OutOfMemoryError: Java heap space报错解决办法
    【软考】11.2 开发方法/产品线/软件复用/逆向工程
  • 原文地址:https://blog.csdn.net/Leo_Chenjy/article/details/127711941