From 098972d787fb81ef305a894a30db19587833e83f Mon Sep 17 00:00:00 2001 From: Xevion Date: Tue, 21 Apr 2020 03:15:48 -0500 Subject: [PATCH] add new continuous integration file --- triple-dungeon/.github/workflows/ci.yml | 31 +++++++++++++++++++++++++ triple-dungeon/main.py | 21 +++++++++-------- 2 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 triple-dungeon/.github/workflows/ci.yml diff --git a/triple-dungeon/.github/workflows/ci.yml b/triple-dungeon/.github/workflows/ci.yml new file mode 100644 index 0000000..9ace7e0 --- /dev/null +++ b/triple-dungeon/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: Continuous Integration (PEP8 Lint + pytest) + +on: push + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + - name: Install pipenv & sync + run: | + cd triple-dungeon + python -m pip install --upgrade pip + pip install pipenv + pipenv lock + pipenv sync + - name: Linting + run: | + pip install pycodestyle + # PyCharm sets line length at 120 chars + pycodestyle . --count --statistics --max-line-length=120 + - name: Test with pytest + run: | + pip install pytest + pytest tests.py \ No newline at end of file diff --git a/triple-dungeon/main.py b/triple-dungeon/main.py index 98a4ac7..4d3b3d4 100644 --- a/triple-dungeon/main.py +++ b/triple-dungeon/main.py @@ -5,15 +5,15 @@ Holds the main game window, as well as manages basic functions for organizing th """ import collections +import math import random import time + import arcade -import math from config import Config from map import Dungeon -from mobs import Player, Enemy -from config import Config +from mobs import Player from projectiles import Temp @@ -106,7 +106,8 @@ class Game(arcade.Window): if Config.DEBUG: x, y = self.player.position tile = Config.TILE_WIDTH * Config.TILE_SCALING - arcade.draw_rectangle_outline(round(x / tile) * tile, round(y / tile) * tile, tile, tile, arcade.color.RED) + arcade.draw_rectangle_outline(round(x / tile) * tile, round(y / tile) * tile, tile, tile, + arcade.color.RED) self.player.draw_hit_box() arcade.draw_text(str((x, y)), x - 40, y + 50, arcade.color.WHITE, 15, font_name='Arial') arcade.draw_text(f"FPS: {self.fps.get_fps():3.0f}", self.view_left + 50, self.view_bottom + 30, @@ -165,8 +166,8 @@ class Game(arcade.Window): bullet.center_y = start_y # Get from the mouse the destination location for the bullet - dest_x = x+self.view_left - dest_y = y+self.view_bottom + dest_x = x + self.view_left + dest_y = y + self.view_bottom # Do math to calculate how to get the bullet to the destination. # Calculation the angle in radians between the start points @@ -241,10 +242,10 @@ class Game(arcade.Window): # If the bullet flies off-screen, remove it. TEMP change to range calc if ( - bullet.bottom < self.view_bottom or - bullet.top > self.view_bottom+Config.SCREEN_HEIGHT or - bullet.right > self.view_left+Config.SCREEN_WIDTH or - bullet.left < self.view_left + bullet.bottom < self.view_bottom or + bullet.top > self.view_bottom + Config.SCREEN_HEIGHT or + bullet.right > self.view_left + Config.SCREEN_WIDTH or + bullet.left < self.view_left ): bullet.remove_from_sprite_lists()