专栏首页程序员周同学【小游戏模板】贪吃蛇(一)

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

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

后话

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

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

本文分享自微信公众号 - 程序员周同学(jay-ztx),作者:周同学c

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【数据结构】逆转链表

    数据结构与算法课程是我们学校大二才会开始教学的一门课,但是由于我要参加一些比赛需要用到相关结构与算法,只得提早学习相关知识,了解相关内容。今天开始,每当自己...

    程序员周同学
  • 实训任务——链表

    链表操作是我们在学习过程中的一大难点,也是一个非常重要的知识点,因为在之后C语言学习的过程中,很多结构模式图都可以在链表的基础上进行延伸。在初次接触的时候,可...

    程序员周同学
  • 【数据结构】单链表的增删改查

    单链表需要使用的函数指针操作小技巧计算单链表的长度创建单链表单链表插入数据单链表删除数据效率分析

    程序员周同学
  • 剖析Java OutOfMemoryError异常

    在JVM中,除了程序计数器外,虚拟机内存中的其他几个运行时区域都有发生OutOfMemoryError异常的可能,本篇就来深入剖析一下各个区域出现OOM异常的情...

    王金龙
  • 大数据,银行风险管理的金钥匙

    大数据文摘
  • Kafka2.6.0发布——性能大幅提升

    如果要从2.1.x之前的版本升级,请参阅以下注释,以了解用于存储使用者偏移量的架构的更改。将inter.broker.protocol.version更改为最新...

    实时计算
  • 【转载】Python自省

    原文作者: AstralWind 出处:博客园 原文链接:https://www.cnblogs.com/huxi/archive/2011/01/02/192...

    用户7886150
  • Nginx Rewrite 重写URI

    不知不觉 nginx主题的文章写了60+篇,有最早的也有最近的,有些是记录安装配置,有些是记录问题解决方法,内容质量有深也有浅参差不齐,随着技术迭代有些文章已经...

    用户1560186
  • 【独家】颠覆传统,告诉你一个不同于数据库的计算体系

    本文共2282字,建议阅读7分钟 本文为大家解读结构化数据的前沿动态。 [导读]数据库是当前数据分析中最重要的数据存在形式,但受其封闭性和关系代数四十年没有关键...

    数据派THU
  • 北欧中小型智慧城市的物联网方法

    Small-and-Smart-Scandinavian-medium-sized-cities-approach-to-IoT-min-1536x944-1....

    用户4122690

扫码关注云+社区

领取腾讯云代金券