37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
import pygame
|
|
|
|
|
|
class MLPlay:
|
|
def __init__(self, ai_name: str, *args, **kwargs):
|
|
self.ai_name = ai_name
|
|
print(f"Initial {__file__} script with ai_name:{ai_name}")
|
|
|
|
def update(self, scene_info: dict, keyboard: list = [], *args, **kwargs):
|
|
"""
|
|
Generate the command according to the received scene information
|
|
"""
|
|
# print("AI received data from game :", json.dumps(scene_info))
|
|
# print(scene_info)
|
|
actions = []
|
|
|
|
if pygame.K_w in keyboard or pygame.K_UP in keyboard:
|
|
actions.append("UP")
|
|
elif pygame.K_s in keyboard or pygame.K_DOWN in keyboard:
|
|
actions.append("DOWN")
|
|
|
|
elif pygame.K_a in keyboard or pygame.K_LEFT in keyboard:
|
|
actions.append("LEFT")
|
|
elif pygame.K_d in keyboard or pygame.K_RIGHT in keyboard:
|
|
actions.append("RIGHT")
|
|
else:
|
|
actions.append("NONE")
|
|
|
|
return actions
|
|
|
|
def reset(self):
|
|
"""
|
|
Reset the status
|
|
"""
|
|
print("reset ml script")
|
|
pass
|