diff options
| author | manuel <manuel@mausz.at> | 2011-04-06 15:07:50 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2011-04-06 15:07:50 +0200 |
| commit | 2b3210e6d19e32b7746e0e1cdf22035ce508ca8a (patch) | |
| tree | 2fdd4967de000e72c9a9f83eefad47e7f13e6e21 /pacman-c++/mainwidget.cpp | |
| parent | 6dc8b50817fe5da8550c245db755f7014402c62a (diff) | |
| download | foop-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.cpp | 31 |
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)); |
