diff options
| author | totycro <totycro@unknown-horizons.org> | 2011-04-09 15:08:13 +0200 |
|---|---|---|
| committer | totycro <totycro@unknown-horizons.org> | 2011-04-09 15:08:13 +0200 |
| commit | 979c3b4528da1608404d6e163211280fee5da9c5 (patch) | |
| tree | dd5584640933fc6bce1820bcc452af74d356396f /pacman-c++/server.cpp | |
| parent | d547dec802f76c346538144f4eacf6d8ca6310c4 (diff) | |
| download | foop-979c3b4528da1608404d6e163211280fee5da9c5.tar.gz foop-979c3b4528da1608404d6e163211280fee5da9c5.tar.bz2 foop-979c3b4528da1608404d6e163211280fee5da9c5.zip | |
added some utility
Diffstat (limited to 'pacman-c++/server.cpp')
| -rw-r--r-- | pacman-c++/server.cpp | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index 89cf356..2c16453 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp | |||
| @@ -5,7 +5,45 @@ | |||
| 5 | Server::Server(QWidget *parent) | 5 | Server::Server(QWidget *parent) |
| 6 | : SceneHolder(parent) | 6 | : SceneHolder(parent) |
| 7 | { | 7 | { |
| 8 | updateMap(createDummyMap()); | 8 | updateMap(Util::createDummyMap()); |
| 9 | Transmission::map_t map = calculateUpdates(); | ||
| 10 | updateMap(map); | ||
| 11 | } | ||
| 12 | |||
| 13 | QMap< Color::Color, Actor::Movement > Server::getActorDirections() | ||
| 14 | { | ||
| 15 | QMap<Color::Color, Actor::Movement> directions; | ||
| 16 | directions[Color::red] = Actor::Down; | ||
| 17 | return directions; | ||
| 18 | } | ||
| 19 | |||
| 20 | |||
| 21 | Transmission::map_t Server::calculateUpdates() | ||
| 22 | { | ||
| 23 | Transmission::map_t map = Util::createEmptyMap(); | ||
| 24 | |||
| 25 | QMap<Color::Color, Actor::Movement> directions = getActorDirections(); | ||
| 26 | QMapIterator<Color::Color, Actor::Movement> i(directions); | ||
| 27 | while (i.hasNext()) { | ||
| 28 | i.next(); | ||
| 29 | Actor *actor = m_actors.value( i.key() ); | ||
| 30 | QPoint mapPosition = CoordToMapPosition(actor->x(), actor->y()); | ||
| 31 | qDebug() << "actor " << i.key() << " is at " << mapPosition; | ||
| 32 | map[mapPosition.x()][mapPosition.y()] = Transmission::empty; | ||
| 33 | |||
| 34 | QPoint newMapPosition = mapPosition; | ||
| 35 | switch (i.value()) { | ||
| 36 | case Actor::Up: newMapPosition += QPoint(0, -1); break; | ||
| 37 | case Actor::Down: newMapPosition += QPoint(0, 1); break; | ||
| 38 | case Actor::Left: newMapPosition += QPoint(-1, 0); break; | ||
| 39 | case Actor::Right: newMapPosition += QPoint(1, 0); break; | ||
| 40 | case Actor::None: break; | ||
| 41 | default: Q_ASSERT(false); | ||
| 42 | } | ||
| 43 | map[newMapPosition.x()][newMapPosition.y()] = Transmission::pacman | i.key() ; | ||
| 44 | |||
| 45 | } | ||
| 46 | return map; | ||
| 9 | } | 47 | } |
| 10 | 48 | ||
| 11 | int main(int argc, char ** argv) | 49 | int main(int argc, char ** argv) |
