C语言·贪吃蛇游戏(上)
1. 游戏任务
使用C语言在Windows环境的控制台中模拟实现小游戏贪吃蛇
游戏中要包含以下功能:
1. 贪吃蛇地图绘制
2. 贪吃蛇上下左右移动和吃食物
3. 蛇撞墙,或撞到自身死亡
4. 计算得分
5. 蛇身加速、减速
6. 暂停游戏
2. Win32 API 介绍
Windows是一种多作业的操作系统(同时进行多个任务进程),它除了协调应用程序的执行、分配内存、管理资源之外。它还是一个很大的服务中心,服务中心有很多函数接口,我们可以通过调用这些函数或者说是服务,来帮助应用程序达到开启视窗、描绘图形、使用周边设备等功能。由于这些服务的对象是应用程序,所以我们把这些服务称为 Application Programming Interface (应用程序编程接口) 简称API函数
2.1 控制台程序(Console)
首先操作系统是win11的朋友们要注意了,我们运行程序的时候弹出的那个黑色窗口不是控制台,而是win11新提供的终端窗口,在终端窗口中是不能实现控制台程序中的一些功能的
上面这个窗口就是终端窗口,下面我们讲解如何改成控制台窗口
鼠标放到下箭头上,然后选择设置
在启动中选择Windows控制台主机,并保存
下次再运行起来的就是控制台窗口了
下面我们介绍两个控制台程序命令:
2.1.1 设置控制台的大小
mode con cols=100 lines=30
当我们把这段命令敲到cmd里头之后就会发现窗口的大小改变了
cols 控制的是列,lines 控制的是行,现在我们就可以根据喜好控制游戏窗口的大小了
2.1.2 设置控制台的名字
title 贪吃蛇
现在可以注意到,控制台窗口的名字变成了贪吃蛇
2.1.3 system()函数
上面我们是在cmd中进行的操作,那么我们如何把这些操作写进C程序中呢,这时就用到了system函数,system函数就相当于帮你把内容输入到控制台中了,这个函数需要引用头文件<stdlib.h>
int system (const char* command);
官网链接:system - C++ Reference
上面我们展示了一下使用的效果,我们将窗口大小和名字都修改了,但是我在最后输入了一个pause暂停的语句,这是因为如果不暂停的话程序就直接结束了,紧接着刚刚输入的这些命令就失效了,那我们就看不到效果了。
2.2 控制台屏幕上的坐标 COORD
COORD 是Windows API中定义的一个结构体,表示一个字符在控制台屏幕缓冲区上的坐标,坐标系原点(0,0)位于缓冲区的顶部左侧单元格