Returns True if player has four tiles in a row on board, otherwise returns False.
(player, board)
| 133 | |
| 134 | |
| 135 | def isWinner(player, board): |
| 136 | """Returns True if player has four tiles in a row on board, |
| 137 | otherwise returns False.""" |
| 138 | |
| 139 | # Go through the entire board, checking for five-in-a-row: |
| 140 | for columnIndex in range(BOARD_WIDTH - 4): |
| 141 | for rowIndex in range(BOARD_HEIGHT): |
| 142 | # Check for five-in-a-row going across to the right: |
| 143 | tile1 = board[(columnIndex, rowIndex)] |
| 144 | tile2 = board[(columnIndex + 1, rowIndex)] |
| 145 | tile3 = board[(columnIndex + 2, rowIndex)] |
| 146 | tile4 = board[(columnIndex + 3, rowIndex)] |
| 147 | tile5 = board[(columnIndex + 4, rowIndex)] |
| 148 | if tile1 == tile2 == tile3 == tile4 == tile5 == player: |
| 149 | return True |
| 150 | |
| 151 | for columnIndex in range(BOARD_WIDTH): |
| 152 | for rowIndex in range(BOARD_HEIGHT - 4): |
| 153 | # Check for five-in-a-row going down: |
| 154 | tile1 = board[(columnIndex, rowIndex)] |
| 155 | tile2 = board[(columnIndex, rowIndex + 1)] |
| 156 | tile3 = board[(columnIndex, rowIndex + 2)] |
| 157 | tile4 = board[(columnIndex, rowIndex + 3)] |
| 158 | tile5 = board[(columnIndex, rowIndex + 4)] |
| 159 | if tile1 == tile2 == tile3 == tile4 == tile5 == player: |
| 160 | return True |
| 161 | |
| 162 | for columnIndex in range(BOARD_WIDTH - 4): |
| 163 | for rowIndex in range(BOARD_HEIGHT - 4): |
| 164 | # Check for five-in-a-row going right-down diagonal: |
| 165 | tile1 = board[(columnIndex, rowIndex)] |
| 166 | tile2 = board[(columnIndex + 1, rowIndex + 1)] |
| 167 | tile3 = board[(columnIndex + 2, rowIndex + 2)] |
| 168 | tile4 = board[(columnIndex + 3, rowIndex + 3)] |
| 169 | tile5 = board[(columnIndex + 4, rowIndex + 4)] |
| 170 | if tile1 == tile2 == tile3 == tile4 == tile5 == player: |
| 171 | return True |
| 172 | |
| 173 | # Check for five-in-a-row going left-down diagonal: |
| 174 | tile1 = board[(columnIndex + 4, rowIndex)] |
| 175 | tile2 = board[(columnIndex + 3, rowIndex + 1)] |
| 176 | tile3 = board[(columnIndex + 2, rowIndex + 2)] |
| 177 | tile4 = board[(columnIndex + 1, rowIndex + 3)] |
| 178 | tile5 = board[(columnIndex, rowIndex + 4)] |
| 179 | if tile1 == tile2 == tile3 == tile4 == tile5 == player: |
| 180 | return True |
| 181 | return False |
| 182 | |
| 183 | |
| 184 | def isBoardFull(board): |