本帖最后由 李掌柜 于 2014-3-9 17:30 编辑
- //这个版本也不是很完美~~
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- char a[50][50]={"##############################", //空间给的太小就会产生乱码,比如char a[21][31]
- "#O # ## # ### ####", //大了就是空白字符
- "# ###### # # # # # ### ####",
- "# # ## # # #### # ### ##",
- "# # ## ### # # ## ####",
- "##### # # ##### ## ####",
- "# # ##### # # # # # #",
- "# # # ## # #### ## # # ####",
- "# # # ## ## # # ####",
- "# # # ####### ## ###### # ##",
- "# # ## # ## ###### ### #",
- "# ###### # ##### # # #",
- "# # # ##### ### # E",
- "# ######## ##### # ### ### # #",
- "# # ## ##### ### ###",
- "##### # ## # ######## # #",
- "# # ## ## ### # #",
- "# # ### ###### ####### #",
- "# # ### ## # #",
- "##############################"
- };
- int i,x,y,p,q;
- x=1;y=1;p=12;q=29;
- char ch;
- for(i=0;i<=30;i++)
- puts (a[i]); //断点调试时这里绘地图的时候会产生多余的空白字符
- system("cls"); //结决方案是刷新掉~~
- printf("按任意健游戏开始~^_^~!"); //并给一个提示
- while(x!=p || y!=q)
- {
-
- ch=getch();
- if(ch=='s')
- {
- if(a[x+1][y]!='#')
- {
- a[x][y]=' ';
- x++;
- a[x][y]='O';
- }
- }
-
- if(ch=='w')
- {
- if(a[x-1][y]!='#')
- {
- a[x][y]=' ';
- x--;
- a[x][y]='O';
- }
- }
-
- if(ch=='a')
- {
- if(a[x][y-1]!='#')
- {
- a[x][y]=' ';
- y--;
- a[x][y]='O';
- }
- }
-
- if(ch=='d')
- {
- if(a[x][y+1]!='#')
- {
- a[x][y]=' ';
- y++;
- a[x][y]='O';
- }
- }
-
- system("cls");
- for(i=0;i<=19;i++)
- puts (a[i]);
-
- }
- system("cls");
- printf("You Win!\n");
- return 0;
- }
复制代码
|