diff options
-rw-r--r-- | brutalmaze/characters.py | 3 | ||||
-rw-r--r-- | brutalmaze/constants.py | 23 | ||||
-rw-r--r-- | brutalmaze/main.py | 18 | ||||
-rw-r--r-- | brutalmaze/misc.py | 4 | ||||
-rwxr-xr-x | setup.py | 4 |
5 files changed, 20 insertions, 32 deletions
diff --git a/brutalmaze/characters.py b/brutalmaze/characters.py index 262578e..faa67c4 100644 --- a/brutalmaze/characters.py +++ b/brutalmaze/characters.py @@ -19,7 +19,6 @@ __doc__ = 'brutalmaze module for hero and enemy classes' -from collections import deque from math import atan, atan2, sin, pi from random import choice, randrange, shuffle from sys import modules @@ -138,7 +137,7 @@ class Enemy: def get_pos(self): """Return coordinate of the center of the enemy.""" x, y = self.maze.get_pos(self.x, self.y) - step = self.maze.distance * HERO_SPEED / self.maze.fps + step = self.maze.distance * ENEMY_SPEED / self.maze.fps return x + self.offsetx*step, y + self.offsety*step def get_distance(self): diff --git a/brutalmaze/constants.py b/brutalmaze/constants.py index 1e0be20..c30488a 100644 --- a/brutalmaze/constants.py +++ b/brutalmaze/constants.py @@ -19,9 +19,20 @@ __doc__ = 'brutalmaze module for shared constants' -from pygame import image, K_UP, K_w, K_LEFT, K_a, K_DOWN, K_s, K_RIGHT, K_d -from pygame.mixer import Sound +from os.path import join + +from appdirs import user_config_dir, site_config_dir from pkg_resources import resource_filename +from pygame import image +from pygame.mixer import Sound + +USER_CONFIG = join(user_config_dir('brutalmaze'), 'settings.ini') +SITE_CONFIG = join(site_config_dir('brutalmaze'), 'settings.ini') +DEFAULT_BINDINGS = {'New game': 'F2', 'Pause': 'p', + 'Move left': 'Left', 'Move right': 'Right', + 'Move up': 'Up', 'Move down': 'Down', + 'Long-range attack': 'Mouse1', + 'Close-range attack': 'Mouse3'} ICON = image.load(resource_filename('brutalmaze', 'icon.png')) MUSIC = resource_filename('brutalmaze', 'soundfx/music.ogg') @@ -34,16 +45,8 @@ SFX_MISSED = resource_filename('brutalmaze', 'soundfx/missed.ogg') SFX_HEART = resource_filename('brutalmaze', 'soundfx/heart.ogg') SFX_LOSE = resource_filename('brutalmaze', 'soundfx/lose.ogg') -UP = (K_UP, K_w) -LEFT = (K_LEFT, K_a) -DOWN = (K_DOWN, K_s) -RIGHT = (K_RIGHT, K_d) - SQRT2 = 2 ** 0.5 INIT_SCORE = 5**0.5/2 + 0.5 # golden mean -INIT_FPS = 30.0 -MAX_FPS = 60.0 -SIZE = 640, 480 MAZE_SIZE = 10 ROAD_WIDTH = 5 # grids CELL_WIDTH = ROAD_WIDTH * 2 # grids diff --git a/brutalmaze/main.py b/brutalmaze/main.py index 9dc7a4c..e1d5279 100644 --- a/brutalmaze/main.py +++ b/brutalmaze/main.py @@ -23,26 +23,14 @@ try: # Python 3 from configparser import ConfigParser, NoOptionError, NoSectionError except ImportError: # Python 2 from ConfigParser import ConfigParser, NoOptionError, NoSectionError -from os.path import join -from appdirs import user_config_dir, site_config_dir -from pkg_resources import resource_filename import pygame from pygame import DOUBLEBUF, KEYDOWN, OPENGL, QUIT, RESIZABLE, VIDEORESIZE -from .constants import * +from .constants import USER_CONFIG, SITE_CONFIG, DEFAULT_BINDINGS, ICON, MUSIC from .maze import Maze -USER_CONFIG = join(user_config_dir('brutalmaze'), 'settings.ini') -SITE_CONFIG = join(site_config_dir('brutalmaze'), 'settings.ini') -DEFAULT_BINDINGS = {'New game': 'F2', 'Pause': 'p', - 'Move left': 'Left', 'Move right': 'Right', - 'Move up': 'Up', 'Move down': 'Down', - 'Long-range attack': 'Mouse1', - 'Close-range attack': 'Mouse3'} - - def getconf(config, section, option, valtype=str, fallback=None): """Return an option value for a given section from a ConfigParser object. @@ -77,7 +65,7 @@ def main(): scrtype = RESIZABLE if getconf(config, 'Graphics', 'OpenGL', bool): scrtype |= OPENGL | DOUBLEBUF - fps = getconf(config, 'Graphics', 'Maximum FPS', float, 60.0) + fps = max_fps = getconf(config, 'Graphics', 'Maximum FPS', float, 60.0) # Read control configurations key, mouse = {}, {} @@ -144,7 +132,7 @@ def main(): flash_time.popleft() if new_fps < fps: fps -= 1 - elif fps < MAX_FPS and not maze.paused: + elif fps < max_fps and not maze.paused: fps += 5 maze.update(fps) flash_time.append(pygame.time.get_ticks()) diff --git a/brutalmaze/misc.py b/brutalmaze/misc.py index d58a2ca..ef04502 100644 --- a/brutalmaze/misc.py +++ b/brutalmaze/misc.py @@ -17,7 +17,7 @@ # # Copyright (C) 2017 Nguyễn Gia Phong -__doc__ = 'brutalmaze module for hero and enemy classes' +__doc__ = 'module for miscellaneous functions' from math import cos, sin, pi from random import uniform @@ -25,8 +25,6 @@ from random import uniform import pygame from pygame.gfxdraw import filled_polygon, aapolygon -from .constants import MIDDLE - def round2(number): """Round a number to an int.""" diff --git a/setup.py b/setup.py index 4f9ff98..8a2421a 100755 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ setup( author_email='vn.mcsinyx@gmail.com', license='GPLv3+', classifiers=[ - 'Development Status :: 3 - Alpha', + 'Development Status :: 4 - Beta', 'Environment :: MacOS X', 'Environment :: Win32 (MS Windows)', 'Environment :: X11 Applications', @@ -28,5 +28,5 @@ setup( keywords='pygame action-game arcade-game maze', packages=['brutalmaze'], install_requires=['appdirs', 'pygame>=1.9'], - package_data={'brutalmaze': ['icon.png', 'soundfx/*.ogg', 'settings.ini']}, + package_data={'brutalmaze': ['icon.png', 'soundfx/*.ogg']}, entry_points={'gui_scripts': ['brutalmaze = brutalmaze:main']}) |