1 #include<iostream>
2 #include<cstdio>
3 #include<cmath>
4 #include<cstdlib>
5 #include<algorithm>
6 #include<cstring>
7 #include<ctime>
8 #include<windows.h>
9 #include<conio.h>
10 #define tab system("cls")
11 using namespace std;
12 string a[101];
13 int n=10,m=10,k,x=1,y=1;
14
15 void out()
16 {
17 int i,j;
18 for(i=1;i<=n;i++)
19 {
20 for(j=0;j<=m;j++)
21 {
22 cout<<a[i][j]<<" ";
23 }
24 cout<<endl;
25 }
26 return;
27 }
28
29 bool judge(int x,int y)
30 {
31 if(x<1||y<0)return 0;
32 if(x>10||y>10)return 0;
33 if(a[x][y]=='*')return 0;
34 return 1;
35 }
36
37 int main()
38 {
39 int i,j;
40 a[1]="*@*********";
41 a[2]="* * * *";
42 a[3]="* * * * * *";
43 a[4]="* * * * * *";
44 a[5]="* * * * * *";
45 a[6]="* * * * * *";
46 a[7]="* * * * * *";
47 a[8]="* * * * * *";
48 a[9]="* * * *";
49 a[10]="********* *";
50 out();
51 char c;
52 for(;;)
53 {
54 c=getch();tab;
55 if(c=='w')
56 {
57 if(judge(x-1,y))
58 {
59 swap(a[x-1][y],a[x][y]);
60 x--;
61 }
62 }
63 if(c=='a')
64 {
65 if(judge(x,y-1))
66 {
67 swap(a[x][y-1],a[x][y]);
68 y--;
69 }
70 }
71 if(c=='s')
72 {
73 if(judge(x+1,y))
74 {
75 swap(a[x+1][y],a[x][y]);
76 x++;
77 }
78 }
79 if(c=='d')
80 {
81 if(judge(x,y+1))
82 {
83 swap(a[x][y+1],a[x][y]);
84 y++;
85 }
86 }
87 out();
88 if(x==10&&y==9)
89 {
90 tab;
91 cout<<"YOU WIN";
92 Sleep(2000);
93 getch();
94 break;
95 }
96 }
97 return 0;
98 }