C++控制台小游戏
游戏入门编程-C++
简介
开发几个复古风格的小游戏,并采用C++语言进行制作。这些游戏未包含复杂的玩法机制,仅专注于基础功能的设计与实现。
运行说明
运行平台是Windows
在项目完成之后,在项目的根目录中获取压缩文件包或通过git手段实现代码托管同样支持CMake工程配置的工具(但需确保开发环境配置到位),VS 2015等版本也能处理)。随后将工程拖入Clion环境中并完成基本设置后即可开始项目开发
git clone https://github.com/lw1243925457/LearnGameC.git
代码解释
环境配置可作为参考使用该GitHub仓库中的代码
游戏目录
- 数字雨(在电影中展示了一个令人眼花缭乱的画面库...为了简化实现难度...我们采用了*和#作为填充元素)
- 推箱子(经典单人游戏...玩家通过推动方块到达特定位置...操作相对直观)
- 贪吃蛇(经过改进增加了复杂度...玩家需仔细规划路线以避免被困住)
- 俄罗斯方块(由于特殊符号可能导致混乱...最终决定使用*和#作为填充元素...)
- 太空射击(暂无死亡限制...部分功能尚未完善需后续优化)
数字雨
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uMWmr08a-1581489036627)
推箱子
简介:
* 简单的推箱子游戏,将所有箱子推到目的地即可
游戏符号标记:
* 障碍物:#
* 主角:* * 箱子:$
* 目的地:@
* 箱子+目的地:!
* 人物+目的地: R
游戏控制:
* 上下左右键进行移动控制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRMi600Q-1581489036629)
贪吃蛇
简介:
* 贪吃蛇游戏,吃豆子变长
游戏符号标记:
* 障碍物:#
* 蛇头:0
* 蛇身:o
* 豆子:*
游戏控制:
* 上下左右键进行移动控制
* 空格开始游戏
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I2jqBHdH-1581489036629)
俄罗斯方块
简介:
* 俄罗斯方块
游戏符号标记:
* 障碍物:#
* 方块:*
游戏控制:
* 下左右键进行移动控制
* 空格进行变换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yu4A0JO9-1581489036630)
太空射击
简介:
* 太空射击,简单的射击类游戏
游戏符号标记:
* 主角:A
* 子弹:I
* 敌机:V
游戏控制:
* 下左右键进行移动控制
* 空格进行射击
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SOCoEpLn-1581489036630)
编写过程中的参考链接
通过C/C++捕获系统时间戳,并达到毫秒级精度的具体参考文献如下:
使用C++开发一个定时输入管理模块。该模块设计目标是在规定时间内完成输入任务;当超出指定时间后将自动触发特定行为以完成其他操作;完整代码及详细说明可参考:
CLion 输出出现乱码的处理方案:
win10 Clion debug 使用 cmd控制台:
C++ 中的容器类详解:
C编程语言采用双重缓存机制实现抗蓝光显示技术的终端界面:
控制台双缓冲技术:https://www.cnblogs.com/xdblog/p/4783364.html
相关技术:探讨如何通过编程手段调整Windows操作系统的控制台窗口尺寸,并附有详细的操作步骤说明。参考链接:https://www.cnblogs.com/iloverain/p/5642588.html
C语言/C++编程大师精心打造炫目且富有挑战性的编程艺术:https://www.jianshu.com/p/4dde809eb039
C/C++实现控制台输出不同颜色字体的方法:https://www.jb51.net/article/124054.htm
请使用C++的SetConsoleTextAttribute方法来调整控制台显示效果:
在平面上任意一点绕着某一定点旋转θ角度后的坐标位置可以通过以下公式计算:x' = x\cos\theta - y\sin\theta + a;y' = x\sin\theta + y\cos\theta + b其中(a, b)为旋转中心坐标的参数值
俄罗斯方块的相关算法:https://zhuanlan.zhihu.com/p/32122479
如何在VC 6.0 中显示特定符号例如一个黑色实心圆圈:
