import random import pygame from Constants import SQUARE_SIZE, GREEN, RIGHT, LEFT, UP, DOWN, COLS, ROWS, DECOY, ATOMIC_BOMB, CHEMICAL_BOMB, CLAYMORE, LAND_MINE from Engine.Board import Board from Engine.Agent import Agent from Engine.BombFactory import BombFactory from Engine.Point import Point class Game: def __init__(self, win): self._init(win) self.win = win self.randomizeObject() pygame.display.update() def _init(self,win): self.board = Board(win) self.agent = Agent(Point(0,0)) self.turn = GREEN self.goingDown = True def update(self): self.board.drawSquares(self.win) self.board.drawBombs() self.board.drawAgent(self.win,self.agent) pygame.display.update() def move(self): point = self.agent.getPoint() if self.goingDown: if point.getY() + 1 < ROWS: point.y += 1 elif point.getX() + 1 < COLS: point.x += 1 self.goingDown = not self.goingDown else: if point.getY() - 1 >= 0: point.y -= 1 elif point.getX() + 1 < COLS: point.x += 1 self.goingDown = not self.goingDown self.agent.point = point def randomizeObject(self): for x in range(10): point = Point(random.randint(0,7), random.randint(0,7)) if point not in self.board.bombMap: bomb = self.pickBomb(random.randint(0, 4)) self.board.bombMap[point] = bomb def pickBomb(self, rand): if(rand == 0): return BombFactory.create(DECOY) elif(rand == 1): return BombFactory.create(CHEMICAL_BOMB) elif(rand == 2): return BombFactory.create(ATOMIC_BOMB) elif(rand == 3): return BombFactory.create(CLAYMORE) elif(rand == 4): return BombFactory.create(LAND_MINE)