blog icon indicating copy to clipboard operation
blog copied to clipboard

整理:10年前C语言写的几个Windows字符界面经典小游戏(贪吃蛇、迷宫、俄罗斯方块)

Open diamont1001 opened this issue 2 years ago • 0 comments

最近整理了下10年前用C语言写的几个经典小游戏,都是基于 Windows 的 Win-Api 实现的 字符界面展示,感觉还是挺有意思的,现在回看代码很多都已经忘记了。

有兴趣的可以去下载体验一下(需要 Windows 机器),每个项目的 /bin/release 文件夹下载下来都是编译好可运行的程序。

游戏引擎

所谓游戏“引擎”也是自己实现的,其实就是一个简单的 定时器,不停的轮询,每隔一小段时间就去检测一下数据状态,通过数据的改变不停的刷新页面的展示。

游戏开发核心思想

这类小游戏的开发,有几个核心概念:定时器、状态数据、控制器、图形渲染

  • 定时器:loop(数据 => 界面展示)
  • 状态数据:有限状态机、数据
  • 控制器:接收外部输入(键盘、鼠标、手柄等),改变数据和游戏状态(不用管界面展示)
  • 图形渲染:不同的平台和终端,会有不同的渲染引擎(比如这个例子都是基于 Windows Win-Api 实现的字符界面展示)

一、贪吃蛇

snake

贪吃蛇H5版

之前在学习前端开发的时候,也把贪吃蛇改编成 H5 版本 的,点击打开可玩。

h5 snake

二、迷宫小游戏

迷宫地图的生成算法是参考 “图的深度优先算法” 自己写的。

maze maze

三、俄罗斯方块

tetris

diamont1001 avatar Aug 02 '21 21:08 diamont1001