diff options
Diffstat (limited to 'pacman-c++/server.cpp')
| -rw-r--r-- | pacman-c++/server.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index dc8165f..b054804 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp | |||
| @@ -44,8 +44,7 @@ Transmission::map_t Server::calculateUpdates() | |||
| 44 | { | 44 | { |
| 45 | i.next(); | 45 | i.next(); |
| 46 | Actor *actor = m_actors.value(i.key()); | 46 | Actor *actor = m_actors.value(i.key()); |
| 47 | QPoint mapPosition = actor->pos().toPoint(); | 47 | QPoint mapPosition = CoordToMapPosition(actor->pos().toPoint()); |
| 48 | mapPosition = CoordToMapPosition(actor->pos().toPoint()); | ||
| 49 | qDebug() << "actor " << i.key() << " is at " << mapPosition << "moving " << i.value(); | 48 | qDebug() << "actor " << i.key() << " is at " << mapPosition << "moving " << i.value(); |
| 50 | 49 | ||
| 51 | QPoint newMapPosition = mapPosition; | 50 | QPoint newMapPosition = mapPosition; |
| @@ -87,6 +86,7 @@ Transmission::map_t Server::calculateUpdates() | |||
| 87 | if (oldItem->eaten()) | 86 | if (oldItem->eaten()) |
| 88 | map[mapPosition.x()][mapPosition.y()] = Transmission::empty; | 87 | map[mapPosition.x()][mapPosition.y()] = Transmission::empty; |
| 89 | } | 88 | } |
| 89 | |||
| 90 | // new item | 90 | // new item |
| 91 | PixmapItem *item = visualMap[newMapPosition.x()][newMapPosition.y()]; | 91 | PixmapItem *item = visualMap[newMapPosition.x()][newMapPosition.y()]; |
| 92 | if (item != NULL && oldItem != item) | 92 | if (item != NULL && oldItem != item) |
| @@ -95,7 +95,6 @@ Transmission::map_t Server::calculateUpdates() | |||
| 95 | { | 95 | { |
| 96 | /* movement invalid. e.g. move against wall */ | 96 | /* movement invalid. e.g. move against wall */ |
| 97 | newMapPosition = mapPosition; | 97 | newMapPosition = mapPosition; |
| 98 | m_actorMovements[i.key()] = Actor::None; | ||
| 99 | } | 98 | } |
| 100 | else | 99 | else |
| 101 | { | 100 | { |
| @@ -109,13 +108,11 @@ Transmission::map_t Server::calculateUpdates() | |||
| 109 | } | 108 | } |
| 110 | // </t3h g4m2 10gic> | 109 | // </t3h g4m2 10gic> |
| 111 | 110 | ||
| 111 | if (mapPosition == newMapPosition) | ||
| 112 | m_actorMovements[i.key()] = Actor::None; | ||
| 112 | 113 | ||
| 113 | //map[mapPosition.x()][mapPosition.y()] = Transmission::empty; | 114 | map[newMapPosition.x()][newMapPosition.y()] |= Transmission::pacman | |
| 114 | if (newMapPosition != mapPosition) { | 115 | i.key() | Util::actorMovementToTransmission(i.value()); |
| 115 | map[newMapPosition.x()][newMapPosition.y()] |= | ||
| 116 | Transmission::pacman | i.key() | | ||
| 117 | Util::actorMovementToTransmission(i.value()); | ||
| 118 | } | ||
| 119 | 116 | ||
| 120 | if (i.value() == Actor::None) | 117 | if (i.value() == Actor::None) |
| 121 | { | 118 | { |
