Ejemplo n.º 1
0
    def test_dont_go_to_middle(self):
        with open('game_scenario_dont_go_to_middle.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("left", jazz_snake.calculate_move())
Ejemplo n.º 2
0
    def test_attack(self):
        with open('game_scenario_attack.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertIn(jazz_snake.calculate_move(), ["up", "right"])
Ejemplo n.º 3
0
    def test_only_bad_options(self):
        with open('game_scenario.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("right", jazz_snake.calculate_move())
Ejemplo n.º 4
0
    def test_should_not_crash_into_snake_butt(self):
        with open('game_scenario_snake_butt_crash.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertNotEqual("right", jazz_snake.calculate_move())
Ejemplo n.º 5
0
    def test_only_dir_is_down(self):
        with open('game_scenario_only_dir_is_down.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("down", jazz_snake.calculate_move())
Ejemplo n.º 6
0
    def test_should_go_down_to_tail_after_eating(self):
        with open('game_scenario_down_to_tail.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("down", jazz_snake.calculate_move())
Ejemplo n.º 7
0
    def test_should_go_up_instead_of_down_into_food_with_no_exit(self):
        with open('game_scenario_doomed_food.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("up", jazz_snake.calculate_move())
Ejemplo n.º 8
0
    def test_should_go_for_food_2(self):
        with open('game_scenario_multi_snake.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("left", jazz_snake.calculate_move())
Ejemplo n.º 9
0
    def test_should_follow_tail(self):
        with open('game_scenario_follow_tail.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        jazz_snake = JazzSnake(game_data)

        self.assertEqual("right", jazz_snake.calculate_move())
Ejemplo n.º 10
0
    def test_shouldnt_crash_on_print(self):
        with open('game_scenario_invalid_path.json') as file:
            data = file.read().replace('\n', '')

        game_data = json.loads(data)

        JazzSnake(game_data).calculate_move()
Ejemplo n.º 11
0
    def move(self):
        # This function is called on every turn of a game. It's how your snake decides where to move.
        # Valid moves are "up", "down", "left", or "right".
        # TODO: Use the information in cherrypy.request.json to decide your next move.
        data = cherrypy.request.json
        print(f"TURN {data['turn']}")
        print("==============")

        print(f"DATA: {data}")

        jazz_snake = JazzSnake(data)

        return {
            'move': jazz_snake.calculate_move(),
            'shout': 'tss ts ts tss ts ts tss'
        }