This commit is contained in:
30
.github/workflows/build.yml
vendored
Normal file
30
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Build Windows EXE
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.14' # Match your local python version
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install arcade pygame pyinstaller
|
||||||
|
|
||||||
|
- name: Build with PyInstaller
|
||||||
|
run: |
|
||||||
|
pyinstaller --onefile --noconsole --add-data "res;res" src/main.py
|
||||||
|
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Windows-Game-EXE
|
||||||
|
path: dist/main.exe
|
||||||
@@ -5,6 +5,9 @@ Teljesen AI-generált szakaszokat egy `# !!! CHATGPT !!!` komment jelzi
|
|||||||
|
|
||||||
## AI generálta komponensek:
|
## AI generálta komponensek:
|
||||||
|
|
||||||
|
### assets.py
|
||||||
|
* minden
|
||||||
|
|
||||||
### main.py
|
### main.py
|
||||||
* Game
|
* Game
|
||||||
|
|
||||||
|
|||||||
@@ -1,44 +1,54 @@
|
|||||||
|
import os
|
||||||
|
import sys
|
||||||
import arcade
|
import arcade
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
pygame.mixer.init()
|
pygame.mixer.init()
|
||||||
|
|
||||||
|
def resource_path(relative_path):
|
||||||
|
"""Get absolute path to resource, works for dev and for PyInstaller builds."""
|
||||||
|
try:
|
||||||
|
base_path = sys._MEIPASS
|
||||||
|
except Exception:
|
||||||
|
base_path = os.path.abspath(".")
|
||||||
|
return os.path.join(base_path, relative_path)
|
||||||
|
|
||||||
sprites = {
|
sprites = {
|
||||||
"cursor" : arcade.load_texture("res/sprite/handcursor.png"),
|
"cursor" : arcade.load_texture(resource_path("res/sprite/handcursor.png")),
|
||||||
"title" : arcade.load_texture("res/sprite/title.png"),
|
"title" : arcade.load_texture(resource_path("res/sprite/title.png")),
|
||||||
"test_bbg" : arcade.load_texture("res/sprite/test_bbg.png"),
|
"test_bbg" : arcade.load_texture(resource_path("res/sprite/test_bbg.png")),
|
||||||
"kefka" : arcade.load_texture("res/sprite/kefka.png"),
|
"kefka" : arcade.load_texture(resource_path("res/sprite/kefka.png")),
|
||||||
"dwagon" : arcade.load_texture("res/sprite/dwagon.png"),
|
"dwagon" : arcade.load_texture(resource_path("res/sprite/dwagon.png")),
|
||||||
"dwagon_low" : arcade.load_texture("res/sprite/dwagon_low.png"),
|
"dwagon_low" : arcade.load_texture(resource_path("res/sprite/dwagon_low.png")),
|
||||||
"dwagon_dead" : arcade.load_texture("res/sprite/dwagon_dead.png"),
|
"dwagon_dead" : arcade.load_texture(resource_path("res/sprite/dwagon_dead.png")),
|
||||||
"zombie" : arcade.load_texture("res/sprite/zombie.png"),
|
"zombie" : arcade.load_texture(resource_path("res/sprite/zombie.png")),
|
||||||
"zombie_low" : arcade.load_texture("res/sprite/zombie_low.png"),
|
"zombie_low" : arcade.load_texture(resource_path("res/sprite/zombie_low.png")),
|
||||||
"zombie_dead" : arcade.load_texture("res/sprite/zombie_dead.png"),
|
"zombie_dead" : arcade.load_texture(resource_path("res/sprite/zombie_dead.png")),
|
||||||
"skeleton" : arcade.load_texture("res/sprite/skeleton.png"),
|
"skeleton" : arcade.load_texture(resource_path("res/sprite/skeleton.png")),
|
||||||
"skeleton_low" : arcade.load_texture("res/sprite/skeleton_low.png"),
|
"skeleton_low" : arcade.load_texture(resource_path("res/sprite/skeleton_low.png")),
|
||||||
"skeleton_dead" : arcade.load_texture("res/sprite/skeleton_dead.png"),
|
"skeleton_dead" : arcade.load_texture(resource_path("res/sprite/skeleton_dead.png")),
|
||||||
"witch" : arcade.load_texture("res/sprite/witch.png"),
|
"witch" : arcade.load_texture(resource_path("res/sprite/witch.png")),
|
||||||
"witch_low" : arcade.load_texture("res/sprite/witch_low.png"),
|
"witch_low" : arcade.load_texture(resource_path("res/sprite/witch_low.png")),
|
||||||
"witch_dead" : arcade.load_texture("res/sprite/witch_dead.png"),
|
"witch_dead" : arcade.load_texture(resource_path("res/sprite/witch_dead.png")),
|
||||||
"herojoe" : arcade.load_texture("res/sprite/herojoe.png"),
|
"herojoe" : arcade.load_texture(resource_path("res/sprite/herojoe.png")),
|
||||||
"herojoe_low" : arcade.load_texture("res/sprite/herojoe_low.png"),
|
"herojoe_low" : arcade.load_texture(resource_path("res/sprite/herojoe_low.png")),
|
||||||
"herojoe_dead" : arcade.load_texture("res/sprite/herojoe_dead.png"),
|
"herojoe_dead" : arcade.load_texture(resource_path("res/sprite/herojoe_dead.png")),
|
||||||
"heroinejane" : arcade.load_texture("res/sprite/heroinejane.png"),
|
"heroinejane" : arcade.load_texture(resource_path("res/sprite/heroinejane.png")),
|
||||||
"heroinejane_low" : arcade.load_texture("res/sprite/heroinejane_low.png"),
|
"heroinejane_low" : arcade.load_texture(resource_path("res/sprite/heroinejane_low.png")),
|
||||||
"heroinejane_dead" : arcade.load_texture("res/sprite/heroinejane_dead.png"),
|
"heroinejane_dead" : arcade.load_texture(resource_path("res/sprite/heroinejane_dead.png")),
|
||||||
"font" : arcade.load_spritesheet("res/sprite/font.png"),
|
"font" : arcade.load_spritesheet(resource_path("res/sprite/font.png")),
|
||||||
"panel" : arcade.load_spritesheet("res/sprite/panel.png"),
|
"panel" : arcade.load_spritesheet(resource_path("res/sprite/panel.png")),
|
||||||
"podium" : arcade.load_spritesheet("res/sprite/podium.png"),
|
"podium" : arcade.load_spritesheet(resource_path("res/sprite/podium.png")),
|
||||||
"balthasar" : arcade.load_spritesheet("res/sprite/balthasar.png"),
|
"balthasar" : arcade.load_spritesheet(resource_path("res/sprite/balthasar.png")),
|
||||||
"overworld" : arcade.load_spritesheet("res/sprite/overworld_sheet.png"),
|
"overworld" : arcade.load_spritesheet(resource_path("res/sprite/overworld_sheet.png")),
|
||||||
}
|
}
|
||||||
|
|
||||||
sounds = {
|
sounds = {
|
||||||
"mus_hatred" : pygame.mixer.Sound("res/mus/hatred.wav"),
|
"mus_hatred" : pygame.mixer.Sound(resource_path("res/mus/hatred.wav")),
|
||||||
"mus_getrickrolled" : pygame.mixer.Sound("res/mus/getrickrolled.wav"),
|
"mus_getrickrolled" : pygame.mixer.Sound(resource_path("res/mus/getrickrolled.wav")),
|
||||||
"mus_decisive" : pygame.mixer.Sound("res/mus/decisive.wav"),
|
"mus_decisive" : pygame.mixer.Sound(resource_path("res/mus/decisive.wav")),
|
||||||
"mus_fnafsux" : pygame.mixer.Sound("res/mus/fnafsux.wav"),
|
"mus_fnafsux" : pygame.mixer.Sound(resource_path("res/mus/fnafsux.wav")),
|
||||||
"mus_finale" : pygame.mixer.Sound("res/mus/finale.wav"),
|
"mus_finale" : pygame.mixer.Sound(resource_path("res/mus/finale.wav")),
|
||||||
"mus_credits" : pygame.mixer.Sound("res/mus/credits.wav"),
|
"mus_credits" : pygame.mixer.Sound(resource_path("res/mus/credits.wav")),
|
||||||
"sfx_encounter" : pygame.mixer.Sound("res/sfx/encounter.wav"),
|
"sfx_encounter" : pygame.mixer.Sound(resource_path("res/sfx/encounter.wav")),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user