|
|
@ -3,7 +3,7 @@ from __future__ import print_function
|
|
|
|
from PySide import QtCore, QtGui
|
|
|
|
from PySide import QtCore, QtGui
|
|
|
|
|
|
|
|
|
|
|
|
from player import Player
|
|
|
|
from player import Player
|
|
|
|
from windows import QuestionWindow, EditAnswersWindow
|
|
|
|
from windows import QuestionWindow, EditAnswersWindow, PlayerStartWindow
|
|
|
|
from gamestate import QuestionAnswers
|
|
|
|
from gamestate import QuestionAnswers
|
|
|
|
|
|
|
|
|
|
|
|
class SeopardyGame(QtGui.QWidget):
|
|
|
|
class SeopardyGame(QtGui.QWidget):
|
|
|
@ -12,13 +12,21 @@ class SeopardyGame(QtGui.QWidget):
|
|
|
|
|
|
|
|
|
|
|
|
self.questions = questions
|
|
|
|
self.questions = questions
|
|
|
|
self.gamestate = gamestate
|
|
|
|
self.gamestate = gamestate
|
|
|
|
self.players = [Player.gen_player(i, parent=self) for i in range(1, 4)]
|
|
|
|
#self.players = [Player.gen_player(i, parent=self) for i in range(1, 4)]
|
|
|
|
self._inOtherWindow = False
|
|
|
|
self.players = []
|
|
|
|
|
|
|
|
for i in range(3):
|
|
|
|
|
|
|
|
self.add_player()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self._inOtherWindow = False
|
|
|
|
self._createGui()
|
|
|
|
self._createGui()
|
|
|
|
|
|
|
|
|
|
|
|
self.showFullScreen()
|
|
|
|
self.showFullScreen()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# initiate starting the game!
|
|
|
|
|
|
|
|
QtCore.QCoreApplication.postEvent(self, GameStartEvent())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def add_player(self):
|
|
|
|
|
|
|
|
self.players.append(Player.gen_player(len(self.players)+1, self))
|
|
|
|
|
|
|
|
|
|
|
|
def _createGui(self):
|
|
|
|
def _createGui(self):
|
|
|
|
""" Create the board from questions. """
|
|
|
|
""" Create the board from questions. """
|
|
|
|
|
|
|
|
|
|
|
@ -64,6 +72,19 @@ class SeopardyGame(QtGui.QWidget):
|
|
|
|
|
|
|
|
|
|
|
|
self.board.itemAtPosition(number, secno-1).widget().setFocus()
|
|
|
|
self.board.itemAtPosition(number, secno-1).widget().setFocus()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def event(self, e):
|
|
|
|
|
|
|
|
if e.type() == GameStartEvent.eventType:
|
|
|
|
|
|
|
|
# start window
|
|
|
|
|
|
|
|
if not self._inOtherWindow:
|
|
|
|
|
|
|
|
self._inOtherWindow = True
|
|
|
|
|
|
|
|
x = PlayerStartWindow(self.players, self)
|
|
|
|
|
|
|
|
x.exec_()
|
|
|
|
|
|
|
|
self._inOtherWindow = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
return super(SeopardyGame, self).event(e)
|
|
|
|
|
|
|
|
|
|
|
|
def keyPressEvent(self, e):
|
|
|
|
def keyPressEvent(self, e):
|
|
|
|
if e.key() == QtCore.Qt.Key_Escape:
|
|
|
|
if e.key() == QtCore.Qt.Key_Escape:
|
|
|
|
self.close()
|
|
|
|
self.close()
|
|
|
@ -193,3 +214,8 @@ class FocusKeyGrabber(QtCore.QObject):
|
|
|
|
self._parent.setFocusToQuestion(self._secno, self._number+1)
|
|
|
|
self._parent.setFocusToQuestion(self._secno, self._number+1)
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
return QtCore.QObject.eventFilter(self, obj, e)
|
|
|
|
return QtCore.QObject.eventFilter(self, obj, e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GameStartEvent(QtCore.QEvent):
|
|
|
|
|
|
|
|
eventType = QtCore.QEvent.Type(QtCore.QEvent.registerEventType())
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
|
|
|
|
super(GameStartEvent, self).__init__(self.eventType)
|
|
|
|