diff options
| author | totycro <totycro@unknown-horizons.org> | 2011-04-10 01:00:37 +0200 |
|---|---|---|
| committer | totycro <totycro@unknown-horizons.org> | 2011-04-10 01:00:37 +0200 |
| commit | 18ca65a550c25ed69dcf8b75e7b8862458e11025 (patch) | |
| tree | fad99cad7290a007bd86a70ae2b4ffc763f7f86b /pacman-c++/server.cpp | |
| parent | da481762bded855ffd709114ee3a16ec4dbaaeb6 (diff) | |
| download | foop-18ca65a550c25ed69dcf8b75e7b8862458e11025.tar.gz foop-18ca65a550c25ed69dcf8b75e7b8862458e11025.tar.bz2 foop-18ca65a550c25ed69dcf8b75e7b8862458e11025.zip | |
Added primitive game logic (make pacman avoid walls)
Diffstat (limited to 'pacman-c++/server.cpp')
| -rw-r--r-- | pacman-c++/server.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index 422f7e0..7e467e5 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | #include <QtNetwork/QTcpSocket> | 4 | #include <QtNetwork/QTcpSocket> |
| 5 | #include "util.h" | 5 | #include "util.h" |
| 6 | #include "pacman.pb.h" | 6 | #include "pacman.pb.h" |
| 7 | #include "block.h" | ||
| 7 | 8 | ||
| 8 | Server::Server(QWidget *parent) | 9 | Server::Server(QWidget *parent) |
| 9 | : SceneHolder(parent) | 10 | : SceneHolder(parent) |
| @@ -39,7 +40,6 @@ Transmission::map_t Server::calculateUpdates() | |||
| 39 | Actor *actor = m_actors.value( i.key() ); | 40 | Actor *actor = m_actors.value( i.key() ); |
| 40 | QPoint mapPosition = CoordToMapPosition(actor->x(), actor->y()); | 41 | QPoint mapPosition = CoordToMapPosition(actor->x(), actor->y()); |
| 41 | qDebug() << "actor " << i.key() << " is at " << mapPosition; | 42 | qDebug() << "actor " << i.key() << " is at " << mapPosition; |
| 42 | map[mapPosition.x()][mapPosition.y()] = Transmission::empty; | ||
| 43 | 43 | ||
| 44 | QPoint newMapPosition = mapPosition; | 44 | QPoint newMapPosition = mapPosition; |
| 45 | switch (i.value()) { | 45 | switch (i.value()) { |
| @@ -50,6 +50,14 @@ 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 | |||
| 54 | // <t3h g4m3 10gic> | ||
| 55 | if(dynamic_cast<Block*>(visualMap[newMapPosition.x()][newMapPosition.y()]) != 0) { | ||
| 56 | continue; | ||
| 57 | } | ||
| 58 | // </t3h g4m2 10gic> | ||
| 59 | |||
| 60 | map[mapPosition.x()][mapPosition.y()] = Transmission::empty; | ||
| 53 | map[newMapPosition.x()][newMapPosition.y()] = | 61 | map[newMapPosition.x()][newMapPosition.y()] = |
| 54 | Transmission::pacman | i.key() | | 62 | Transmission::pacman | i.key() | |
| 55 | Util::actorMovementToTransmission(i.value()) ; | 63 | Util::actorMovementToTransmission(i.value()) ; |
