def __init__(self, client, statusbar): super().__init__() self.signals = WorkerSignals() self.client = client self.statusbar = statusbar self.setBackground() label = QLabel('Current User: '******'background-color:white') self.userName = QLabel() self.userName.setStyleSheet('background-color:white') name = self.client.getUserName() if name: self.userName.setText(name[:-1]) else: self.statusbar.showMessage('Set User in the Options') userBox = QWidget() layout = QHBoxLayout(userBox) layout.addWidget(label) layout.addWidget(self.userName) startNewBut = QPushButton('Start New Game') startNewBut.clicked.connect(self.startNewGame) resumeBut = QPushButton('Resume Game') resumeBut.clicked.connect(self.resumeGame) loadGameBut = QPushButton('Load Game') loadGameBut.clicked.connect(self.loadGame) invites = self.client.getInvites() self.inviteBut = QPushButton('No invites :(') self.inviteBut.clicked.connect(self.viewInvites) self.playerList = QListWidget() layout = QGridLayout(self) layout.setRowStretch(0, 2) layout.setRowStretch(8, 2) layout.setColumnStretch(0, 2) layout.setColumnStretch(2, 2) layout.addWidget(QLabel('\t'), 0, 0, 1, 2) layout.addWidget(userBox, 1, 1) layout.addWidget(startNewBut, 2, 1) layout.addWidget(resumeBut, 3, 1) layout.addWidget(loadGameBut, 4, 1) layout.addWidget(self.inviteBut, 5, 1) label = QLabel('Online Players') label.setStyleSheet('background-color:white') layout.addWidget(label, 6, 1) layout.addWidget(self.playerList, 7, 1) layout.addWidget(QLabel('\t'), 8, 0, 1, 3)
def __init__(self, client, gamemodel, statusbar): super().__init__() self.threadpool = QThreadPool() self.client = client self.gamemodel = gamemodel self.statusbar = statusbar print(self.gamemodel.getCurrentPlayer()) self.gameMonitor = GameMonitor( self.client, self.gamemodel.getCurrentPlayer() != self.client.getUserName()) self.gameMonitor.signals.notify.connect(self.reloadGame) self.gameMonitor.signals.getchat.connect(self.updateChat) self.threadpool.start(self.gameMonitor) player1 = QLabel(self.gamemodel.getPlayerOne()[:-1]) player1.setAlignment(Qt.AlignCenter) vslabel = QLabel('vs') vslabel.setAlignment(Qt.AlignCenter) player2 = QLabel(self.gamemodel.getPlayerTwo()[:-1]) player2.setAlignment(Qt.AlignCenter) vsbox = QWidget() layout = QHBoxLayout(vsbox) layout.addWidget(player1) layout.addWidget(vslabel) layout.addWidget(player2) self.signals = WorkerSignals() self.passTurnBut = QPushButton('Accept and Pass Turn') self.passTurnBut.setEnabled(False) self.passTurnBut.clicked.connect(self.passTurn) self.returnToMainBut = QPushButton('Return To Main') self.returnToMainBut.clicked.connect(self.returnToMain) #Chat and button window self.chatWindow = QTextEdit() self.chatWindow.setReadOnly(True) self.sendWindow = QLineEdit() self.sendWindow.returnPressed.connect(self.sendMessage) msgArea = QWidget() layout = QVBoxLayout(msgArea) layout.addWidget(QLabel('Chat')) layout.addWidget(self.chatWindow) layout.addWidget(self.sendWindow) #Development gameArea = QWidget() layout = QGridLayout(gameArea) #Make the outer layer of Squares self.squares = [] self.cubes = np.ndarray(shape=(8, 8), dtype=object) maxrows = self.gamemodel.maxwidth maxcols = self.gamemodel.maxwidth for idx, row in enumerate(self.gamemodel.getCubes()): for idy, gamecube in enumerate(row): if gamecube is not None: newCube = CubeWidget(self.client, self.gamemodel, gamecube) newCube.signals.pickedUp.connect(self.pickedUp) newCube.signals.cancelSelection.connect(self.cancelMove) self.cubes[idx][idy] = newCube layout.addWidget(newCube, gamecube.x, gamecube.y) else: if idx == 0 and idy == 0: continue elif idx == maxrows + 1 and idy == 0: continue elif idx == 0 and idy == maxcols + 1: continue elif idx == maxrows + 1 and idy == maxcols + 1: continue else: newSquare = SquareWidget(self.client, self.gamemodel, idx, idy, maxrows + 1, maxcols + 1) newSquare.signals.receievedCube.connect(self.queueDrop) newSquare.signals.pickedUp.connect(self.pickedUp) self.squares.append(newSquare) layout.addWidget(newSquare, idx, idy) layout = QGridLayout(self) layout.setRowStretch(1, 2) layout.addWidget(vsbox, 0, 0) layout.addWidget(gameArea, 1, 0) layout.addWidget(msgArea, 0, 1, 2, 1) layout.addWidget(self.passTurnBut, 2, 0) layout.addWidget(self.returnToMainBut, 2, 1) self.setAcceptDrops(True) self.refresh()