#include "server.h" #include "util.h" #include "pacman.pb.h" Server::Server(QWidget *parent) : SceneHolder(parent) { updateMap(Util::createDummyMap()); Transmission::map_t map = calculateUpdates(); for (int i=0; i<10; ++i) { qDebug() << "doing srv update"; updateMap(map); } } QMap< Color::Color, Actor::Movement > Server::getActorDirections() { QMap directions; directions[Color::red] = Actor::Down; return directions; } Transmission::map_t Server::calculateUpdates() { Transmission::map_t map = Util::createEmptyMap(); QMap directions = getActorDirections(); QMapIterator i(directions); while (i.hasNext()) { i.next(); Actor *actor = m_actors.value( i.key() ); QPoint mapPosition = CoordToMapPosition(actor->x(), actor->y()); qDebug() << "actor " << i.key() << " is at " << mapPosition; map[mapPosition.x()][mapPosition.y()] = Transmission::empty; QPoint newMapPosition = mapPosition; switch (i.value()) { case Actor::Up: newMapPosition += QPoint(0, -1); break; case Actor::Down: newMapPosition += QPoint(0, 1); break; case Actor::Left: newMapPosition += QPoint(-1, 0); break; case Actor::Right: newMapPosition += QPoint(1, 0); break; case Actor::None: break; default: Q_ASSERT(false); } map[newMapPosition.x()][newMapPosition.y()] = Transmission::pacman | i.key() | Util::actorMovementToTransmission(i.value()) ; } return map; } int main(int argc, char ** argv) { QApplication app(argc, argv); app.setApplicationName("Pacman Server"); app.setWindowIcon(QIcon(":/appicon")); qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime())); Server Server; return app.exec(); }