summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pacman-c++/server.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp
index 0a84561..a4b736b 100644
--- a/pacman-c++/server.cpp
+++ b/pacman-c++/server.cpp
@@ -50,6 +50,10 @@ Transmission::map_t Server::calculateUpdates()
50 case Actor::None: break; 50 case Actor::None: break;
51 default: Q_ASSERT(false); 51 default: Q_ASSERT(false);
52 } 52 }
53 if (newMapPosition.x() < 0) newMapPosition.setX(0);
54 if (newMapPosition.x() >= visualMap.size()) newMapPosition.setX(visualMap.size()-1);
55 if (newMapPosition.y() < 0) newMapPosition.setY(0);
56 if (newMapPosition.y() >= visualMap[newMapPosition.x()].size()) newMapPosition.setY(visualMap[newMapPosition.x()].size()-1);
53 57
54 // <t3h g4m3 10gic> 58 // <t3h g4m3 10gic>
55 if (0 <= newMapPosition.x() && newMapPosition.x() < visualMap.size() && 59 if (0 <= newMapPosition.x() && newMapPosition.x() < visualMap.size() &&
@@ -60,10 +64,12 @@ Transmission::map_t Server::calculateUpdates()
60 } 64 }
61 // </t3h g4m2 10gic> 65 // </t3h g4m2 10gic>
62 66
67 if (mapPosition != newMapPosition) {
63 map[mapPosition.x()][mapPosition.y()] = Transmission::empty; 68 map[mapPosition.x()][mapPosition.y()] = Transmission::empty;
64 map[newMapPosition.x()][newMapPosition.y()] = 69 map[newMapPosition.x()][newMapPosition.y()] =
65 Transmission::pacman | i.key() | 70 Transmission::pacman | i.key() |
66 Util::actorMovementToTransmission(i.value()) ; 71 Util::actorMovementToTransmission(i.value()) ;
72 }
67 } 73 }
68 return map; 74 return map;
69} 75}