贪吃蛇
背景知识:
在分析贪吃蛇项目之前,我们需要弄懂一些除了c语言语法之外的一些知识
控制台程序(console):
什么是控制台程序?
也叫做终端
我们在电脑上打开的cmd,或者命令提示符,打开的就是控制台程序
在控制台窗口中执行系统命令
参考mode命令:
1 修改控制台窗口长宽,即控制台窗口的大小:例如:mode con cols=100 lines=30
(这里截图演示没有意义,请大家自己演示一下,在输入命令时,cols=100 中三个字符中间不能有空格,lines=30 也是同样规定不然会报错)
参考title命令:
2 修改控制台窗口的名称:
title 贪吃蛇
windows控制台主机与windows终端的差异
如上图显示:
两个显示页面的名称相同,均是调试控制台,
就是说,这个控制台和终端本质上都是一样的,但是控制台主机是vs在用,而终端是电脑在用
所以如果程序运行后,显示第一个页面,则需要修改成第二个页面:
将默认终端应用程序改为windows 控制台主机
在程序中执行系统命令,设定窗口信息
在程序运行后,会自动跳出控制台窗口,但是控制台窗口的信息不能由我们手动设定,就像我们玩游戏总不能自己设定游戏界面,它应该在程序中事先设定:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main() {
//关于这些能在控制台窗口执行的命令也能够在c语言中system函数中执行
// system函数包含在stdlib.h文件中
system("mode con cols=30 lines=30");
system("title 贪吃蛇");
getchar();// 加上这条语句是为了可以看到修改后的控制台窗口
return 0;
}
控制台窗口上的坐标:
在显示的控制台窗口上,其实是有坐标系的,在WindowsAPI(下面会讲解到)中定义了一个标识坐标的结构体:
COORD 表示一个字符在控制台窗口上的坐标位置,坐标(0,0)位于控制台窗口顶部左侧单元格位置,
如图:
下面是windows定义的结构:
横着的是x轴,纵着的是y轴
代码:
#include<windows.h>
int main() {
//这是我们定义的几个控制台窗口的坐标
COORD pos1 = {
0,0 };
COORD pos2 = {
2,2 };
return 0;
}
查询关于本系统的API文档:
这只是常规的查找方式,如果要有特定目标的查找,可以直接在Microsoft的输入框中查找,比如查找COORD
步骤1:
步骤2:下拉,找:
步骤三:搜索与控制台有关的文档:
步骤4:找到控制台API
步骤5:
Win32 API函数
windows这个多作业处理系统,除了分配资源,管理内存,协调应用程序执行之外,还是一个大型服务中心,
由相应的函数实现诸多服务,可以帮应用达到开启视窗,描绘图形,使用周边设备等目的。
由于这些函数服务的对象是应用程序,所以称其为Application Programming interface
简称API函数 ,Win32 API即 Microsoft Windows32位 平台提供的API函数即应用程序编程接口。
小贴士:32位系统与64位系统的差别在什么地方,“位”又指什么?
其中 位是指:计算机处理器的数据位数,32位即指32个比特位,64位指64个比特位
32位系统与64位系统在处理器寻址,内存支持与性能方面存在一些差异:
1 寻址范围:在32位系统中,由于处理器的数据位数是32位,所以其寻址范围只能是2^32即4GB,而在64位系统中寻址范围是2 ^64。
2 内存支持:32位系统