(self)
| 1097 | return |
| 1098 | |
| 1099 | def nextTurn(self): |
| 1100 | self.turnComplete = False |
| 1101 | self.handPosition = 0 |
| 1102 | turnType = self.players[self.turn].getType() |
| 1103 | self.players[self.turn].beginTurn() |
| 1104 | ### Prepare Hand Visuals ### |
| 1105 | |
| 1106 | self.elements['HName'] = self.handTitles[self.turn] |
| 1107 | self.buildHandVisual(self.turn) |
| 1108 | |
| 1109 | if self.event == 'skip': |
| 1110 | self.eventSkip() |
| 1111 | elif self.drawAmount > 0: |
| 1112 | self.eventDraw() |
| 1113 | |
| 1114 | while not self.turnComplete: |
| 1115 | if turnType == 'Human': |
| 1116 | self.players[self.turn].getLegalCards(self.currentColor, self.currentValue, self.zeroChange) |
| 1117 | if len(self.deck) > 0: |
| 1118 | self.elements['Console'] = 'Select a card, (D)raw, or (P)ause.' |
| 1119 | else: |
| 1120 | self.players[self.turn].removeForceDraw() |
| 1121 | self.elements['Console'] = 'Select a card, (D)raw, (P)ause, or Pas(s).' |
| 1122 | if self.players[self.turn].getForceDraws() > 0: |
| 1123 | self.elements['Error'] = 'Draw Card Played! Draw {} cards.'.format(self.players[self.turn].getForceDraws()) |
| 1124 | print(self.drawScreen()) |
| 1125 | playerInput = str(input("\033[97mSelection: \033[92m")) |
| 1126 | checked = self.checkInput(playerInput) |
| 1127 | while not checked['valid']: |
| 1128 | print(self.drawScreen()) |
| 1129 | playerInput = str(input("\033[97mSelection: \033[92m")) |
| 1130 | checked = self.checkInput(playerInput) |
| 1131 | |
| 1132 | playerInput = checked['entry'] |
| 1133 | |
| 1134 | if playerInput == '<': |
| 1135 | self.handPosition -= 1 |
| 1136 | if self.handPosition == -1: |
| 1137 | self.handPosition = self.players[self.turn].maxScroll |
| 1138 | self.buildHandVisual(self.turn) |
| 1139 | elif playerInput == '>': |
| 1140 | self.handPosition += 1 |
| 1141 | if self.handPosition > self.players[self.turn].maxScroll: |
| 1142 | self.handPosition = 0 |
| 1143 | self.buildHandVisual(self.turn) |
| 1144 | elif playerInput == 'd': |
| 1145 | if len(self.deck) > 0: |
| 1146 | self.elements['Error'] = '' |
| 1147 | self.dealCard(self.turn) |
| 1148 | else: |
| 1149 | self.elements['Error'] = "Cannot Draw. Deck is Empty" |
| 1150 | elif playerInput == 'p': |
| 1151 | pauseOutput = self.pauseScreen() |
| 1152 | if pauseOutput == 'quit': |
| 1153 | self.matchComplete = True |
| 1154 | self.turnComplete = True |
| 1155 | self.winnerID = 'play1' |
| 1156 | self.matchAbort = True |
no test coverage detected