-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWall.cpp
More file actions
125 lines (112 loc) · 3.72 KB
/
Wall.cpp
File metadata and controls
125 lines (112 loc) · 3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include"Wall.h"
void Wall::Initialwall() //初始化墙,“■”表示墙的边界
{
for (int i = 0; i < row; ++i) //地图一
{
for (int j = 0; j < col; ++j)
{
if (i == 0 || i == row - 1)
wall[0][i][j] = (char*)"■"; //注意,方块横向占两个位置,纵向占一个位置
else if (j == 0 || j == col - 1)
wall[0][i][j] = (char*)"■";
else
wall[0][i][j] = (char*)" "; //其余位置用两个空格代替
}
}
for (int i = 0; i < row; ++i) //地图二
{
for (int j = 0; j < col; ++j)
{
if (i == 0 || i == row - 1)
wall[1][i][j] = (char*)"■"; //注意,方块横向占两个位置,纵向占一个位置
else if (j == 0 || j == col - 1)
wall[1][i][j] = (char*)"■";
else if ((i == 7 || i == 31) && (j >= 9) && (j <= 29))
wall[1][i][j] = (char*)"■";
else if ((j == 7 || j == 31)&& (i >= 9) && (i <= 29))
wall[1][i][j] = (char*)"■";
else
wall[1][i][j] = (char*)" "; //其余位置用两个空格代替
}
}
for (int i = 0; i < row; ++i) //地图三
{
for (int j = 0; j < col; ++j)
{
if (i == 0 || i == row - 1)
wall[2][i][j] = (char*)"■"; //注意,方块横向占两个位置,纵向占一个位置
else if((i==j)&& ((i >= 4 && i <= 17) || (i >= 21 && i <= 34)))
wall[2][i][j] = (char*)"■";
else if ((i+j==38) && ((i >= 4 && i <= 17) || (i >= 21 && i <= 34)))
wall[2][i][j] = (char*)"■";
else if((i==19)&&((j>=4&&j<=17)||(j>=21&&j<=34)))
wall[2][i][j] = (char*)"■";
else if ((j == 19) && ((i >= 4 && i <= 17) || (i >= 21 && i <= 34)))
wall[2][i][j] = (char*)"■";
else if (j == 0 || j == col - 1)
wall[2][i][j] = (char*)"■";
else
wall[2][i][j] = (char*)" "; //其余位置用两个空格代替
}
}
for (int i = 0; i < row; ++i) //地图四
{
for (int j = 0; j < col; ++j)
{
if (i == 0 || i == row - 1)
wall[3][i][j] = (char*)"■"; //注意,方块横向占两个位置,纵向占一个位置
else if((i==4||i==35)&&j>=4&&j<=35)
wall[3][i][j] = (char*)"■";
else if(j==4&&i>=4&&i<=35)
wall[3][i][j] = (char*)"■";
else if(j==35&&i>=4&&i<=30)
wall[3][i][j] = (char*)"■";
else if(i==30&&j>=9&&j<=35)
wall[3][i][j] = (char*)"■";
else if(j==9&&i>=9&&i<=30)
wall[3][i][j] = (char*)"■";
else if(i==9&&j>=9&&j<=30)
wall[3][i][j] = (char*)"■";
else if(j==30&&i>=9&&i<=25)
wall[3][i][j] = (char*)"■";
else if(i==25&&j>=14&&j<=30)
wall[3][i][j] = (char*)"■";
else if(j==14&&i>14&&i<=25)
wall[3][i][j] = (char*)"■";
else if(i==14&&j>=14&&j<=25)
wall[3][i][j] = (char*)"■";
else if(j==25&&i>=14&&i<=20)
wall[3][i][j] = (char*)"■";
else if(i==20&&j>=19&&j<=25)
wall[3][i][j] = (char*)"■";
else if(j==19&&i>=17&&i<=20)
wall[3][i][j] = (char*)"■";
else if (j == 0 || j == col - 1)
wall[3][i][j] = (char*)"■";
else
wall[3][i][j] = (char*)" "; //其余位置用两个空格代替
}
}
}
void Wall::Printwall() //打印围墙
{
white(); //设置墙的颜色
for (int i = 0; i < row; ++i)
{
for (int j = 0; j < col; ++j)
{
std::cout << wall[map][i][j] ;
}
std::cout << std::endl;
}
}
char* Wall::Getwall(int x, int y) //获取墙内某一点的坐标
{
return wall[map][x][y];
}
void Wall::Setwall(int x, int y, char* c) //设置墙内某一点,生成食物
{
wall[map][x][y] = c;
}
int Wall::Getmap() { return map; }; //返回所选择地图类型
void Wall::Setmap(int x) { map = x; }; //用户设置地图类型