You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(list(map(add, player.position[-1], [-20,0])) inplayer.positionandplayer.x_change!=20) or
45
-
player.position[-1][0] -20<0, # danger left
46
-
(list(map(add, player.position[-1], [-40,0])) inplayer.positionandplayer.x_change!=20) or
47
-
player.position[-1][0] -40<0, # danger 2 left
48
-
(list(map(add, player.position[-1], [20,0])) inplayer.positionandplayer.x_change!=-20) or
49
-
player.position[-1][0] +20>game.display_width, # danger right
50
-
(list(map(add, player.position[-1], [40, 0])) inplayer.positionandplayer.x_change!=-20) or
51
-
player.position[-1][0] +40>game.display_width, # danger 2 right
52
-
(list(map(add, player.position[-1], [0, -20])) inplayer.positionandplayer.y_change!=20) or
53
-
player.position[-1][-1] -20<0, # danger up
54
-
(list(map(add, player.position[-1], [0, -40])) inplayer.positionandplayer.y_change!=20) or
55
-
player.position[-1][-1] -40<0, # danger 2 up
56
-
(list(map(add, player.position[-1], [0, 20])) inplayer.positionandplayer.y_change!=-20) or
57
-
player.position[-1][-1] +20>=game.display_height, # danger down
58
-
(list(map(add, player.position[-1], [0, 40])) inplayer.positionandplayer.y_change!=-20) or
59
-
player.position[-1][-1] +40>game.display_height, # danger 2 down
60
-
61
-
# (player.position[-1][0] - 20 in self.get_position_x_y(player)[0] and player.x_change!=20) or player.position[-1][0] - 20 <= 0, # danger left
62
-
# (player.position[-1][0] - 40 in self.get_position_x_y(player)[0] and player.x_change!=20) or player.position[-1][0] - 40 <= 0, # danger 2 left
63
-
# (player.position[-1][0] + 20 in self.get_position_x_y(player)[0] and player.x_change != -20) or player.position[-1][0] + 20 >= game.display_width, # danger right
64
-
# (player.position[-1][0] + 40 in self.get_position_x_y(player)[0] and player.x_change != -20) or player.position[-1][0] + 40 >= game.display_width, # danger 2 right
65
-
# (player.position[-1][-1] - 20 in self.get_position_x_y(player)[1] and player.y_change != 20) or player.position[-1][-1] - 20 <= 0, # danger up
66
-
# (player.position[-1][-1] - 40 in self.get_position_x_y(player)[1] and player.y_change != 20) or player.position[-1][-1] - 40 <= 0, # danger 2 up
67
-
# (player.position[-1][-1] + 20 in self.get_position_x_y(player)[1] and player.y_change != -20) or player.position[-1][-1] + 20 >= game.display_height, # danger down
68
-
# (player.position[-1][-1] + 40 in self.get_position_x_y(player)[1] and player.y_change != -20) or player.position[-1][-1] + 40 >= game.display_height,# danger 2 down
69
-
#player.x_change == - 20 and (player.position[-1][0] - 20 < 0 or player.position[-1][0] - 20 in self.get_position_x_y(player)[0]),#danger straight
70
-
player.x_change==-20, # move left
71
-
player.x_change==20, # move right
72
-
player.y_change==-20, # move up
73
-
player.y_change==20, # move down
74
-
food.x_food<player.x, # food left
75
-
food.x_food>player.x, # food right
76
-
food.y_food<player.y, # food up
77
-
food.y_food>player.y# food down
44
+
(player.x_change==20andplayer.y_change==0and ((list(map(add, player.position[-1], [20, 0])) inplayer.position) or
45
+
player.position[-1][0] +20>=game.display_width)) or (player.x_change==-20andplayer.y_change==0and ((list(map(add, player.position[-1], [-20, 0])) inplayer.position) or
46
+
player.position[-1][0] -20<0)) or (player.x_change==0andplayer.y_change==-20and ((list(map(add, player.position[-1], [0, -20])) inplayer.position) or
47
+
player.position[-1][-1] -20<0)) or (player.x_change==0andplayer.y_change==20and ((list(map(add, player.position[-1], [0, 20])) inplayer.position) or
(player.x_change==0andplayer.y_change==20and ((list(map(add,player.position[-1],[20,0])) inplayer.position) or
58
+
player.position[-1][0] +20>game.display_width)) or (player.x_change==0andplayer.y_change==-20and ((list(map(
59
+
add, player.position[-1],[-20,0])) inplayer.position) orplayer.position[-1][0] -20<0)) or (player.x_change==20andplayer.y_change==0and (
60
+
(list(map(add,player.position[-1],[0,-20])) inplayer.position) orplayer.position[-1][-1] -20<0)) or (
61
+
player.x_change==-20andplayer.y_change==0and ((list(map(add,player.position[-1],[0,20])) inplayer.position) or
62
+
player.position[-1][-1] +20>=game.display_height)), #danger left
63
+
64
+
65
+
player.x_change==-20, # move left
66
+
player.x_change==20, # move right
67
+
player.y_change==-20, # move up
68
+
player.y_change==20, # move down
69
+
food.x_food<player.x, # food left
70
+
food.x_food>player.x, # food right
71
+
food.y_food<player.y, # food up
72
+
food.y_food>player.y# food down
78
73
]
79
74
80
75
foriinrange(len(state)):
81
76
ifstate[i]:
82
77
state[i]=1
83
78
else:
84
79
state[i]=0
85
-
# if state[0] == 1:
86
-
# print('DANGER LEFT')
87
-
# if state[1] == 1:
88
-
# print('DANGER 2 LEFT')
89
-
# if state[2] == 1:
90
-
# print('DANGER RIGHT')
91
-
# if state[3] == 1:
92
-
# print('DANGER 2 RIGHT')
93
-
# if state[4] == 1:
94
-
# print('DANGER UP')
95
-
# if state[5] == 1:
96
-
# print('DANGER 2 UP')
97
-
# if state[6] == 1:
98
-
# print('DANGER DOWN')
99
-
# if state[7] == True:
100
-
# print('DANGER 2 DOWN')
101
80
102
81
returnnp.asarray(state)
103
82
104
-
defget_position_x_y(self, player):
105
-
position_x= []
106
-
position_y= []
107
-
foriinplayer.position:
108
-
position_x.append(i[0])
109
-
position_y.append(i[1])
110
-
returnposition_x, position_y
111
-
112
-
defset_reward(self, game, player, food, crash):
83
+
defset_reward(self, player, food, crash):
84
+
self.reward=0
113
85
ifcrash:
114
86
self.reward=-10
115
87
returnself.reward
116
88
ifplayer.eaten:
117
89
self.reward=10
118
-
elif (player.x_change<0andfood.x_food<player.x) or (player.x_change>0andfood.x_food>player.x) or (player.y_change<0andfood.y_food<player.y) or (player.y_change>0andfood.y_food>player.y):
119
-
self.reward=2
120
-
else:
121
-
self.reward=-1
90
+
# elif (player.x_change < 0 and food.x_food < player.x) or (player.x_change > 0 and food.x_food > player.x) or (player.y_change < 0 and food.y_food < player.y) or (player.y_change > 0 and food.y_food > player.y):
0 commit comments