Projekt_AI-Automatyczny_saper/Engine/Agent.py

48 lines
1.4 KiB
Python
Raw Normal View History

2021-03-16 18:53:26 +01:00
import pygame
2021-03-15 19:04:51 +01:00
from Constants import ROWS, COLS, UP, LEFT, DOWN, RIGHT
2021-03-30 21:01:54 +02:00
2021-03-15 19:04:51 +01:00
class Agent(object):
2021-03-27 22:07:55 +01:00
def __init__(self, point):
self.point = point
2021-03-16 18:53:26 +01:00
self.image = pygame.image.load('Engine/agent.png')
2021-04-13 19:32:08 +02:00
self.orientation = 0
2021-03-15 19:04:51 +01:00
2021-03-27 22:07:55 +01:00
def getPoint(self):
return self.point
2021-03-30 21:01:54 +02:00
def defuse(self, bomb):
bomb.isDefused = True
2021-04-13 19:32:08 +02:00
def rotateImage(self, orientation):
angle = self.getAngle(orientation)
self.image = pygame.transform.rotate(self.image, 360 - self.orientation)
self.image = pygame.transform.rotate(self.image, angle)
self.orientation = angle
def getAngle(self,orientation):
if self.point.getX() < orientation.getX():
return 0
elif self.point.getY() > orientation.getY():
2021-04-13 21:27:51 +02:00
return 90
2021-04-13 19:32:08 +02:00
elif self.point.getX() > orientation.getX():
return 180
elif self.point.getY() < orientation.getY():
2021-04-13 21:27:51 +02:00
return 270
2021-04-13 19:32:08 +02:00
return 0
2021-03-16 18:53:26 +01:00
# def ifNotOnEdge(self, destination):
# if destination == UP:
# if self.x - 1 <= 0:
# return False
# if destination == DOWN:
# if self.x + 1 > ROWS:
# return False
# if destination == LEFT:
# if self.y - 1 <= 0:
# return False
# if destination == RIGHT:
# if self.y + 1 > COLS:
# return False
2021-03-30 21:01:54 +02:00
# return True