作者chaselsu (尋...)
看板ILSH-94313
標題[問題] 楷門期末考作業解答
時間Tue Nov 29 23:17:13 2005
http://140.112.240.72/AB.exe
賺p幣啦
上:w
下:s
左:a
右:d
程式碼如下
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<time.h>
#include<stdlib.h>
main()
{ char ch[11][51],a;
long cs[11][51];
int i,j,out=0,dir=1,m,n1,n2,k=0,l=0,w1,w2,eat1,eat2,eaty=0;
clrscr();
randomize();
for(i=0;i<=10;i++)
for(j=0;j<=50;j++)
{ ch[i][j]=' ';
cs[i][j]=0;
}
for(i=0;i<=10;i++)
{ch[i][0]='|';ch[i][50]='|';}
for(j=0;j<=50;j++)
{ch[0][j]='-';ch[10][j]='-';}
w1=1;
w2=3;
ch[1][1]='*'; cs[1][1]=1;
ch[1][2]='*'; cs[1][2]=2;
ch[1][3]='#'; cs[1][3]=3;
eat1=1+random(9);
eat2=1+random(49);
ch[eat1][eat2]='&';
while(out==0)
{ if(eaty==1)
{ do { eat1=1+random(9);
eat2=1+random(49);
} while(ch[eat1][eat2]!=' ');
ch[eat1][eat2]='&';
}
eaty=0;
if(kbhit()!=0)
{ a=getch();
if(a=='d')
{dir=1;}
if(a=='s')
{dir=2;}
if(a=='a')
{dir=3;}
if(a=='w')
{dir=4;}
}
m=cs[w1][w2];
k=1;
switch(dir)
{ case 1: for(i=0;i<=10;i++)
{ for(j=0;j<=50;j++)
{ if(ch[i][j]=='#'&&k==1)
{ ch[i][j]='*';
if(ch[i][j+1]=='*')
out=1;
if(ch[i][j+1]=='&')
eaty=1;
ch[i][j+1]='#';
cs[i][j+1]=cs[i][j]+1;
w1=i;w2=j+1;
if(j+1==50)
out=1;
k=0;
}
if(ch[i][j]=='*')
{ if(cs[i][j]<m)
{ n1=i;n2=j; m=cs[i][j];}
}
}
}
if(eaty==0)
{ch[n1][n2]=' ';
cs[n1][n2]=0 ;}
break;
case 2: for(i=0;i<=10;i++)
{ for(j=0;j<=50;j++)
{ if(ch[i][j]=='#'&&k==1)
{ ch[i][j]='*';
if(ch[i+1][j]=='*')
out=1;
if(ch[i+1][j]=='&')
eaty=1;
ch[i+1][j]='#';
cs[i+1][j]=cs[i][j]+1;
if(i+1==10)
out=1;
k=0;
w1=i+1;w2=j;
}
if(ch[i][j]=='*')
{ if(cs[i][j]<m)
{ n1=i;n2=j; m=cs[i][j];}
}
}
}
if(eaty==0)
{ ch[n1][n2]=' ';
cs[n1][n2]=0;}
break;
case 3: for(i=0;i<=10;i++)
{ for(j=0;j<=50;j++)
{ if(ch[i][j]=='#'&&k==1)
{ ch[i][j]='*';
if(ch[i][j-1]=='*')
out=1;
if(ch[i][j-1]=='&')
eaty=1;
ch[i][j-1]='#';
cs[i][j-1]=cs[i][j]+1;
if(j-1==0)
out=1;
k=0;
w1=i;w2=j-1;
}
if(ch[i][j]=='*')
{ if(cs[i][j]<m)
{ n1=i;n2=j; m=cs[i][j];}
}
}
}
if(eaty==0)
{ ch[n1][n2]=' ';
cs[n1][n2]=0;}
break;
case 4: for(i=0;i<=10;i++)
{ for(j=0;j<=50;j++)
{ if(ch[i][j]=='#'&&k==1)
{ ch[i][j]='*';
if(ch[i-1][j]=='*')
out=1;
if(ch[i-1][j]=='&')
eaty=1;
ch[i-1][j]='#';
cs[i-1][j]=cs[i][j]+1;
if(i-1==0)
out=1;
k=0;
w1=i-1;
w2=j;
}
if(ch[i][j]=='*')
{ if(cs[i][j]<m)
{ n1=i;n2=j; m=cs[i][j];}
}
}
}
if(eaty==0)
{ ch[n1][n2]=' ';
cs[n1][n2]=0; }
break;
}
for(i=0;i<=10;i++)
{ printf("\n");
for(j=0;j<=50;j++)
printf("%c",ch[i][j]);
}
delay(500);
clrscr();
}
getch();
}
懂了嗎~
交學費
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.72
推 YGJHSU:◆ 這一篇文章值 23 銀 蘇先生 這樣你也爽... 11/29 23:25
→ chaselsu:為蛇麼這麼少?????? 11/29 23:26
→ chaselsu:複製貼上沒錢嗎?? 11/29 23:26
推 YGJHSU:嗯 .... 要用打的喔 借轉笨版 11/29 23:29
→ YGJHSU:懂了嘛 交學費~ 23銀 (伸) 11/29 23:29
推 chenbojyh:題目是啥呀???..... 11/29 23:43
推 chaselsu:簡單的貪食蛇 11/29 23:50
→ chaselsu:複雜的貪食蛇在改一下就好 11/29 23:51
推 chenbojyh:我可以跟你要程式碼嗎??我想貼在我們系的版上..... 11/29 23:54
推 chenbojyh:寫的不嚴謹.....Visual C++ RUN不出......免交學費... 11/30 01:08
推 chaselsu:是visual太濫~人家DEV和borland還有turbo都能跑 11/30 01:12
噓 blaur:阿瓜..你閒閒沒事寫這就算了..干我什麼事..@@a.. 11/30 04:45
→ chaselsu:陽哥說的 11/30 12:28
→ chenbojyh:........... 11/30 13:11