32 lines
969 B
Python
32 lines
969 B
Python
|
import pygame
|
||
|
import project_constants as const
|
||
|
import json_generator as js
|
||
|
import json
|
||
|
|
||
|
# Class of our agent, initialization of it
|
||
|
# movment functions (those defiend by the 'go_' prefix are not meant to actually move our agent, they just return some values
|
||
|
# that are later used by another function called 'is_valid_move' (which is defined in Minefield));
|
||
|
|
||
|
class Agent:
|
||
|
def __init__(self, json_path):
|
||
|
with open(json_path) as json_data:
|
||
|
data = json.load(json_data)
|
||
|
self.x, self.y = data['agent_starting_position'].split(",")
|
||
|
self.position = [int(self.x), int(self.y)]
|
||
|
|
||
|
def go_right(self):
|
||
|
|
||
|
return self.position[0] + 1, self.position[1]
|
||
|
|
||
|
def go_left(self):
|
||
|
|
||
|
return self.position[0] -1, self.position[1]
|
||
|
|
||
|
def go_up(self):
|
||
|
|
||
|
return self.position[0], self.position[1] - 1
|
||
|
|
||
|
|
||
|
def go_down(self):
|
||
|
|
||
|
return self.position[0], self.position[1] + 1
|