code refactor
This commit is contained in:
parent
5f1780bc2f
commit
30b8fc3fae
@ -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
|
||||||
|
17
src/const.py
17
src/const.py
@ -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 = [
|
||||||
|
@ -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()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user