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

news2025/1/8 21:11:03

目录

贪吃蛇游戏::

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

                                        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.coloradmin.cn/o/2273426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1. 使用springboot做一个音乐播放器软件项目【前期规划】

背景&#xff1a; 现在大部分音乐软件都是要冲会员才可以无限常听的。对于喜欢听音乐的小伙伴&#xff0c;资金又比较紧张&#xff0c;是那么的不友好。作为程序员的我&#xff0c;也是喜欢听着歌&#xff0c;敲着代码。 最近就想做一个音乐播放器的软件&#xff0c;在内网中使…

Flutter项目开发模版,开箱即用(Plus版本)

前言 当前案例 Flutter SDK版本&#xff1a;3.22.2 本文&#xff0c;是由这两篇文章 结合产出&#xff0c;所以非常建议大家&#xff0c;先看完这两篇&#xff1a; Flutter项目开发模版&#xff1a; 主要内容&#xff1a;MVVM设计模式及内存泄漏处理&#xff0c;涉及Model、…

配置数据的抗辐照加固方法

SRAM 型FPGA 的配置存储器可以看成是由0 和1 组成的二维阵列&#xff0c;帧的高度为矩阵阵列的高度&#xff0c;相同结构的配置帧组成配置列&#xff0c;如CLB 列、IOB 列、输入输出互联(Input Output Interconnect,IOI)列、全局时钟(Global Clock, GCLK)列、BRAM 列和BRAM 互联…

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前&#xff0c;请先学习Python的基础知识 其他路线&#xff1a; Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析&#xff08;数据科学&#xff09; >> Python 算法&#xff08;人工智能&#xff09; >> Pyth…

【Vue3项目实战系列一】—— 全局样式处理,导入view-ui-plus组件库,定制个性主题

&#x1f609; 你好呀&#xff0c;我是爱编程的Sherry&#xff0c;很高兴在这里遇见你&#xff01;我是一名拥有十多年开发经验的前端工程师。这一路走来&#xff0c;面对困难时也曾感到迷茫&#xff0c;凭借不懈的努力和坚持&#xff0c;重新找到了前进的方向。我的人生格言是…

SCAU期末笔记 - 数据库系统概念往年试卷解析

数据库搞得人一头雾水&#xff0c;题型太多太杂&#xff0c;已经准备摆烂了。就刷刷往年试卷&#xff0c;挂不挂听天由命。 2019年 Question 1 选择题 1. R ∩ S R∩S R∩S等于一下哪个选项&#xff1f; 画个文氏图秒了 所以选A. R ∩ S R − ( R − S ) R∩SR-(R-S) R∩…

oxml中创建CT_Document类

概述 本文基于python-docx源码&#xff0c;详细记录CT_Document类创建的过程&#xff0c;以此来加深对Python中元类、以及CT_Document元素类的认识。 元类简介 元类&#xff08;MetaClass&#xff09;是Python中的高级特性。元类是什么呢&#xff1f;Python是面向对象编程…

Fabric环境部署

官方下载文档&#xff1a;A Blockchain Platform for the Enterprise — Hyperledger Fabric Docs main documentation 1.1 创建工作目录 将Fabric代码按照GO语言的推荐方式进行存放&#xff0c;创建目录结构并切换到该目录下。具体命令如下&#xff1a; mkdir -p ~/go/src/g…

TCP与DNS的报文分析

场景拓扑&#xff1a; 核心路由配置&#xff1a; 上&#xff08;DNS&#xff09;&#xff1a;10.1.1.1/24 下(WEB)&#xff1a;20.1.1.1/24 左&#xff08;client&#xff09;&#xff1a;192.168.0.1/24 右(PC3)&#xff1a;192.168.1.1/24Clint2配置&a…

怎么管理电脑usb接口,分享四种USB端口管理方法

怎么管理电脑usb接口&#xff0c;分享四种USB端口管理方法 USB接口作为电脑重要的外部接口&#xff0c;方便了数据传输和设备连接。 然而&#xff0c;不加管理的USB接口也可能带来安全隐患&#xff0c;例如数据泄露、病毒传播等。 因此&#xff0c;有效管理电脑USB接口至关重…

教育咨询系统架构与功能分析

一、系统架构 服务端 服务端&#xff1a;Java&#xff08;最低JDK1.8&#xff0c;支持JDK11以及JDK17&#xff09;数据库&#xff1a;MySQL数据库&#xff08;标配5.7版本&#xff0c;支持MySQL8&#xff09;ORM框架&#xff1a;Mybatis&#xff08;集成通用tk-mapper&#x…

nginx http反向代理

系统&#xff1a;Ubuntu_24.0.4 1、安装nginx sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx 2、配置nginx.conf文件 /etc/nginx/nginx.conf&#xff0c;但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件&#xff0c;并在…

代码管理助手-Git

前言 Git 是一个版本控制系统&#xff0c;可以帮助你记录文件的每一次修改。这样&#xff0c;如果你在编程时不小心把代码写错了&#xff0c;可以很容易地回退到之前的版本。最重要的是&#xff0c;Git 是完全免费的&#xff0c;用户可以在自己的计算机上安装和使用 Git&#x…

注册中心如何选型?Eureka、Zookeeper、Nacos怎么选

这是小卷对分布式系统架构学习的第9篇文章&#xff0c;第8篇时只回答了注册中心的工作原理的内容&#xff0c;面试官的第二个问题还没回答&#xff0c;今天再来讲讲各个注册中心的原理&#xff0c;以及区别&#xff0c;最后如何进行选型 上一篇文章&#xff1a;如何设计一个注册…

WebRtc02: WebRtc架构、目录结构、运行机制

整体架构 WebRtc主要分为三层&#xff1a; CAPI层&#xff1a;外层调用Session管理核心层&#xff1a;包括视频引擎、音频引擎、网络传输 可由使用者重写视频引擎&#xff1a;编解码器、视频缓存、视频增强音频引擎&#xff1a;编解码器、音频缓存、回音消除、降噪传输&#x…

【Java】JVM内存相关笔记

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启动而一直存在&#xff0c;有些区域则是依赖用户线程的启动和结束而建立和销毁。 程序计数器&am…

基于springboot的网上商城购物系统

作者&#xff1a;学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”&#xff0c;支持远程部署调试、运行安装。 目录 项目包含&#xff1a; 开发说明&#xff1a; 系统功能&#xff1a; 项目截图…

STM32 拓展 低功耗案例3:待机模式 (hal)

配置PA0的两种方式&#xff1a; 第一种 第二种 复制寄存器代码然后对其进行修改 mian.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body…

VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

VLMs之Agent之CogAgent&#xff1a;《CogAgent: A Visual Language Model for GUI Agents》翻译与解读 导读&#xff1a;这篇论文介绍了CogAgent&#xff0c;一个专注于图形用户界面 (GUI) 理解和导航的视觉语言模型 (VLM)。这篇论文提出了一种新的视觉语言模型 CogAgent&#…

HTML+CSS+JS制作中华传统文化主题网站(内附源码,含5个页面)

一、作品介绍 HTMLCSSJS制作一个中华传统文化主题网站&#xff0c;包含首页、文化艺术页、传统工艺页、文化遗产页、关于我们页等5个静态页面。其中每个页面都包含一个导航栏、一个主要区域和一个底部区域。 二、页面结构 1. 顶部导航区 包含网站 Logo、主导航菜单&#xff…