def __init__(self, characters, **kwargs): super(Player, self).__init__(**kwargs) self.facing_options = {'u':(0,-1), 'd':(0,1), 'l':(1,0), 'r':(-1,0), 'ur':(1, -1), 'ul':(-1,-1), 'dr':(1,1), 'dl':(-1, 1)} self.characters = [create_character(characters[0]), create_character(characters[1]), create_character(characters[2])] self.active_character = self.characters[0] self.add_widget(self.active_character) self.crosshairs = Image(size_hint = (1.0, 1.0), source = './assets/player/crosshairs_normal_u.png', allow_stretch = True) self.add_widget(self.crosshairs) self.bind(facing = self.update_crosshairs_cb)
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_create_character(self): self.assertEqual( { "Name": "Honorable Knight", "Health": 10, "Position": [0, 0] }, characters.create_character())
def main(): print('*****Welcome to Moonfall*******') print() print('Moonfall is a text based fantasy adventure.') print() input('Press enter to begin playing.') print() player = characters.create_character() launch(player)
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_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))