general refactor/cleanup to get closer to PEP8 standards

This commit is contained in:
Xevion
2020-04-20 01:31:08 -05:00
parent 1338d24edf
commit abf80c1b0f
2 changed files with 28 additions and 20 deletions

View File

@@ -6,9 +6,9 @@ Holds the main game window, as well as manages basic functions for organizing th
import arcade import arcade
from config import Config
from map import Dungeon from map import Dungeon
from mobs import Player, Enemy from mobs import Player
from config import Config, Sprites
class Game(arcade.Window): class Game(arcade.Window):
@@ -31,11 +31,11 @@ class Game(arcade.Window):
self.player = None self.player = None
# list to keep track of keypresses # list to keep track of keypresses
self.prev_keypress = [] self.prev_keypress = []
# Our physics engine # Our physics engine
self.physics_engine = None self.physics_engine = None
# Used to keep track of our scrolling # Used to keep track of our scrolling
self.view_bottom = 0 self.view_bottom = 0
self.view_left = 0 self.view_left = 0
@@ -58,17 +58,16 @@ class Game(arcade.Window):
self.player.center_y = Config.SCREEN_HEIGHT / 2 self.player.center_y = Config.SCREEN_HEIGHT / 2
self.player_list = self.player self.player_list = self.player
# Create the dungeon # Create the dungeon
dungeon = Dungeon() dungeon = Dungeon()
self.floor_list = dungeon.floor_list self.floor_list = dungeon.floor_list
self.wall_list = dungeon.wall_list self.wall_list = dungeon.wall_list
# Create monsters # Create monsters
# This needs to be updated to comply with the new mobs.py code # This needs to be updated to comply with the new mobs.py code
#self.enemy_list.append(Enemy("resources/images/monsters/ghost/ghost1.png", 200, 200, 4).get_enemy()) # self.enemy_list.append(Enemy("resources/images/monsters/ghost/ghost1.png", 200, 200, 4).get_enemy())
#self.enemy_list.append(Enemy("resources/images/monsters/frog/frog1.png", 200, 1000, 4).get_enemy()) # self.enemy_list.append(Enemy("resources/images/monsters/frog/frog1.png", 200, 1000, 4).get_enemy())
# Create the 'physics engine' # Create the 'physics engine'
self.physics_engine = arcade.PhysicsEngineSimple(self.player, self.wall_list) self.physics_engine = arcade.PhysicsEngineSimple(self.player, self.wall_list)
@@ -101,7 +100,7 @@ class Game(arcade.Window):
self.player_list.change_x = Config.PLAYER_MOVEMENT_SPEED self.player_list.change_x = Config.PLAYER_MOVEMENT_SPEED
self.prev_keypress.append(key) self.prev_keypress.append(key)
elif key == 65307: elif key == 65307:
self.close() self.close()
def on_key_release(self, key, modifiers): def on_key_release(self, key, modifiers):
"""Called when the user releases a key. """ """Called when the user releases a key. """

View File

@@ -5,12 +5,14 @@ Pathfinding will also depend on objects here, and is thus integral to it's funct
""" """
from __future__ import annotations from __future__ import annotations
from config import Config
import json
import arcade import arcade
import json
import numpy as np import numpy as np
from config import Config
class Dungeon(object): class Dungeon(object):
""" """
@@ -24,10 +26,13 @@ class Dungeon(object):
:param level_count: The number of Active Levels that should be stored within the Dungeon. :param level_count: The number of Active Levels that should be stored within the Dungeon.
:param size: The diameter of the dungeon. Allows for a total of size^2 slots for levels. :param size: The diameter of the dungeon. Allows for a total of size^2 slots for levels.
""" """
# setup
self.level_count = level_count
self.size = size
self.floor_list = arcade.SpriteList() self.floor_list = arcade.SpriteList()
self.wall_list = arcade.SpriteList() self.wall_list = arcade.SpriteList()
level_size = 10 * Config.TILE_SCALING * Config.TILE_WIDTH level_size = 10 * Config.TILE_SCALING * Config.TILE_WIDTH
# get center level # get center level
@@ -43,7 +48,7 @@ class Dungeon(object):
room.load_file('resources/levels/map1/room.json') room.load_file('resources/levels/map1/room.json')
room.rotate_level(2) room.rotate_level(2)
room.render() room.render()
room_floor, room_wall = room.get_lists() room_floor, room_wall = room.floor_list, room.wall_list
room_floor.move(level_size, 0) room_floor.move(level_size, 0)
room_wall.move(level_size, 0) room_wall.move(level_size, 0)
self.floor_list.extend(room_floor) self.floor_list.extend(room_floor)
@@ -53,7 +58,7 @@ class Dungeon(object):
room = Level() room = Level()
room.load_file('resources/levels/map1/room.json') room.load_file('resources/levels/map1/room.json')
room.render() room.render()
room_floor, room_wall = room.get_lists() room_floor, room_wall = room.floor_list, room.wall_list
room_floor.move(-level_size, 0) room_floor.move(-level_size, 0)
room_wall.move(-level_size, 0) room_wall.move(-level_size, 0)
self.floor_list.extend(room_floor) self.floor_list.extend(room_floor)
@@ -112,10 +117,9 @@ class Level:
with open(path) as file: with open(path) as file:
level = json.load(file) level = json.load(file)
self.sprites = level['elements']
self.level = level['structure']
self.sprites = level['elements']
self.level = level['structure']
def render(self) -> None: def render(self) -> None:
""" """
Calls render on all sprites. Calls render on all sprites.
@@ -126,7 +130,7 @@ class Level:
# Create the level # Create the level
# This shows using a loop to place multiple sprites horizontally and vertically # This shows using a loop to place multiple sprites horizontally and vertically
for y_pos in range(0, level_size , 63 * Config.TILE_SCALING): for y_pos in range(0, level_size, 63 * Config.TILE_SCALING):
for x_pos in range(0, level_size, 63 * Config.TILE_SCALING): for x_pos in range(0, level_size, 63 * Config.TILE_SCALING):
cur_tile = self.level[y][x] cur_tile = self.level[y][x]
sprite = self.sprites[cur_tile] sprite = self.sprites[cur_tile]
@@ -145,6 +149,11 @@ class Level:
return self.floor_list, self.wall_list return self.floor_list, self.wall_list
def rotate_level(self, times_rotated): def rotate_level(self, times_rotated):
"""
Rotates the
:param times_rotated:
:return:
"""
m = np.array(self.level) m = np.array(self.level)
for i in range(0, times_rotated % 4): for i in range(0, times_rotated % 4):
m = np.rot90(m) m = np.rot90(m)