C语言学习

现在带着大家一起来做贪吃蛇游戏,想学的速度进

2017-05-13  本文已影响128人  榆西带你飞

贪吃蛇游戏游戏代码

/*1 结构体保存蛇的信息  坐标  速度 长度

2 .初始化

3 .蛇的移动

4.输出蛇的样子

5.上下左右键盘 移动控制蛇的移动

*/

#include

#include//库函数

#define FrameX 4//游戏左上角坐标  宏

#define FrameY 4

#define Frame_height 20//高和宽

#define Frame_width 20

int i;

struct Snake

{

int x[100];//蛇的横纵坐标  0表示蛇尾

int y[100];

int length;//蛇的长度

int speed;//蛇的速度

};

void init_snake(struct Snake * snake)

{

snake->x[0] = 10;//横纵坐标初始化

snake->y[0] = 10;

snake->length = 4;

snake->speed = 300;

for(i=1;ilength;i++)

{

snake->x[i] = snake->x[i-1] +2;//中文字符两个宽度

snake->y[i] = snake->y[i-1];

}

}

// 光标定位函数

void GamePosition(HANDLE hout,int x,int y)

{

COORD pos;//也是类型

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition(hout,pos);//windows.h函数 把光标设置到pos处

}

//蛇的移动

void move_snake(HANDLE hout,struct Snake *snake)

{

GamePosition(hout,snake->x[0],snake->y[0]);//定位到蛇尾

printf("  ");//清除蛇尾

//坐标取代

for(i = 1;ilength;i++)

{

snake->x[i-1] = snake->x[i];

snake->y[i-1] = snake->y[i];

}

}

//c   linux的系统编程  3年权限  3个月一期

//输出蛇□

void show_snake(HANDLEhout,struct Snake * snake)

{

for(i=0;ilength;i++)

{

GamePosition(hout,snake->x[i],snake->y[i]);

if(i == 0)

printf("□");// 打印蛇尾

else if(i == snake->length-1)//蛇头

printf("◎");

else//蛇身

printf("●");

}

}

void start_game()

{

system("cls");

char ch;

HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//得到输出句柄

struct Snake s,*snake  = &s;

init_snake(snake);

while(1)

{

ch = getch();

switch(ch)

{

case 72://上

move_snake(hout,snake);

snake->y[snake->length-1] -= 1;//头纵坐标减一

break;

case 80://下

move_snake(hout,snake);

snake->y[snake->length-1] += 1;//纵坐标减一

break;

case 75://左

move_snake(hout,snake);

snake->x[snake->length-1] -= 2;//纵坐标减一

break;

case 77://右

move_snake(hout,snake);

snake->x[snake->length-1] += 2;//纵坐标减一

break;

}

show_snake(hout,snake);

}

}

int main()

{

//工作话

start_game();

return 0;

}

再多的文字也表达不完我们要学的东西,所以希望需要学习的朋友可以直接到腾讯课堂看视频学习。遇到问题可以加我们的学习群;群里面找老鸟给你们解答C/C++  JAVA 疑难杂题要编译器要离线视频可以加QQ群462127424群文件下载,记得加我好友哦QQ:2927929270

上一篇 下一篇

猜你喜欢

热点阅读