C/C++知识点之cpp学习(四)贪食蛇—绘制静态图形
小标 2019-03-14 来源 : 阅读 613 评论 0

摘要:本文主要向大家介绍了C/C++知识点之cpp学习(四)贪食蛇—绘制静态图形,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之cpp学习(四)贪食蛇—绘制静态图形,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

C/C++知识点之cpp学习(四)贪食蛇—绘制静态图形

首先,我们先来理一下大致思路。
首先,要有地图,再有蛇,还要有食物
那我们就先画一张地图出来吧!
画地图的过程中,光标在不断移动,包括只有贪食蛇的移动,也都是光标移动后的打印与擦除,因此,我们先定义一个设置屏幕光标的函数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+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程