From 0712b0f435879a9fc49f8b814f7b3b388da88441 Mon Sep 17 00:00:00 2001 From: Constantin Date: Fri, 19 Jul 2013 17:20:52 +0200 Subject: [PATCH 1/1] works now, only game over screen missing --- qt/multypo.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/qt/multypo.cpp b/qt/multypo.cpp index 973686b..1667c0f 100644 --- a/qt/multypo.cpp +++ b/qt/multypo.cpp @@ -43,8 +43,14 @@ void MultypoWindow::resetPlayerText() { void MultypoWindow::nextWord() { QByteArray tmp = words.readLine().trimmed(); QString word = QString::fromUtf8(tmp); - mainLabel->setText(word); - typingPlayers = players.size(); + if (word.isEmpty()) { // game over + qDebug() << "TODO: implement gameover"; + exit (0); + } else { + resetPlayerText(); + mainLabel->setText(word); + typingPlayers = players.size(); + } } void MultypoWindow::handleKeyPress(int device, QString string) @@ -68,6 +74,12 @@ void MultypoWindow::handleKeyPress(int device, QString string) players[device]->score += typingPlayers; QString readyString = QString("READY: %1 points").arg(typingPlayers); players[device]->setWaiting(readyString); + qDebug() << "typingPlayers " << typingPlayers; + typingPlayers--; + qDebug() << "typingPlayers " << typingPlayers; + if (typingPlayers <= 0) { + nextWord(); + } } } else { // name entering phase bool allHaveNames = true; @@ -120,7 +132,7 @@ bool MultypoWindow::handleX11Event(XEvent *event) for (int i = 0; i < ndevices; ++i) { if (devices[i].use != XIMasterKeyboard) continue; qDebug() << "Found master keyboard with ID" << devices[i].deviceid; - //XISetFocus(dpy, devices[i].deviceid, winId(), CurrentTime); + XISetFocus(dpy, devices[i].deviceid, winId(), CurrentTime); } XIFreeDeviceInfo(devices); -- 2.30.2