失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言编程贪吃蛇的不同功能 贪吃蛇C语言代码实现(难度可选)

c语言编程贪吃蛇的不同功能 贪吃蛇C语言代码实现(难度可选)

时间:2019-04-21 10:47:44

相关推荐

c语言编程贪吃蛇的不同功能 贪吃蛇C语言代码实现(难度可选)

本文实例为大家分享了C语言实现贪吃蛇的具体代码,供大家参考,具体内容如下

/*********************************************************

********************贪吃蛇(难度可选)********************

**************制作者:Xu Lizi 日期:/12/31********

********************部分函数有借鉴************************

**********************************************************/

#include

#include

#include

#include

#include

int snakey[100]={5,4,3,2,1}; /*定义蛇的横坐标*/

int snakex[100]={1,1,1}; /*定义蛇的纵坐标,蛇头起始位置为(5,1)*/

int life=0; /*定义蛇的生命,0表示存活,1表示死亡*/

int lenght=5; /*定义蛇的长度,初始为5节*/

char map[12][24]={"***********************",/*y*/

"* *","* *",/*x*/ "***********************"};

void put_money(int i,int j) /*放钱函数,使用随机数,随机出现食物*/

{

int x=0,y=0;

srand(time(NULL));

while ( (map[y][x]==003) || (map[y][x]==002) || (map[y][x]=='*') || ((x==i)&&(y==j)) )

{

x=rand()%21+1;

y=rand()%10+1;

}

map[y][x]='$';

return;

}

void output() /*输出*/

{

system("cls");

int i,j;

for(i=0; i<12; i++)

{

for(j=0; j<23; j++) printf("%c",map[i][j]);

printf("\n");

}

return;

}

void gameover() /*游戏结束*/

{

life=1;

printf("笨蛋,输了吧!!!\n");

return;

}

void turn_up() /*向上移动*/

{

system("cls");

int i;

if ( (snakex[0]==1) || (map[snakex[0]-1][snakey[0]]==003) ) gameover(); else {

if (map[snakex[0]-1][snakey[0]]=='$')

{

put_money( snakey[0],snakex[0]-1 );

lenght++;

map[snakex[lenght-1]][snakey[lenght-1]]=003;

}

for(i=lenght; i>0; i--)

{

snakex[i]=snakex[i-1];

snakey[i]=snakey[i-1];

}

map[snakex[lenght]][snakey[lenght]]=' ';

snakex[0]--;

for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003;

map[snakex[0]][snakey[0]]=002;

output();

}

return;

}

void turn_down() /*向下*/

{

system("cls");

int i;

if ( (snakex[0]==10) || (map[snakex[0]+1][snakey[0]]==003) ) gameover();else {

if (map[snakex[0]+1][snakey[0]]=='$')

{

put_money(snakey[0],snakex[0]+1);

lenght++;

map[snakex[lenght-1]][snakey[lenght-1]]=003;

}

for(i=lenght; i>0; i--)

{

snakex[i]=snakex[i-1];

snakey[i]=snakey[i-1];

}

snakex[0]++;

map[snakex[lenght]][snakey[lenght]]=' ';

for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003;

map[snakex[0]][snakey[0]]=002;

output();

}

return;

}

void turn_left() /*向左*/

{

system("cls");

int i;

if ( (snakey[0]==1) || (map[snakex[0]][snakey[0]-1]==003) ) gameover();else {

if (map[snakex[0]][snakey[0]-1]=='$')

{

put_money(snakey[0]-1,snakex[0]);

lenght++;

map[snakex[lenght-1]][snakey[lenght-1]]=003;

}

for(i=lenght; i>0; i--)

{

snakex[i]=snakex[i-1];

snakey[i]=snakey[i-1];

}

map[snakex[lenght]][snakey[lenght]]=' ';

snakey[0]--;

for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003;

map[snakex[0]][snakey[0]]=002;

output();

}

return;

}

void turn_right() /*向右*/

{

system("cls");

int i;

if ( (snakey[0]==21) || (map[snakex[0]][snakey[0]+1]==003) ) gameover();else {

if (map[snakex[0]][snakey[0]+1]=='$')

{

put_money(snakey[0]+1,snakex[0]);

lenght++;

map[snakex[lenght-1]][snakey[lenght-1]]=003;

}

for(i=lenght; i>0; i--)

{

snakex[i]=snakex[i-1];

snakey[i]=snakey[i-1];

}

map[snakex[lenght]][snakey[lenght]]=' ';

snakey[0]++;

for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003;

map[snakex[0]][snakey[0]]=002;

output();

}

return;

}

int main()

{

int i,timeover,hard;

long start;

char name,direcation;

printf("\n 向上移动:W ;向下移动:S ; 向左移动:A ; 向右移动:D \n");

printf("\t请选择难度(数字)\n\t分1~5级,分别代表\n\t1难,2中上,3中,4中下5,易:\n");

scanf("%d",&hard);

system("cls");

for(i=1;i<5;i++) map[1][i]=003; /*输出蛇身*/

map[1][5]=002; /*输出蛇头*/

put_money(0,0);

output();

while(life!=1) /*当蛇死亡时结束循环*/

{

/*让蛇自动运行的函数******有借鉴*/

timeover=1;

start=clock();

while((timeover=(clock()-start<=hard*100))&&!kbhit()); //难度设定

if(timeover)

{

direcation=getch();

}

/*让蛇自动运行的函数******有借鉴*/

switch(direcation)

{

case 'w':turn_up();break;

case 's':turn_down();break;

case 'a':turn_left();break;

case 'd':turn_right();break;

}

}

return 0;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是编程之家为你收集整理的贪吃蛇C语言代码实现(难度可选)全部内容,希望文章能够帮你解决贪吃蛇C语言代码实现(难度可选)所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

如果觉得《c语言编程贪吃蛇的不同功能 贪吃蛇C语言代码实现(难度可选)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。