From e54ccad07e256ba877bd41d70bd358bd0085bd1e Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 3 May 2011 01:00:51 +0200 Subject: - add endless wait for players - add eating order randomization --- pacman-c++/mainwidget.cpp | 2 +- pacman-c++/server.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index 8745bf9..49ddf7a 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp @@ -31,7 +31,7 @@ MainWidget::MainWidget(QWidget *parent) /* wait for the server to send the first map update (initial map) * WARNING: this will block the gui */ - m_socket->waitForReadyRead(); + m_socket->waitForReadyRead(-1); tick(); qDebug() << "[Connect] mycolor=" << m_scene->color(); diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index 962d1bf..2311c81 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp @@ -24,7 +24,7 @@ bool Server::run() /* create eating order list first - this can also be created dynamically per round (theoretically) */ for(unsigned int i = 0; i < m_maxplayers; ++i) m_eatingorder.append(Color::order[i]); - m_eatingorder.append(Color::order[0]); + m_eatingorder.append(m_eatingorder.at(0)); m_tickTimer = new QTimer(this); m_tickTimer->setInterval(Constants::tick); @@ -604,6 +604,11 @@ void Server::initRoundMap() /* reset scene and clean up items */ reset(); + /* randomize color eating order */ + m_eatingorder.removeLast(); + random_shuffle(m_eatingorder.begin(), m_eatingorder.end()); + m_eatingorder.append(m_eatingorder.at(0)); + /* create new map */ Transmission::map_t map = Util::createDemoMap(); Util::placeActors(map, m_maxplayers, Color::order); -- cgit v1.2.3