-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgame_greedy_wasd.py
43 lines (30 loc) · 1.01 KB
/
game_greedy_wasd.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import random
import game
from game_simulator import Simulator
def actor(board):
up_board = game.push_board_up(board)
left_board = game.push_board_left(board)
right_board = game.push_board_right(board)
down_board = game.push_board_down(board)
# If possible, keep a piece in the upper left
if board != up_board and up_board[0][0] != 0:
return up_board
if board != left_board and left_board[0][0] != 0:
return left_board
if board != right_board and right_board[0][0] != 0:
return right_board
if board != down_board and down_board[0][0] != 0:
return down_board
# Can't keep piece in upper left, try to keep our pattern
if board != up_board:
return up_board
if board != left_board:
return left_board
if board != right_board:
return right_board
if board != down_board:
return down_board
raise Exception('No possible move')
if __name__ == "__main__":
sim = Simulator.from_argv(actor)
sim.run()