summaryrefslogtreecommitdiffstats
path: root/pacman-c++/mainwidget.cpp
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2011-04-06 15:07:50 +0200
committermanuel <manuel@mausz.at>2011-04-06 15:07:50 +0200
commit2b3210e6d19e32b7746e0e1cdf22035ce508ca8a (patch)
tree2fdd4967de000e72c9a9f83eefad47e7f13e6e21 /pacman-c++/mainwidget.cpp
parent6dc8b50817fe5da8550c245db755f7014402c62a (diff)
downloadfoop-2b3210e6d19e32b7746e0e1cdf22035ce508ca8a.tar.gz
foop-2b3210e6d19e32b7746e0e1cdf22035ce508ca8a.tar.bz2
foop-2b3210e6d19e32b7746e0e1cdf22035ce508ca8a.zip
adding nicer blocks :D
Diffstat (limited to 'pacman-c++/mainwidget.cpp')
-rw-r--r--pacman-c++/mainwidget.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp
index e9b4cc3..062fc6d 100644
--- a/pacman-c++/mainwidget.cpp
+++ b/pacman-c++/mainwidget.cpp
@@ -86,8 +86,18 @@ transmission::map_t createDummyMap()
86 map[0][0] |= Color::none ^ transmission::block; 86 map[0][0] |= Color::none ^ transmission::block;
87 map[0][1] |= Color::none ^ transmission::block; 87 map[0][1] |= Color::none ^ transmission::block;
88 map[0][2] |= Color::none ^ transmission::block; 88 map[0][2] |= Color::none ^ transmission::block;
89 map[0][3] |= Color::none ^ transmission::block;
90 map[0][4] |= Color::none ^ transmission::block;
91 map[0][5] |= Color::none ^ transmission::block;
89 map[1][0] |= Color::none ^ transmission::block; 92 map[1][0] |= Color::none ^ transmission::block;
90 map[2][0] |= Color::none ^ transmission::block; 93 map[2][0] |= Color::none ^ transmission::block;
94 map[1][3] |= Color::none ^ transmission::block;
95 map[2][3] |= Color::none ^ transmission::block;
96 map[3][3] |= Color::none ^ transmission::block;
97 map[2][4] |= Color::none ^ transmission::block;
98 map[2][5] |= Color::none ^ transmission::block;
99 map[2][2] |= Color::none ^ transmission::block;
100 map[2][1] |= Color::none ^ transmission::block;
91 101
92 map[4][3] |= Color::green ^ transmission::block; 102 map[4][3] |= Color::green ^ transmission::block;
93 103
@@ -120,9 +130,24 @@ void MainWidget::loadDummyMap()
120 Color::Color color = static_cast<Color::Color>(cur & transmission::color_mask); 130 Color::Color color = static_cast<Color::Color>(cur & transmission::color_mask);
121 qDebug() << "col=" << color; 131 qDebug() << "col=" << color;
122 132
123 PixmapItem *item = 0; 133 PixmapItem *item = NULL;
124 if (cur & transmission::block) 134 if (cur & transmission::block)
125 item = new Block(color); 135 {
136 unsigned int neighbours = Block::None;
137 // check left side
138 if (x > 0 && map[x - 1][y] & transmission::block)
139 neighbours |= Block::Left;
140 // check right side
141 if (x < map_size[0] && map[x + 1][y] & transmission::block)
142 neighbours |= Block::Right;
143 // check upside
144 if (y > 0 && map[x][y - 1] & transmission::block)
145 neighbours |= Block::Up;
146 // check down side
147 if (y < map_size[1] && map[x][y + 1] & transmission::block)
148 neighbours |= Block::Down;
149 item = new Block(color, neighbours);
150 }
126 else if (cur & transmission::bonuspoint) 151 else if (cur & transmission::bonuspoint)
127 item = new BonusPoint(); 152 item = new BonusPoint();
128 else if (cur & transmission::pacman) 153 else if (cur & transmission::pacman)
@@ -162,7 +187,7 @@ void MainWidget::loadDummyMap()
162 else 187 else
163 Q_ASSERT(false); 188 Q_ASSERT(false);
164 189
165 if(item != 0) 190 if (item != NULL)
166 { 191 {
167 m_scene->addItem(item); 192 m_scene->addItem(item);
168 item->setPos(mapPositionToCoord(x, y)); 193 item->setPos(mapPositionToCoord(x, y));