当前位置: 首页 > news >正文

[项目实战2]贪吃蛇游戏

目录

贪吃蛇游戏::

一、游戏效果及功能实现:

                                        1.规则

                ​​​​​​​        ​​​​​​​        ​​​​​​​        2.基本功能实现

                ​​​​​​​        ​​​​​​​        ​​​​​​​        3.技术要点

                ​​​​​​​        ​​​​​​​        ​​​​​​​        4.实现思路

                ​​​​​​​        ​​​​​​​        ​​​​​​​        5.游戏效果呈现

二、Win32 API介绍

                ​​​​​​​        ​​​​​​​        ​​​​​​​        1.WindowsAPI函数简单介绍

                ​​​​​​​        ​​​​​​​        ​​​​​​​        2.控制台程序(Console)

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        cmd命令窗口打开方式

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        控制cmd控制台的长度宽度命令

                       ​​​​​​​        ​​​​​​​        ​​​​​​​         title命令

                ​​​​​​​        ​​​​​​​        ​​​​​​​        3.vs中的控制台窗口

                ​​​​​​​        ​​​​​​​        ​​​​​​​        4.设置控制台相关属性

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        system函数执行系统命令5.控制台屏幕上的坐标COORD

                ​​​​​​​        ​​​​​​​        ​​​​​​​        5.GetStdHandle函数

                ​​​​​​​        ​​​​​​​        ​​​​​​​        6.GetConsoleCursorInfo函数(检测光标大小和可见性)

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        CONSOLE_CURSOR_INFO

                ​​​​​​​        ​​​​​​​        ​​​​​​​        7.SetConsoleCursorInfo(设置光标大小和可见性)

                ​​​​​​​        ​​​​​​​        ​​​​​​​        8.SetConsoleCurPosition(设置光标坐标位置)

                ​​​​​​​        ​​​​​​​        ​​​​​​​        9.GetAsyncKeyState(获取键盘虚拟键值)

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        检测键盘输入的内容:"虚拟键代码"

三、贪吃蛇游戏设计与分析

                ​​​​​​​        ​​​​​​​        ​​​​​​​        1.地图/界面

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        本地化

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        类项

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        setlocale函数

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        打印宽字符

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        地图坐标

                ​​​​​​​        ​​​​​​​        ​​​​​​​        2.蛇身与食物

                ​​​​​​​        ​​​​​​​        ​​​​​​​        3数据结构设计

四、具体代码实现

                ​​​​​​​        ​​​​​​​        ​​​​​​​        1.文件管理

                ​​​​​​​        ​​​​​​​        ​​​​​​​        2.头文件的声明准备

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        define预处理

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        蛇的状态、游戏状态的枚举类型声明

                ​​​​​​​        ​​​​​​​        ​​​​​​​        3.控制台的定位

                ​​​​​​​        ​​​​​​​        ​​​​​​​        4.隐藏光标

                ​​​​​​​        ​​​​​​​        ​​​​​​​        5.游戏界面初始化

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​欢迎界面

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        游戏说明界面

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        游戏准备界面

                ​​​​​​​        ​​​​​​​        ​​​​​​​        6.蛇的初始化

                ​​​​​​​        ​​​​​​​        ​​​​​​​        7.食物的生成

                ​​​​​​​        ​​​​​​​        ​​​​​​​        8.游戏的初始化

                ​​​​​​​        ​​​​​​​        ​​​​​​​        9.蛇的移动

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        蛇头出现

                ​​​​​​​        ​​​​​​​        ​​​​​​​        10.吃食物

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        判定食物

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        蛇移动、吃食物变长的逻辑

                 ​​​​​​​        ​​​​​​​        ​​​​​​​        11.死亡判定

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        撞墙死亡

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        撞到自身死亡

                ​​​​​​​        ​​​​​​​        ​​​​​​​        12.键盘操控相关

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        加速减速

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        空格暂停

                ​​​​​​​        ​​​​​​​        ​​​​​​​        13.GameStart函数

                ​​​​​​​        ​​​​​​​        ​​​​​​​        14.GameRun函数

                ​​​​​​​        ​​​​​​​        ​​​​​​​        15.GameEnd函数

五、贪吃蛇源代码展示:

                        ​​​​​​​        ​​​​​​​        snake.h

                        ​​​​​​​        ​​​​​​​        snake.c

                        ​​​​​​​        ​​​​​​​        ​​​​​​​test.c


贪吃蛇游戏::

一、游戏效果及功能实现:

1.规则

2.基本功能实现

3.技术要点

4.实现思路
5.游戏效果呈现

二、Win32 API介绍

1.WindowsAPI函数简单介绍

2.控制台程序(Console)

        cmd命令窗口打开方式

        控制cmd控制台的长度宽度命令

        title命令

3.vs中的控制台窗口

4.设置控制台相关属性

        system函数执行系统命令
5.控制台屏幕上的坐标COORD

6.GetStdHandle函数

7.GetConsoleCursorInfo函数(检测光标大小和可见性)

        CONSOLE_CURSOR_INFO

8.SetConsoleCursorInfo(设置光标大小和可见性)

9.SetConsoleCurPosition(设置光标坐标位置)

10.GetAsyncKeyState(获取键盘虚拟键值)

        检测键盘输入的内容:"虚拟键代码"

三、贪吃蛇游戏设计与分析

1.地图/界面

<locale.h>本地化

类项

setlocale函数

打印宽字符

地图坐标

2.蛇身与食物

3数据结构设计
四、具体代码实现

1.文件管理
2.头文件的声明准备

define预处理

蛇的状态、游戏状态的枚举类型声明

3.控制台的定位

4.隐藏光标

5.游戏界面初始化

        欢迎界面

        游戏说明界面

        游戏准备界面

6.蛇的初始化

7.食物的生成

8.游戏的初始化

9.蛇的移动

        蛇头出现

10.吃食物

        判定食物

        蛇移动、吃食物变长的逻辑

 11.死亡判定

        撞墙死亡

        撞到自身死亡

12.键盘操控相关

        加速减速

        空格暂停

13.GameStart函数

14.GameRun函数

15.GameEnd函数

五、贪吃蛇源代码展示:

        Snake.h

        Snake.c

        Test.c

http://www.lryc.cn/news/517260.html

相关文章:

  • 关于FPGA中添加FIR IP核(采用了GOWIN EDA)
  • 1. 使用springboot做一个音乐播放器软件项目【前期规划】
  • 【Dify】Dify自定义模型设置 | 对接DMXAPI使用打折 Openai GPT 或 Claude3.5系列模型方法详解
  • 【Rust自学】10.8. 生命周期 Pt.4:方法定义中的生命周期标注与静态生命周期
  • 121 买入股票的最佳时机
  • PID学习资料
  • 采用标准化的方式开展设计-研发中运用设计模式
  • 【Linux系列】并发与顺序执行:在 Linux 脚本中的应用与选择
  • Scala语言的数据库交互
  • 字节青训十五题-Java-数字字符串格式化
  • 搭建一个本地轻量级且好用的学习TypeScript语言的环境
  • apex安装
  • 会员制电商创新:开源 AI 智能名片与 2+1 链动模式的协同赋能
  • Vue 3 和 Electron 来构建一个桌面端应用
  • 生物医学信号处理--绪论
  • STM32之CAN通讯(十一)
  • 在macOS上安装MySQL
  • netty解码器LengthFieldBasedFrameDecoder用法详解
  • 在循环链表中用头指针和用尾指针的好处
  • java项目之网上租贸系统源码(springboot+mysql+vue)
  • 我用AI学Android Jetpack Compose之入门篇(3)
  • get和post有什么区别
  • 编排式 Saga 模式
  • QT 下拉菜单设置参数 起始端口/结束端口/线程数量 端口扫描4
  • 缓存-Redis-常见问题-缓存击穿-永不过期+逻辑过期(全面 易理解)
  • 137. 只出现一次的数字 II
  • 【力扣热题100】—— Day18.将有序数组转换为二叉搜索树
  • PyTorch 官方文档 中文版本
  • 电力智能问答RAG: 多问题生成、思维链提示生成;混合编码和重排序策略
  • C#高级:递归4-根据一颗树递归生成数据列表