diff options
Diffstat (limited to 'pacman-c++/actor.cpp')
| -rw-r--r-- | pacman-c++/actor.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/pacman-c++/actor.cpp b/pacman-c++/actor.cpp index 43368d6..bb062ea 100644 --- a/pacman-c++/actor.cpp +++ b/pacman-c++/actor.cpp | |||
| @@ -118,8 +118,8 @@ bool Actor::isLocal() | |||
| 118 | 118 | ||
| 119 | void Actor::move(Actor::Movement direction) | 119 | void Actor::move(Actor::Movement direction) |
| 120 | { | 120 | { |
| 121 | /*if (Constants::server) | 121 | if (Constants::server) |
| 122 | return moveByServer(direction);*/ | 122 | return moveByServer(direction); |
| 123 | 123 | ||
| 124 | /* stop current animation */ | 124 | /* stop current animation */ |
| 125 | if (direction != m_direction) | 125 | if (direction != m_direction) |
| @@ -231,5 +231,28 @@ void Actor::finishRound() | |||
| 231 | void Actor::moveByServer(Actor::Movement direction) | 231 | void Actor::moveByServer(Actor::Movement direction) |
| 232 | { | 232 | { |
| 233 | qDebug() << "move by server"; | 233 | qDebug() << "move by server"; |
| 234 | |||
| 235 | QPointF endpos(0, 0); | ||
| 236 | switch(direction) | ||
| 237 | { | ||
| 238 | case Actor::None: | ||
| 239 | break; | ||
| 240 | case Actor::Left: | ||
| 241 | endpos.setX(static_cast<qreal>(Constants::field_size.width) * -1); | ||
| 242 | break; | ||
| 243 | case Actor::Right: | ||
| 244 | endpos.setX(Constants::field_size.width); | ||
| 245 | break; | ||
| 246 | case Actor::Up: | ||
| 247 | endpos.setY(static_cast<qreal>(Constants::field_size.height) * -1); | ||
| 248 | break; | ||
| 249 | case Actor::Down: | ||
| 250 | endpos.setY(Constants::field_size.height); | ||
| 251 | break; | ||
| 252 | default: | ||
| 253 | Q_ASSERT(false); | ||
| 254 | break; | ||
| 255 | } | ||
| 256 | setPos(pos() + endpos); | ||
| 234 | m_direction = direction; | 257 | m_direction = direction; |
| 235 | } | 258 | } |
