Intelligent_Tractor/agent.py
2020-06-29 10:59:56 +02:00

44 lines
1.2 KiB
Python

import pygame as pg
import sys
import numpy as np
from tile import Tile
from config import *
class Agent:
def __init__(self):
self.prev = (4, 4)
self.pos = (4, 4)
self.dir = "E"
def turn(self, a, b):
x_mov = a[0] - b[0]
y_mov = a[1] - b[1]
if (x_mov, y_mov) == (0, 1):
self.dir = "S"
if (x_mov, y_mov) == (0, -1):
self.dir = "N"
if (x_mov, y_mov) == (1, 0):
self.dir = "E"
if (x_mov, y_mov) == (-1, 0):
self.dir = "W"
def display(self, step=None):
pg.time.delay(150)
agent_img = pg.image.load('tractor.png').convert_alpha()
if step is not None:
self.prev = self.pos
self.pos = step
self.turn(self.pos, self.prev)
if self.dir == "N":
angle = 270
elif self.dir == "E":
angle = 180
elif self.dir == "S":
angle = 90
elif self.dir == "W":
angle = 0
agent_img = pg.transform.rotate(agent_img, angle)
screen.blit(agent_img, (self.pos[0] * tile_size, self.pos[1] * tile_size))
pg.display.flip()