Basic link established between scene and game

This commit is contained in:
duckduckdoof 2025-02-05 16:39:33 -05:00
parent 455f392965
commit d0e9beddba
5 changed files with 25 additions and 13 deletions

View file

@ -9,8 +9,10 @@ visual elements; this is handles in the scene/ python files
# IMPORTS -----------------------------------------------------------
from global_config import *
from lib.engine.game_config import *
from lib.engine.game_board import LayeredFlatWorld
from lib.engine.game_objects import str_to_game_object
# FUNCTIONS ---------------------------------------------------------
@ -19,7 +21,13 @@ def init_gb_from_scene_info(scene_info: dict):
Takes a dictionary of 2D arrays (organized by layer name), and
converts them into their proper game board of game objects.
"""
board_layers = {}
for layer in scene_info.keys():
board_layers[layer] = [[None] * BOARD_HEIGHT for _ in range(BOARD_WIDTH)]
for i in range(BOARD_WIDTH):
for j in range(BOARD_HEIGHT):
board_layers[layer][i][j] = str_to_game_object(scene_info[layer][i][j])
return board_layers
# CLASSES -----------------------------------------------------------

View file

@ -12,7 +12,7 @@ interpreting player inputs on the screen, etc.
from arcade import Scene
from scene_config import *
from lib.scene.scene_config import *
from global_config import *
# FUNCTIONS ---------------------------------------------------------
@ -31,6 +31,6 @@ def info_from_layered_tilemap(scene: Scene):
scene_info[layer] = [[""] * BOARD_HEIGHT for _ in range(BOARD_WIDTH)]
# Populate the layer info as 2D arrays
for i, S in enumerate(scene[layer]):
scene_info[layer][i//BOARD_WIDTH][i%BOARD_HEIGHT] = scene[layer].properties[TILE_NAME]
for i, sprite in enumerate(scene[layer]):
scene_info[layer][i//BOARD_WIDTH][i%BOARD_HEIGHT] = sprite.properties[TILE_NAME]
return scene_info