摘要:本文主要向大家介绍了C/C++知识点之cpp学习(四)贪食蛇—绘制静态图形,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了C/C++知识点之cpp学习(四)贪食蛇—绘制静态图形,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
首先,我们先来理一下大致思路。
首先,要有地图,再有蛇,还要有食物
那我们就先画一张地图出来吧!
画地图的过程中,光标在不断移动,包括只有贪食蛇的移动,也都是光标移动后的打印与擦除,因此,我们先定义一个设置屏幕光标的函数setPos(),
void SetPos(int nX, int nY) //设置光标的位置
{
COORD cPos;
/* 可以将光标至于COORD上,按F12查看COORD的定义,是一个坐标结构体,
函数也可以,将光标置于一个函数名上,F12即可转到定义
转到定义后,按ctrl+减号,即可退回原位置。 */
HANDLE hOutPut; //句柄变量,在此不做讲解,属于Windows里的知识
cPos.X = nX;
cPos.Y = nY;
hOutPut = GetStdHandle(STD_OUTPUT_HANDLE); //以下两个都是Windows的系统函数,用来设置光标的位置
SetConsoleCursorPosition(hOutPut, cPos); //在此,我们将构建好的坐标传入,即可设置光标位置
//对于Windows系统函数不必深究,如果想要学习Windows开发可以了解一下
}
通过不断改变光标位置,在合适的位置打印即可绘制出想要的地图。
在此我们画一张40*40的地图
void DrawMap()//创建地图
{
int i;
for (i = 0; i < 80; i += 2)//打印上下边框
{
Pos(i, 0);
printf("■");
Pos(i, 40);
printf("■");
}
for (i = 1; i < 40; i++)//打印左右边框
{
Pos(0, i);
printf("■");
Pos(80, i);
printf("■");
}
}
现在先来运行一下程序:
运行后结果:
简易的地图已经画好了
现在我们再来画蛇,
首先,蛇身是一个不定长的线性数据结构,在此我们采用链表的方式来存储,
typedef struct _SNACK {
int x;
int y;
struct _SNACK* next;
}SNACK;
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号