@@ -31,7 +31,8 @@ def __init__(self):
31
31
pygame .display .set_caption ("AI-driven AI Tron" )
32
32
self .clock = pygame .time .Clock ()
33
33
self .running = True
34
- self .board = [[BLACK for _ in range (NUM_TILES_X )] for _ in range (NUM_TILES_Y )]
34
+ self .board = [[BLACK for _ in range (NUM_TILES_X )]
35
+ for _ in range (NUM_TILES_Y )]
35
36
self .player1_pos = (NUM_TILES_X // 4 , NUM_TILES_Y // 2 )
36
37
self .player2_pos = (NUM_TILES_X * 3 // 4 , NUM_TILES_Y // 2 )
37
38
self .player1_direction = RIGHT
@@ -40,7 +41,8 @@ def __init__(self):
40
41
def draw_board (self ):
41
42
for y in range (NUM_TILES_Y ):
42
43
for x in range (NUM_TILES_X ):
43
- pygame .draw .rect (self .screen , self .board [y ][x ], (x * TILE_SIZE , y * TILE_SIZE , TILE_SIZE , TILE_SIZE ))
44
+ pygame .draw .rect (
45
+ self .screen , self .board [y ][x ], (x * TILE_SIZE , y * TILE_SIZE , TILE_SIZE , TILE_SIZE ))
44
46
45
47
def move_player (self , player_pos , player_direction , player_color ):
46
48
x , y = player_pos
@@ -56,8 +58,10 @@ def move_player(self, player_pos, player_direction, player_color):
56
58
return False
57
59
58
60
def update (self ):
59
- new_player1_pos = self .move_player (self .player1_pos , self .player1_direction , BLUE )
60
- new_player2_pos = self .move_player (self .player2_pos , self .player2_direction , RED )
61
+ new_player1_pos = self .move_player (
62
+ self .player1_pos , self .player1_direction , BLUE )
63
+ new_player2_pos = self .move_player (
64
+ self .player2_pos , self .player2_direction , RED )
61
65
62
66
if not new_player1_pos or not new_player2_pos :
63
67
self .running = False
@@ -85,7 +89,8 @@ def alpha_beta_search(pos, direction, opponent_pos, depth, alpha, beta, max_play
85
89
for d in [UP , DOWN , LEFT , RIGHT ]:
86
90
new_pos = simulate_move (pos , d )
87
91
if is_valid_move (new_pos ):
88
- value = max (value , alpha_beta_search (new_pos , d , opponent_pos , depth - 1 , alpha , beta , False ))
92
+ value = max (value , alpha_beta_search (
93
+ new_pos , d , opponent_pos , depth - 1 , alpha , beta , False ))
89
94
alpha = max (alpha , value )
90
95
if beta <= alpha :
91
96
break
@@ -95,7 +100,8 @@ def alpha_beta_search(pos, direction, opponent_pos, depth, alpha, beta, max_play
95
100
for d in [UP , DOWN , LEFT , RIGHT ]:
96
101
new_pos = simulate_move (opponent_pos , d )
97
102
if is_valid_move (new_pos ):
98
- value = min (value , alpha_beta_search (pos , direction , new_pos , depth - 1 , alpha , beta , True ))
103
+ value = min (value , alpha_beta_search (
104
+ pos , direction , new_pos , depth - 1 , alpha , beta , True ))
99
105
beta = min (beta , value )
100
106
if beta <= alpha :
101
107
break
@@ -106,7 +112,8 @@ def alpha_beta_search(pos, direction, opponent_pos, depth, alpha, beta, max_play
106
112
for d in [UP , DOWN , LEFT , RIGHT ]:
107
113
new_pos = simulate_move (player_pos , d )
108
114
if is_valid_move (new_pos ):
109
- score = alpha_beta_search (new_pos , d , opponent_pos , depth = 3 , alpha = - float ('inf' ), beta = float ('inf' ), max_player = False )
115
+ score = alpha_beta_search (
116
+ new_pos , d , opponent_pos , depth = 3 , alpha = - float ('inf' ), beta = float ('inf' ), max_player = False )
110
117
if score > best_score :
111
118
best_score = score
112
119
best_move = d
@@ -143,4 +150,3 @@ def run(self):
143
150
if __name__ == "__main__" :
144
151
game = TronGame ()
145
152
game .run ()
146
-
0 commit comments