def test_validate_move_for_all_invalid_moves_north(self): board = map.make_board() for number in range(5): player = characters.create_character() player["Position"] = [0, number] if board[number][0] == 0: self.assertEqual(False, sud.validate_move(board, player, "N"))
def test_validate_move_for_all_valid_moves_east(self): board = map.make_board() for index, coordinate in enumerate(board): player = characters.create_character() player["Position"] = list(board[index]) if board[index][1] != 4: self.assertEqual(True, sud.validate_move(board, player, "E"))
def test_validate_move_for_all_invalid_moves_south(self): board = map.make_board() for index, coordinate in enumerate(board): player = characters.create_character() player["Position"] = list(board[index]) if board[index][0] == 4: self.assertEqual(False, sud.validate_move(board, player, "S"))
def game(): """ Plays a game for the user using user input. """ display.display_game_scenario() board = map.make_board() player = characters.create_character() found_exit = False while not found_exit: display.print_current_position(board, player) direction = get_user_choice() if direction == "quit": print("You have either chosen to quit or died either way you failed your quest!") return valid_move = validate_move(board, player, direction) if valid_move: characters.move_character(player, direction) found_exit = check_if_exit_is_reached(player) if not found_exit: if not movement_handler(player): print("You have either chosen to quit or died either way you failed your quest!") return else: print("You can't go in that direction because it is a wall") display.display_game_ending()
def test_move_character_north(self): board = map.make_board() player = characters.create_character() for index, coordinate in enumerate(board): player["Position"] = list(board[index]) if board[index][0] != 0: expected_position = [ player["Position"][0] - 1, player["Position"][1] ] characters.move_character(player, "N") self.assertEqual(expected_position, player["Position"])
def test_make_board(self): expected_return = [(row, column) for row in range(5) for column in range(5)] self.assertEqual(expected_return, map.make_board())
def test_check_if_exit_is_reached_all_not_reached_positions(self): board = map.make_board() player = characters.create_character() for coordinate in board: player["Position"] = list([coordinate]) self.assertEqual(False, sud.check_if_exit_is_reached(player))