def test_board_contains_word(): res_1 = a3.board_contains_word(BOARD, "ANT") res_2 = a3.board_contains_word(BOARD, "NS") res_3 = a3.board_contains_word(BOARD, "NSA") assert type(res_1) is bool assert res_1 is True assert res_2 is True assert res_3 is False
def play_game(players, board, words): """ (list of [str, int] list, list of list of str, list of str) -> NoneType Play the game with players, board and words. """ global found_words num_remaining = a3.num_words_on_board(board, words) - len(found_words) player_num = 0 while num_remaining > 0: print_headers(players, board, found_words, num_remaining) guess = input("[{player}] Enter a word (or blank to pass): ".format( player=players[player_num % len(players)][0])) guess = guess.strip().upper() if a3.is_valid_word(words, guess) and a3.board_contains_word(board, guess) and \ not guess in found_words: a3.update_score(players[player_num % len(players)], guess) found_words.append(guess) num_remaining = a3.num_words_on_board(board, words) - len(found_words) player_num += 1 print("Game over!\n")
def test_board_does_not_contain_word_3(self): # given board = [['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']] word = 'NO' # when isWordInBoard = a3.board_contains_word(board, word) # then self.assertEquals(isWordInBoard, False)
def test_board_contains_word_2(self): # given board = [['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']] word = 'SO' # when isWordInBoard = a3.board_contains_word(board, word) # then self.assertEquals(isWordInBoard, True)
def game_play(self, guess): """ Accept trial word, process it, update scores, update found_words list, update player_num """ if guess == 'first_guess': # Needed because startup sends a '' first word player_name = self.players[0][0] message = player_name + ', enter a word' self.player_name_message.set(message) else: guess = guess.strip().upper() if a3.is_valid_word(self.words, guess) and a3.board_contains_word(self.board, guess) and \ not guess in self.found_words_list: a3.update_score(self.players[self.player_num], guess) self.set_scores() self.found_words_list.append(guess) self.set_found_words(self.found_words_list) num_remaining = a3.num_words_on_board( self.board, self.words) - len(self.found_words_list) self.set_num_words_rem(num_remaining) self.reset_trial_word() if num_remaining == 0: self.game_over() else: self.player_num += 1 if self.player_num >= len(self.players): self.player_num = 0 self.set_player_name(self.player_num) else: self.error_message = "\"" + guess + "\"" + " invalid, not in board, or previously chosen. Miss turn." self.invalid_word = True self.set_scores() self.player_num += 1 if self.player_num >= len(self.players): self.player_num = 0 self.set_player_name(self.player_num) self.reset_trial_word()
def play_game(players, board, words): ''' (list of [str, int] list, list of list of str, list of str) -> NoneType Play the game with players, board and words. ''' num_remaining = a3.num_words_on_board(board, words) - len(found_words) player_num = 0 while num_remaining > 0: print_headers(players, board, found_words, num_remaining) guess = input("[{player}] Enter a word (or blank to pass): ".format( player=players[player_num % len(players)][0])) guess = guess.strip().upper() if a3.is_valid_word(words, guess) and a3.board_contains_word(board, guess): a3.update_score(players[player_num % len(players)], guess) found_words.append(guess) num_remaining = a3.num_words_on_board(board, words) - len(found_words) player_num += 1 print("Game over!\n")
def test_board_contains_word(self): self.assertTrue(a3.board_contains_word(self.board1,'ANT')) self.assertTrue(a3.board_contains_word(self.board3,'ABC')) self.assertTrue(a3.board_contains_word(self.board4,'GRASS'))
# print(lst[0][3]) # lst = ['A', 'N', 'T', 'T'] # print(lst[0]) # for i in range(len(lst)): # print(lst[i]) lst = [['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']] print(range(len(lst))) # print(lst[i][1]) #print(lst[0][1] + lst[1][1]) # prin(lst[i][column_index]) print(a3.make_str_from_column([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 1)) print(a3.make_str_from_column([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 2)) print( a3.board_contains_word_in_row([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'SOB')) print( a3.board_contains_word_in_column( [['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'NO')) print( a3.board_contains_word([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'ANT'))
def test_board__contains_column_word(self): self.assertTrue(a3.board_contains_word([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'TO'))
def test_board_aint_gonna_contains_word(self): self.assertFalse(a3.board_contains_word([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'OVERCOMPENSATED'))
def test_board_contains_row_word(self): self.assertTrue(a3.board_contains_word([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'ANT'))
def test30_board_contains_word(self): """should return false for substring mismatch in column for non square board""" self.assertEqual(False, a3.board_contains_word(self.asym_board, "ADM"))
def test29_board_contains_word(self): """should return false for substring mismatch in column for square board""" self.assertEqual(False, a3.board_contains_word(self.sym_board, "HASDEL"))
def test27_board_contains_word(self): """should return false for substring mismatch in row for square board""" self.assertEqual(False, a3.board_contains_word(self.sym_board, "BDA"))
def test26_board_contains_word(self): """should return true for substring match in column for non square board""" self.assertEqual(True, a3.board_contains_word(self.asym_board, "ADN"))
def test23_board_contains_word(self): """should return true for substring match in row for square board""" self.assertEqual(True, a3.board_contains_word(self.sym_board, "TDA"))