1 前两天csdn炸了,发不了,发群里了,今天一起补上。
2
← 23 →
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️↑
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️2
◼️ ◼️0
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️↓
这个就是贪吃蛇的边界
现在我们要在随机的一个位置产生一条蛇,首先我们假定蛇长◼️◼️◼️,蛇头朝我们可以看到蛇的边界有20行,23列。
想要在随机的一个位置里产生一条蛇,我们就要用到 srand() rand() 这个函数左,
首先我们可以设置一个函数叫做 void setsnakerandpos(),然后我们用 x y坐标来确定蛇的位置, int nx=-1,ny=-1;
← 23 →
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️↑
◼️ ◼️
◼️ ◼️
◼️ ◼️◼️◼️ ◼️ 我们随机产生蛇的位置,但是蛇必须在边界范围之内,我们首先看行,(0-22)所以,x属
◼️ ◼️ 于(1-19),同理y属于(1-18),为了产生(1-19),我们可以用随机数取于再加一,(1-19)
◼️ ◼️ 可以表示为nx=rand%19+1;,(1-18),可以表示为rand()%18+1;
◼️ ◼️
◼️ ◼️
◼️ ◼️2
◼️ ◼️0
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️ ◼️
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️↓
产生随机数可以用系统内部的时间函数,这样可以保证多样性,
srand((unsigned)time_(NULL)); ⥤ 头文件是#include<time.h>
[2]画蛇,画蛇添足有两种方法1、链表 2、数组。 由于数组比较简单,所以我选择数组。
◼️◼️◼️,蛇在边界中要有三个元素来表示它的一个结点, x坐标,y坐标,还有运行方向z。
因为我们这是很多节的小蛇。所以我们可以创建二维数组 20行3列。
x | y | z |
int arrsnake[20][3]={0};
方向函数 enum{to_east,to_west,to_noth,to_south}
我们出使方向就是向西。
void setsnakerandpos()
{
int nx=-1,ny=-1;
stand((unsigned int)time(NULL));
nx=rand%19+1;
ny=rand%18+1;
int arrsnake[20][3];
arrsnake[0][0]=ny;
arrsnake[0][1]=2nx;
arrsnake[0][2]=to-west;
arrsnake[0][0]=ny;
arrsnake[0][1]=2nx+2;
arrsnake[0][2]=to-west;
arrsnake[0][0]=ny;
arrsnake[0][1]=2nx+4;
arrsnake[0][2]=to-west;
}