sinat_38197748 2017-04-05 14:46 采纳率: 0%
浏览 1121

自己写的贪吃蛇代码,找不出bug,运行出来是黑屏,请大家帮忙看一下

#include
#include
#include

#include

#include
#include
#define N 4
struct snake
{ int x;
int y;
}snk[100];
struct food
{ int x;
int y;
}food;
void snake(int len)//初始化蛇身
{ int i=0;
srand(time(NULL));
snk[i].x=rand()%50+10;
snk[i].y=rand()%30+10;
switch(rand()%4)
{ case 0:
for(i=1;i {snk[i].x=snk[i-1].x+1;
snk[i].y=snk[i-1].y;}break;
case 1:
for(i=1;i {snk[i].x=snk[i-1].x-1;
snk[i].y=snk[i-1].y;}break;
case 2:
for(i=1;i {snk[i].x=snk[i-1].x;
snk[i].y=snk[i-1].y+1;}break;
case 3:
for(i=1;i {snk[i].x=snk[i-1].x;
snk[i].y=snk[i-1].y-1;}break;
}
}
void delay(int sec)//调节速度
{ time_t start_time, cur_time;
time(&start_time);
do { time(&cur_time); }
while((cur_time - start_time) }
void move(int len)//移动以及转向
{ char direct;
cin>>direct;
struct snake head={snk[0].x,snk[0].y};
if(direct==NULL)
{ snk[0].x=2*snk[1].x-snk[0].x;
snk[0].y=2*snk[1].y-snk[0].y;
}
if(direct=='W')
{ snk[0].x=3*snk[1].x-2*snk[0].x;
snk[0].y=3*snk[1].y-2*snk[0].y;
for(int i=len-1;i>1;i--)
{ snk[i].x=snk[i-1].x;
snk[i].x=snk[i-1].x;
}
snk[1].x=head.x;
snk[1].y=head.y;
}
if(direct=='A'||direct=='D')
{ snk[0].x=snk[0].x+snk[0].y-snk[1].y;
snk[0].y=snk[0].y+snk[0].x-snk[1].x;
}
for(int i=len-1;i>1;i--)
{ snk[i].x=snk[i-1].x;
snk[i].x=snk[i-1].x;
}
snk[1].x=head.x;
snk[1].y=head.y;
}
void FOOD(int len)//食物出现如出现在蛇身上再次生成
{ while(1)
{ int flag=0;
srand(time(NULL));
food.x=rand()%50+10;
food.y=rand()%30+10;
for(int i=0;i if(food.x==snk[i].x&&food.y==snk[i].y)
flag=1;
if(flag==0)
break;
}
}
void print(int len)
{ int i,j,t;
for(i=0;i cout for(j=1;j { cout for(i=1;i for(t=0;t { if(snk[t].x==i&&snk[t].y==j)
cout else
cout }
cout }
for(i=0;i cout }
void main()
{ int num;
cout cin>>num;
if (num==1)
{ int static len=N,score=0;
snake(N);
FOOD(len);
while(1)
{

move(len);
delay(2);
if(snk[0].x==food.x&&snk[0].y==food.y)
{
len++;
score++;
FOOD(len);
}
if(snk[0].x==0||snk[0].x==69||snk[0].y==0||snk[0].y==49)
{
cout<<"game over"<<endl;
cout<<score;
break;
}
print(len);
Sleep(60);//_sleep();
system("Cls");
}
}
else
exit(1);
}

  • 写回答

1条回答 默认 最新

  • 渧落惊蛰 2017-04-05 15:41
    关注

    你的图片代码在哪里?

    评论

报告相同问题?

悬赏问题

  • ¥15 链接问题 C++LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接