接上文<C/C++编程笔记:C语言贪吃蛇源代码控制台(一),会动的那种哦!>如果你在学习C语言开发贪吃蛇的话,零基础建议从上一篇开始哦!接下来正式开始吧! 三.蛇的运动 上次我已经教大家画出蛇了,现在我就教大家让蛇动起来.为了让大家更好理解,蛇的移动就用最简单的办法,这里就不用链表,顺序队列什么的了.蛇的移动就是头往前移动,然后后面的身体移动到前一节身体原来的位置上.就像这样: 那蛇头怎么办呢? 为了确定蛇头的位置,我们定义一个变量原来存储蛇现在的方向. intdirection;    //…
前几天有个同学加我QQ私聊我说他们老师布置了一个贪吃蛇,他不知道怎么写所以来找我求解,我给他简单讲解了思路和一些难点之后他也能够自己独立将项目完成了!考虑到更多同学可能有贪吃蛇上的问题,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家可能C语言未学完,这个教程只涉及数组和函数等知识点. 一.画地图 首先我们使用宏定义来定义两个常数,地图的高(H)和地图的宽(W) #defineH 20 #defineW 20 这样写的好处是以后改变地图的大小就不用更改写好的代码了,只要修…
c语言贪吃蛇详解3.让蛇动起来 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 上次我已经教大家画出蛇了,现在我就教大家让蛇动起来.为了让大家更好理解,蛇的移动就用最简单的办法,这里就不用链表,顺序队列什么的了.蛇的移动就是头往前移动,然后后面的身体移动到前一节身体原来的位置上. 就像这样: int i; ;i<;i--) //从尾巴开始,每一个点的位置等于它前面一个点的位置 {…
c语言贪吃蛇详解-2.画出蛇 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 蛇的身体就是一些点,我们可以用二维数组把这些点的坐标存起来. 先声明一个足够大的二维数组.虽然我觉得你们玩不了这么长(手动滑稽). int s[H*W][2]; 这样s[0][0]表示蛇头的i坐标,s[0][1]表示蛇头的j坐标.s[i][0]表示蛇第i+1个点的i坐标.s[i][1]同理. 然后再声明一…
c语言贪吃蛇详解-1.画出地图 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 首先我们使用宏定义来定义两个常数,地图的高(H)和地图的宽(W) #define H 20 #define W 20 这样写的好处是以后改变地图的大小就不用更改写好的代码了,只要修改下宏定义.节省了时间又避免改出bug 接下来,我们定义一个二维数组,这个二维数组的每一个值刚好对应了平面的每一个点,这样就…
c语言贪吃蛇详解5.GameOver功能与显示成绩 以前我们已经做出来了一个能吃东西变长的蛇.不过它好像不会死... 现在就来实现一下game over的功能吧. 写个函数判断蛇是否撞到自己或者撞到墙: bool gameOver() { bool isGameOver=false; ][],sY=s[][]; //蛇头的x坐标和y坐标 ||sX==H-||sY==||sY==W-) isGameOver=true; ; i<sLength; i++) //判断有没有吃到自己 { ]==sX&…
c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 通过前几次的教程,我们已经做出来了能上下左右跑的小蛇了.现在我们就先来做下食物投放吧. 食物投放的基本思想是在地图上随机找一个没有蛇身也没有障碍物的地方,然后把这个地方的地图数组值标记为-1(前面我们让空地为0,障碍物为1). 我们先来写一个函数来判断一个点是不是符合上面的条件. int ch…
下面是下载位置,我把他们上传到我的文件下了. C语言贪吃蛇:https://files.cnblogs.com/files/ITXiaoAng/%E8%B4%AA%E5%90%83%E8%9B%87.rar python天天酷跑:https://files.cnblogs.com/files/ITXiaoAng/%E5%A4%A9%E5%A4%A9%E9%85%B7%E8%B7%91.zip 30s: https://files.cnblogs.com/files/ITXiaoAng/%E7%B…
思路:函数gotoxy(x,y)使光标移植屏幕的x,y坐标(屏幕左上角为0,0),用来绘制蛇和界面,color()函数用来设置绘制的颜色.设有snakelong节,第i节蛇的x坐标为x[i],y坐标为y[i],以用户设置重新绘制蛇, 根据键盘输入控制蛇头(x[1],y[1])的坐标,然后绘制蛇头,并且擦掉蛇尾(x[snakelong],y[snakelong]),每次更新界面时判断蛇头是否和蛇身相交或者与墙壁相交,如果有则退出循环结束游戏,每次更新界面 判断蛇头是否和苹果(使蛇变长)相交,相交的…
一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数组 Windows API函数 三.具体实现 先来实现静态页面,把地图.初始蛇身.食物搞定. 这里需要用到Windows API的知识,也就是对控制台上坐标的修改 //这段代码来自参考1 void Pos(int x, int y)   {       COORD pos;       HANDLE…