欢迎来到天天文库
浏览记录
ID:41032537
大小:16.25 KB
页数:5页
时间:2019-08-14
《自己做得C#控制台程序 贪吃蛇 DOS界面 测试通过》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;namespaceConsoleApplication2{classProgram{staticvoidMain(string[]args){棋盘q=new棋盘();q.snake();}}}publicstruct坐标{publicintsx;publicintsy;}class棋盘{publicstring[,]fg=newstring[35,35];坐标[]a=new坐标[100];
2、intn=0;int食物x,食物y;publicvoidhua(){inti,j;for(i=0;i<35;i++){for(j=0;j<35;j++){fg[i,j]="";}}for(i=0;i<35;i++){if(i==0
3、
4、i==34){for(j=0;j<35;j++){fg[i,j]="*";}}fg[i,0]="*";fg[i,34]="*";}}publicvoidsnake(){intx=0;hua();ConsoleKeyInfocki=newConsoleKeyInfo();a[0].sx=20;a[0].sy=20;食物x=食物();食物y=食物();fg[食
5、物x,食物y]="$";while(true){if(判断()==0){break;}判断2();if(System.Console.KeyAvailable){cki=Console.ReadKey(true);if(cki.Key==ConsoleKey.UpArrow){if(x==2)x=2;elsex=1;}if(cki.Key==ConsoleKey.DownArrow){if(x==1)x=1;elsex=2;}if(cki.Key==ConsoleKey.LeftArrow){if(x==0)x=0;elsex=3;}if(cki.Key==ConsoleKey.Rig
6、htArrow){if(x==3)x=3;elsex=0;}}switch(x){case0:移动();a[0].sy++;break;case1:移动();a[0].sx--;break;case2:移动();a[0].sx++;break;case3:移动();a[0].sy--;break;}显示();Thread.Sleep(300);}}publicint判断(){if(a[0].sx==1
7、
8、a[0].sx==34
9、
10、a[0].sy==1
11、
12、a[0].sy==34){Console.WriteLine("游戏结束");Console.ReadLine();return0;}
13、elsereturn1;}publicvoid判断2(){inti=1;while(i<=n){if((a[0].sx==a[i].sx)&&(a[0].sy==a[i].sy)){Console.WriteLine("游戏结束");Console.ReadLine();}elsei++;}}publicint食物(){Randomra=newRandom();returnra.Next(1,34);}publicvoid显示(){inti,j;hua();fg[食物x,食物y]="$";fg[a[0].sx,a[0].sy]="@";for(i=n;i>0;i--){Console.
14、WriteLine("ssssss"+i);fg[a[i].sx,a[i].sy]="#";}Console.Clear();for(i=0;i<35;i++){for(j=0;j<35;j++){Console.Write(fg[i,j]);}Console.WriteLine();}}publicint判断食物(){if(食物x==a[0].sx&&食物y==a[0].sy){return1;}elsereturn0;}publicvoid移动(){inti;if(判断食物()==1){n++;食物x=食物();食物y=食物();}for(i=n;i>0;i--){a[i].sx=
15、a[i-1].sx;a[i].sy=a[i-1].sy;}}}
此文档下载收益归作者所有