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
|
#include "util.h"
// temporary
Transmission::map_t createDummyMap()
{
Transmission::map_t map;
map = new Transmission::field_t*[Constants::map_size.width];
for (unsigned int i = 0; i < Constants::map_size.width; ++i)
map[i] = new Transmission::field_t[Constants::map_size.height];
for (unsigned int x = 0; x < Constants::map_size.width; ++x)
{
for (unsigned int y = 0; y < Constants::map_size.height; ++y)
{
Transmission::field_t &cur = map[x][y];
cur = Transmission::none;
}
}
const char *tmpl[] = {
" # # ",
" #### ###### # #### # # ###### ### ",
" # # ",
" # ##### # # # # # ### # # # ",
" # # # # # # # # # # ## # # ",
" # # # # # # # # ### # # # # ",
" # # # # # # # # # # # # ## # ",
" # # ### ##### # ### # # # ",
" ### # ",
" # # ### #### #### #### ##### ",
" #### # #..# #..# #..# # # ",
" # # ### #..# #..# #### # # # # ",
" # # # #..# #..# # # ",
" # #### # #### #### # # ##### # ",
" # # ",
" #### ###### # ##### # ####### ### ",
" # # "
};
for (unsigned int x = 0; x < Constants::map_size.width; ++x)
{
for (unsigned int y = 0; y < Constants::map_size.height; ++y)
{
Transmission::field_t &cur = map[x][y];
cur = Transmission::none;
if (tmpl[y][x] == '#')
cur |= Color::none | Transmission::block;
/* this is a simple hack to create areas where no
* autoplaced points will be placed (see below)
*/
else if (tmpl[y][x] == '.')
cur |= Transmission::point;
}
}
map[0][0] |= Transmission::bonuspoint;
map[1][0] |= Color::red | Transmission::pacman | Transmission::direction_right;
//map[2][0] |= Color::blue | Transmission::pacman | Transmission::direction_up;
//map[3][0] |= Color::green | Transmission::pacman | Transmission::direction_down;
/* auto place normal points*/
for (unsigned int x = 0; x < Constants::map_size.width; ++x)
{
for (unsigned int y = 0; y < Constants::map_size.height; ++y)
{
Transmission::field_t &cur = map[x][y];
if (cur == Transmission::none)
cur |= Transmission::point;
else if (cur == Transmission::point)
cur = Transmission::none;
}
}
return map;
}
|