code refactor

This commit is contained in:
matixezor 2021-04-09 22:31:39 +02:00
parent 5f1780bc2f
commit 30b8fc3fae
3 changed files with 23 additions and 26 deletions

View File

@ -1,11 +1,10 @@
from const import SAPPER_IDLE from const import SAPPER_IDLE
import pygame as pg
class Agent: class Agent:
def __init__(self, x: int = 0, y: int = 0): def __init__(self, x: int = 0, y: int = 0, direction: int = 1):
self.name = "Kapitan Bomba" self.name = "Kapitan Bomba"
self.img = pg.image.load(SAPPER_IDLE[1]) self.img = SAPPER_IDLE[direction]
self.dir = 1 self.direction = direction
self.x = x self.x = x
self.y = y self.y = y

View File

@ -9,7 +9,6 @@ main_path = os.path.dirname(os.getcwd())
WIDTH = 800 WIDTH = 800
HEIGHT = 800 HEIGHT = 800
IMAGES = [] IMAGES = []
for name, val in { for name, val in {
'grass_01': 0, 'grass_01': 0,
@ -37,14 +36,18 @@ for name, val in {
) )
ICON = main_path + '/images/mine_icon.png' ICON = main_path + '/images/mine_icon.png'
SAPPER_IDLE = [main_path + '/images/sapper_idle/agent0.png',
main_path + '/images/sapper_idle/agent1.png',
main_path + '/images/sapper_idle/agent2.png',
main_path + '/images/sapper_idle/agent3.png']
SAPPER_IDLE = []
for name in [
'agent0',
'agent1',
'agent2',
'agent3',
]:
SAPPER_IDLE.append(pg.image.load(
main_path + '/images/sapper_idle/' + name + '.png'
))
#pg.image.load(main_path + '/images/sapper_idle/agent1.png')
#empty space
DEFAULT_FIELD = [ DEFAULT_FIELD = [

View File

@ -1,6 +1,4 @@
import pygame as pg import pygame as pg
import os
main_path = os.path.dirname(os.getcwd())
from agent import Agent from agent import Agent
from environment import Environment from environment import Environment
@ -15,16 +13,16 @@ class GameUi:
self.screen = pg.display.set_mode((WIDTH, HEIGHT)) self.screen = pg.display.set_mode((WIDTH, HEIGHT))
def move(self): def move(self):
coord = 'x' if self.agent.dir in (1, 3) else 'y' coord = 'x' if self.agent.direction in (1, 3) else 'y'
shift = -1 if self.agent.dir in (2, 3) else 1 shift = -1 if self.agent.direction in (2, 3) else 1
# print(coord, shift)
test = int(getattr(self.agent, coord) + shift)
if coord == 'x': if coord == 'x':
if self.env.field[self.agent.y][test].number in (2, 3): if self.env.field[self.agent.y][self.agent.x+shift].number in (2, 3):
return return
elif coord == 'y': elif coord == 'y':
if self.env.field[test][self.agent.x].number in (2, 3): if self.env.field[self.agent.y+shift][self.agent.x].number in (2, 3):
return return
for x in range(8): for x in range(8):
setattr( setattr(
self.agent, self.agent,
@ -33,7 +31,7 @@ class GameUi:
else int(getattr(self.agent, coord) + (shift/8)) else int(getattr(self.agent, coord) + (shift/8))
) )
self.update() self.update()
self.clock.tick(15) self.clock.tick(20)
self.update() self.update()
def update(self): def update(self):
@ -43,10 +41,7 @@ class GameUi:
self.screen.blit(self.agent.img, (self.agent.x * 80, self.agent.y * 80)) self.screen.blit(self.agent.img, (self.agent.x * 80, self.agent.y * 80))
pg.display.update() pg.display.update()
def rotate(self, dir): def rotate(self, direction: int):
self.agent.dir = (self.agent.dir + dir) % 4 self.agent.direction = (self.agent.direction + direction) % 4
#print(self.agent.dir) self.agent.img = SAPPER_IDLE[self.agent.direction]
self.agent.img = pg.image.load(SAPPER_IDLE[self.agent.dir])
self.update() self.update()