added coords to background

This commit is contained in:
s452635 2021-05-02 21:04:41 +02:00
parent a4bc74d5f2
commit d47e46313c
12 changed files with 36 additions and 32 deletions

View File

@ -7,8 +7,8 @@ import project_constants as const
def calculate_screen_position(row, column): def calculate_screen_position(row, column):
coords = ( coords = (
const.V_SCREEN_PADDING + const.V_TILE_SIZE * column, const.V_NUMBER_PADDING + const.V_SCREEN_PADDING + const.V_TILE_SIZE * column,
const.V_SCREEN_PADDING + const.V_TILE_SIZE * row, const.V_NUMBER_PADDING + const.V_SCREEN_PADDING + const.V_TILE_SIZE * row,
) )
return coords return coords

12
main.py
View File

@ -25,11 +25,13 @@ def main():
# create an instance of Minefield, pass necessary data # create an instance of Minefield, pass necessary data
minefield = mf.Minefield(const.MAP_RANDOM_10x10) minefield = mf.Minefield(const.MAP_RANDOM_10x10)
# get sequence of actions found by BFS algorythm # get sequence of actions found by BFS algorithm
action_sequence = bfs.graphsearch(initial_state=bfs.State(row=minefield.agent.position[0], action_sequence = bfs.graphsearch(
column=minefield.agent.position[1], initial_state=bfs.State(
direction=const.Direction.UP), row=minefield.agent.position[0],
minefield=minefield) column=minefield.agent.position[1],
direction=const.Direction.UP),
minefield=minefield)
running = True running = True
while running: while running:

View File

@ -59,8 +59,8 @@ class Minefield:
@staticmethod @staticmethod
def calculate_screen_position(row, column): def calculate_screen_position(row, column):
coords = ( coords = (
const.V_SCREEN_PADDING + const.V_TILE_SIZE * column, const.V_NUMBER_PADDING + const.V_SCREEN_PADDING + const.V_TILE_SIZE * column,
const.V_SCREEN_PADDING + const.V_TILE_SIZE * row, const.V_NUMBER_PADDING + const.V_SCREEN_PADDING + const.V_TILE_SIZE * row,
) )
return coords return coords

View File

@ -14,21 +14,23 @@ from enum import Enum
# ================= # # ================= #
V_NAME_OF_WINDOW = "MineFusion TM" V_NAME_OF_WINDOW = "MineFusion TM"
ASSETS_DIR = os.path.join("resources", "assets") DIR_ASSETS = os.path.join("resources", "assets")
V_FPS = 60 V_FPS = 60
ACTION_INTERVAL = 1 # interval between two actions in seconds ACTION_INTERVAL = 1 # interval between two actions in seconds
V_TILE_SIZE = 60 V_TILE_SIZE = 60
V_GRID_VER_TILES = V_GRID_HOR_TILES = 10 # vertical (number of rows), horizontal (number of columns) V_GRID_VER_TILES = 10 # vertical (number of rows)
V_GRID_HOR_TILES = 10 # horizontal (number of columns)
V_SCREEN_PADDING = 10 V_SCREEN_PADDING = 10
V_WINDOW_HEIGHT = V_TILE_SIZE * V_GRID_VER_TILES V_NUMBER_PADDING = 50
V_WINDOW_WIDTH = V_TILE_SIZE * V_GRID_HOR_TILES V_TILE_AREA_HEIGHT = V_TILE_SIZE * V_GRID_VER_TILES
V_TILE_AREA_WIDTH = V_TILE_SIZE * V_GRID_HOR_TILES
SCREEN = pygame.display.set_mode( SCREEN = pygame.display.set_mode(
( (
V_TILE_SIZE * V_GRID_HOR_TILES + 2 * V_SCREEN_PADDING, # screen width V_TILE_AREA_WIDTH + 2 * V_SCREEN_PADDING + V_NUMBER_PADDING, # screen width
V_TILE_SIZE * V_GRID_HOR_TILES + 2 * V_SCREEN_PADDING # screen height V_TILE_AREA_HEIGHT + 2 * V_SCREEN_PADDING + V_NUMBER_PADDING # screen height
) )
) )
@ -48,7 +50,7 @@ class Direction(Enum):
v = (self.value + 1) % 4 v = (self.value + 1) % 4
return Direction(v) return Direction(v)
def previous (self): def previous(self):
v = (self.value - 1) % 4 v = (self.value - 1) % 4
return Direction(v) return Direction(v)
@ -113,71 +115,71 @@ MAP_RANDOM_10x10 = os.path.join("resources", "minefields", "secondmap.json")
# ============== # # ============== #
ASSET_BACKGROUND = pygame.transform.scale( ASSET_BACKGROUND = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "new_grid.png")), pygame.image.load(os.path.join(DIR_ASSETS, "numbered_grid.png")),
(V_WINDOW_WIDTH, V_WINDOW_WIDTH) (650, 650)
) )
ASSET_SAPPER = pygame.transform.scale( ASSET_SAPPER = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "robot_sapper.png")), pygame.image.load(os.path.join(DIR_ASSETS, "robot_sapper.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_WALL = pygame.transform.scale( ASSET_WALL = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "brick_wall.png")), pygame.image.load(os.path.join(DIR_ASSETS, "brick_wall.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_MINE_A = pygame.transform.scale( ASSET_MINE_A = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "mine_a.png")), pygame.image.load(os.path.join(DIR_ASSETS, "simple assets/mine_a.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_MINE_B = pygame.transform.scale( ASSET_MINE_B = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "mine_b.png")), pygame.image.load(os.path.join(DIR_ASSETS, "simple assets/mine_b.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_MINE_F = pygame.transform.scale( ASSET_MINE_F = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "mine_f.png")), pygame.image.load(os.path.join(DIR_ASSETS, "simple assets/mine_f.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_MINE_K = pygame.transform.scale( ASSET_MINE_K = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "mine_k.png")), pygame.image.load(os.path.join(DIR_ASSETS, "simple assets/mine_k.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_ORANGE = pygame.transform.scale( ASSET_TILE_ORANGE = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_orange.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_orange.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_RED = pygame.transform.scale( ASSET_TILE_RED = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_red.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_red.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_BLUE = pygame.transform.scale( ASSET_TILE_BLUE = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_blue.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_blue.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_PURPLE = pygame.transform.scale( ASSET_TILE_PURPLE = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_purple.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_purple.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_GREEN = pygame.transform.scale( ASSET_TILE_GREEN = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_green.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_green.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_YELLOW = pygame.transform.scale( ASSET_TILE_YELLOW = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_yellow.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_yellow.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )
ASSET_TILE_WHITE = pygame.transform.scale( ASSET_TILE_WHITE = pygame.transform.scale(
pygame.image.load(os.path.join(ASSETS_DIR, "tile_white.png")), pygame.image.load(os.path.join(DIR_ASSETS, "tile_white.png")),
(V_TILE_SIZE, V_TILE_SIZE) (V_TILE_SIZE, V_TILE_SIZE)
) )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 903 B

View File

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 109 B

View File

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 110 B

View File

Before

Width:  |  Height:  |  Size: 108 B

After

Width:  |  Height:  |  Size: 108 B

View File

Before

Width:  |  Height:  |  Size: 116 B

After

Width:  |  Height:  |  Size: 116 B

View File

Before

Width:  |  Height:  |  Size: 153 B

After

Width:  |  Height:  |  Size: 153 B

View File

@ -6,7 +6,7 @@ from project_constants import Direction, Action
from minefield import Minefield from minefield import Minefield
# temporary goal for testing # temporary goal for testing
GOAL = (13, 9) GOAL = (9, 9)
class State: class State: