前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【小游戏模板】贪吃蛇(一)

【小游戏模板】贪吃蛇(一)

作者头像
程序员周同学
发布2019-07-23 10:37:14
4930
发布2019-07-23 10:37:14
举报
文章被收录于专栏:程序员周同学程序员周同学

01

前言

年也过完啦

我在过年期间也是成功完成了贪吃蛇小游戏

今天给大家讲一下关于贪吃蛇蛇身的建立方法

02

思路

我是使用链表建立的贪吃蛇蛇身。

使用链表可以更方便的表示每节蛇身的坐标

而且更加方便的找到下一节蛇身

这里我们要使用一个函数叫定位函数

他的定义如下

void Pos(int x, int y)

{

COORD scrn;

HANDLE hOuput=GetStdHandle(STD_OUTPUT_HANDLE);

scrn.X = x; scrn.Y = y;

SetConsoleCursorPosition(hOuput, scrn);

}

(当然,函数名随意) 这个函数的主要作用是将光标的位置移动

比如调用的时候使用Pos(0,5);

那么 光标将会在第五行开头出现;

这里要注意,在控制台中横坐标标度是纵坐标的二分之一

也就是说你定位Pos(10,5);

才会显示在你以为的那个正方形顶角

03

方法

首先我们要定义一个蛇的结构体

至于为什么链表头是蛇尾

下节蛇身移动中讲

如上草图

我们只需要给蛇的结点初始坐标,然后使用定位函数

Pos(x,y);

再打印一个方块;

printf("");

如此循环,直到链表尾

实际上就是一个链表遍历的过程;

蛇身的建立就是单链表的创建;

只不过是直接创建好,而不是依次输入数据创建;

可以看数据结构与算法专栏中的《单链表操作》

04

源程序

首先是结构体创建

定位函数的声明

蛇身的创建

打印蛇(白块表示蛇头)

方块图形在百度上找,然后复制粘贴

05

后话

在主函数中先调用创建蛇的函数,再打印蛇

下一节告诉大家怎么让蛇动起来

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员周同学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档