[项目实战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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/949911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM实战—OOM的定位和解决

1.如何对系统的OOM异常进行监控和报警 (1)最佳的解决方案 最佳的OOM监控方案就是&#xff1a;建立一套监控平台&#xff0c;比如搭建Zabbix、Open-Falcon之类的监控平台。如果有监控平台&#xff0c;就可以接入系统异常的监控和报警&#xff0c;可以设置当系统出现OOM异常&…

照片做成图书小程序开发制作介绍

照片做成图书小程序系统&#xff0c;主要是让用户直接通过小程序选择需要做成书的类型和照片排版布局模板&#xff0c;以及上传照片的数量。照片上传完成后&#xff0c;生成模板图片样式进行预览或编辑修改。修改完成全部保存。保存后生成完整的照片书进行预览没问题&#xff0…

云商城--业务+架构学习和环境准备

云商城业务架构学习和环境准备 B2B&#xff1a;Business to Business&#xff0c;交易双方的身份都是商家&#xff0c;也就是商家将商品卖给商家&#xff0c;类似采购、批发类购物&#xff0c;国内代表性网站阿里巴巴批发网 C2C&#xff1a;Customer to Customer&#xff0c;…

Elasticsearch:Lucene 2024 年回顾

作者&#xff1a;来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中&#xff0c;我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色&#xff0c;发布了许多版本&#xff0c;包括三年来的首次重大更新&#xff0c;其中包含令人兴奋…

基于LabVIEW的BeamGage自动化接口应用

设置 National Instruments LabVIEW可执行程序需要被配置为使用.NET 4框架。.NET允许自定义可执行程序的运行方式。可通过以下方式实现&#xff1a; 在LabVIEW安装目录中创建一个名为LabVIEW.exe.config的文本文件&#xff08;例如&#xff1a;C:\Program Files\National Ins…

卸载干净 IDEA(图文讲解)

目录 1、卸载 IDEA 程序 2、注册表清理 3、残留清理 1、卸载 IDEA 程序 点击屏幕左下角 Windows 图标 -> 设置-控制面板->intellij idea 勾选第一栏 Delete IntelliJ IDEA 2022.2 caches and local history&#xff0c;表示同时删除 IDEA 本地缓存以及历史。 Delete I…

李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide

第一步&#xff1a;分析loss on training data 先检查在训练数据上模型是否很好的学习 情况1&#xff1a;如果在训练集上&#xff0c;loss很大&#xff0c;说明在训练资料上没有训练好 可能性1&#xff1a;设置的模型太简单了&#xff0c;模型存在model bias模型偏差&#x…

【C++】19.多态

文章目录 1. 多态的概念2. 多态的定义及实现2.1 多态的构成条件2.1.1 实现多态还有两个必须重要条件&#xff1a;2.1.2 虚函数 (Virtual Function)定义&#xff1a;特性&#xff1a;示例代码&#xff1a;代码分析1. 类定义部分2. 主函数部分运行结果 重点讲解1. 虚函数的作用2.…

光伏仿真与设计系统应用架构深度剖析

在光伏产业蓬勃发展的时代背景下&#xff0c;绿虫光伏仿真与设计系统成为推动其高效发展的核心力量。其应用架构涵盖多个关键步骤&#xff0c;每个环节都紧密相扣&#xff0c;共同构建起精准且高效的设计体系。 气象分析作为开篇之笔&#xff0c;起着基石般的重要作用。系统全…

进程间通讯

简介&#xff1a; 进程间通讯方式有&#xff1a; 1.内存映射&#xff08;mmap&#xff09;&#xff1a; 使用mmap函数将磁盘空间映射到内存 2.管道 3.信号 4.套接字&#xff08;socket&#xff09; 5.信号机制 通过进程中kill函数&#xff0c;去给另一个函数发送信号&a…

空压机接入配置实例:利用 MODBUS - TCP 转 Ethernet IP 网关实现连接

在工业自动化生产环境中&#xff0c;空压机作为重要的气源设备&#xff0c;其稳定运行和有效监控对于整个生产流程至关重要。然而&#xff0c;不同厂家生产的空压机可能采用不同的通信协议&#xff0c;这给集中监控和管理带来了挑战。在本次案例中&#xff0c;我们遇到的空压机…

基于 Boost.Asio 和 Boost.Beast 的异步 HTTP 服务器(学习记录)

已完成功能&#xff1a; 支持 GET 和 POST 请求的路由与回调处理。 解析URL请求。 单例模式 管理核心业务逻辑。 异步 I/O 技术和 定时器 控制超时。 通过回调函数注册机制&#xff0c;可以灵活地为不同的 URL 路由注册处理函数。 1. 项目背景 1.1 项目简介 本项目是一个基于…

Harmony开发【笔记1】报错解决(字段名写错了。。)

在利用axios从网络接收请求时&#xff0c;发现返回obj的code为“-1”&#xff0c;非常不解&#xff0c;利用console.log测试&#xff0c;更加不解&#xff0c;可知抛出错误是 “ E 其他错误: userName required”。但是我在测试时&#xff0c;它并没有体现为空&#xff0c;…

Spring源码分析之事件机制——观察者模式(二)

目录 获取监听器的入口方法 实际检索监听器的核心方法 监听器类型检查方法 监听器的注册过程 监听器的存储结构 过程总结 Spring源码分析之事件机制——观察者模式&#xff08;一&#xff09;-CSDN博客 Spring源码分析之事件机制——观察者模式&#xff08;二&#xff…

关于Mac中的shell

1 MacOS中的shell 介绍&#xff1a; 在 macOS 系统中&#xff0c;Shell 是命令行与系统交互的工具&#xff0c;用于执行命令、运行脚本和管理系统。macOS 提供了多种 Shell&#xff0c;主要包括 bash 和 zsh。在 macOS Catalina&#xff08;10.15&#xff09;之前&#xff0c…

【C++】20.二叉搜索树

文章目录 1. 二叉搜索树的概念2. 二叉搜索树的性能分析3. 二叉搜索树的插入4. 二叉搜索树的查找5. 二叉搜索树的删除6. 二叉搜索树的实现代码7. 二叉搜索树key和key/value使用场景7.1 key搜索场景&#xff1a;7.2 key/value搜索场景&#xff1a;7.3 主要区别&#xff1a;7.4 ke…

【大模型+本地自建知识图谱/GraphRAG/neo4j/ollama+Qwen千问(或llama3)】 python实战(中)

一、建立基本的知识图谱并导入neo4j 这里我举例用的属性表、关系表&#xff0c;大概格式如下 id名字颜色a1苹果红色 startrelenda1属于b1 启动neo4j&#xff08;关于neo4j的安装此处不再赘述&#xff09; import pandas as pd from py2neo import Graph, Node, Relationship…

【pyqt】(四)Designer布局

布局 之前我们利用鼠标拖动的控件的时候&#xff0c;发现一些部件很难完成对齐这些工作&#xff0c;pyqt为我们提供的多种布局功能不仅可以让排版更加美观&#xff0c;还能够让界面自适应窗口大小的变化&#xff0c;使得布局美观合理。最常使用的三种布局就是垂直河子布局、水…

解决“KEIL5软件模拟仿真无法打印浮点数”之问题

在没有外部硬件支持时&#xff0c;我们会使用KEIL5软件模拟仿真&#xff0c;这是是仿真必须要掌握的技巧。 1、点击“Project”&#xff0c;然后点击“Options for target 项目名字”&#xff0c;点击“Device”,选择CPU型号。 2、点击“OK” 3、点击“Target”,勾选“Use Mi…

【项目实战1】五子棋游戏

目录 C语言编程实现五子棋&#xff1a;&#xff1a; game.h game.c 1.打印菜单 2.打印棋盘 3.玩家下棋 4.判断五子连珠 5.判断输赢 6.游戏运行 game.c完整源代码展示 test.c C语言编程实现五子棋&#xff1a;&#xff1a; game.h #pragma once #include<stdio.h> …