20145306张文锦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 

#include "stdio.h"
#include "windows.h"
#include "time.h"

 

char env[200][200];
int x=99,y=99,head[2]={99,85},tail[2]={99,80};

void showstart ()
{
printf("*****************************");
printf("* *");
printf("* snake *");
printf("* press 9 to qiut !!! *");
printf("*****************************");
Sleep(1000);
System("cls");
}

 


void init()

{
int i,j;
for(i=0;i<200;i++)
for(j=0;j<200;j++)
{
if(i==0||i==199||j==0||j==199)
env[i][j]='#';
if(i==99&&j==99)
env[x][y]='@';
if(i=99&&(j>=80&&j<=85))
env[i][j]='*';

}

}

void show ()

{
int i,j;
for(i=0;i<200;i++)
for(j=0;j<200;j++)
{
printf("%c",env[i][j]);
}
}

void move (int der)

{
switch (der)
{
case 8:
{
if(env[head[0]-1][head[1]]=='*');
else{
if((head[0]-1)==x&&head[1]==y)
{
head[0]--;
env[head[0]][head[1]]='*';

}
head[0]--;
env[head[0]][head[1]]='*';
env[tail[0]][tail[1]]=' ';
if(env[tail[0]-1][tail[1]]=='*')
tail[0]--;
if(env[tail[0]][tail[1]-1]=='*')
tail[1]--;
if(env[tail[0]+1][tail[1]]=='*')
tail[0]++;
if(env[tail[0]][tail[1]+1]=='*')
tail[1]++;
}


}
case 2:
{

if((head[0]+1)==x&&head[1]==y)
{
head[0]++;
env[head[0]][head[1]]='*';
}
head[0]++;
env[head[0]][head[1]]='*';
env[tail[0]][tail[1]]=' ';
if(env[tail[0]-1][tail[1]]=='*')
tail[0]--;
if(env[tail[0]][tail[1]-1]=='*')
tail[1]--;
if(env[tail[0]+1][tail[1]]=='*')
tail[0]++;
if(env[tail[0]][tail[1]+1]=='*')
tail[1]++;

}
case 4:
{
if(env[head[0]][head[1]-1]=='*');
else{
if(head[0]==x&&(head[1]-1)==y)
{
head[1]--;
env[head[0]][head[1]]='*';
}
head[1]--;
env[head[0]][head[1]]='*';
env[tail[0]][tail[1]]=' ';
if(env[tail[0]-1][tail[1]]=='*')
tail[0]--;
if(env[tail[0]][tail[1]-1]=='*')
tail[1]--;
if(env[tail[0]+1][tail[1]]=='*')
tail[0]++;
if(env[tail[0]][tail[1]+1]=='*')
tail[1]++;
}

}
case 6:
{

if(head[0]==x&&(head[1]+1)==y)
{
head[1]++;
env[head[0]][head[1]]='*';
}
head[1]++;
env[head[0]][head[1]]='*';
env[tail[0]][tail[1]]=' ';
if(env[tail[0]-1][tail[1]]=='*')
tail[0]--;
if(env[tail[0]][tail[1]-1]=='*')
tail[1]--;
if(env[tail[0]+1][tail[1]]=='*')
tail[0]++;
if(env[tail[0]][tail[1]+1]=='*')
tail[1]++;


}
default:
{
if(env[head[0]-1][head[1]]=='*')
{
head[0]++;
if(head[0]==x&&head[1]==y)
env[head[0]][head[1]]='*';
head[0]++;
env[head[0]][head[1]]='*';
}
if(env[head[0]+1][head[1]]=='*')
{
head[0]--;
if(head[0]==x&&head[1]==y)
env[head[0]][head[1]]='*';
head[0]--;
env[head[0]][head[1]]='*';
}
if(env[head[0]][head[1]-1]=='*')
{
head[1]++;
if(head[0]==x&&head[1]==y)
env[head[0]][head[1]]='*';
head[1]++;
env[head[0]][head[1]]='*';
}
if(env[head[0]][head[1]+1]=='*')
{
head[1]--;
if(head[0]==x&&head[1]==y)
env[head[0]][head[1]]='*';
head[1]--;
env[head[0]][head[1]]='*';
}

 


env[tail[0]][tail[1]]=' ';
if(env[tail[0]-1][tail[1]]=='*')
tail[0]--;
if(env[tail[0]][tail[1]-1]=='*')
tail[1]--;
if(env[tail[0]+1][tail[1]]=='*')
tail[0]++;
if(env[tail[0]][tail[1]+1]=='*')
tail[1]++;

 


}
}
}

void main()
{
int der=0,sig=1;
init();
showstart ();

while (sig)
{
scanf("%d",&der);
if(der!=8&&der!=2&&der!=4&&der!=6)
der=0;
if(der==9)
sig=0;
move(der);
show();

}


}

posted on 2016-12-22 18:39  20145306张文锦  阅读(158)  评论(0编辑  收藏  举报