mirror of
https://github.com/Yonokid/PyTaiko.git
synced 2026-02-04 03:30:13 +01:00
mystery feature #50
This commit is contained in:
@@ -24,6 +24,8 @@ from scenes.devtest import DevScreen
|
||||
from scenes.entry import EntryScreen
|
||||
from scenes.game import GameScreen
|
||||
from scenes.dan.game_dan import DanGameScreen
|
||||
from scenes.practice.game import PracticeGameScreen
|
||||
from scenes.practice.song_select import PracticeSongSelectScreen
|
||||
from scenes.two_player.game import TwoPlayerGameScreen
|
||||
from scenes.two_player.result import TwoPlayerResultScreen
|
||||
from scenes.loading import LoadScreen
|
||||
@@ -50,6 +52,8 @@ class Screens:
|
||||
DAN_SELECT = "DAN_SELECT"
|
||||
GAME_DAN = "GAME_DAN"
|
||||
DAN_RESULT = "DAN_RESULT"
|
||||
PRACTICE_SELECT = "PRACTICE_SELECT"
|
||||
GAME_PRACTICE = "GAME_PRACTICE"
|
||||
SETTINGS = "SETTINGS"
|
||||
DEV_MENU = "DEV_MENU"
|
||||
LOADING = "LOADING"
|
||||
@@ -160,6 +164,8 @@ def main():
|
||||
load_screen = LoadScreen('loading')
|
||||
game_screen = GameScreen('game')
|
||||
game_screen_2p = TwoPlayerGameScreen('game')
|
||||
game_screen_practice = PracticeGameScreen('game')
|
||||
practice_select_screen = PracticeSongSelectScreen('song_select')
|
||||
result_screen = ResultScreen('result')
|
||||
result_screen_2p = TwoPlayerResultScreen('result')
|
||||
settings_screen = SettingsScreen('settings')
|
||||
@@ -173,8 +179,10 @@ def main():
|
||||
Screens.TITLE: title_screen,
|
||||
Screens.SONG_SELECT: song_select_screen,
|
||||
Screens.SONG_SELECT_2P: song_select_screen_2p,
|
||||
Screens.PRACTICE_SELECT: practice_select_screen,
|
||||
Screens.GAME: game_screen,
|
||||
Screens.GAME_2P: game_screen_2p,
|
||||
Screens.GAME_PRACTICE: game_screen_practice,
|
||||
Screens.RESULT: result_screen,
|
||||
Screens.RESULT_2P: result_screen_2p,
|
||||
Screens.SETTINGS: settings_screen,
|
||||
|
||||
@@ -25,7 +25,8 @@ class Background:
|
||||
"IMAS_CG": (libs.bg_collabs.imas.Background, 'background/collab/imas_cg', 3),
|
||||
"IMAS_ML": (libs.bg_collabs.imas.Background, 'background/collab/imas_ml', 3),
|
||||
"IMAS_SIDEM": (libs.bg_collabs.imas_sidem.Background, 'background/collab/imas_sidem', 3),
|
||||
"DAN": (libs.bg_collabs.dan.Background, 'background/collab/dan', 1)
|
||||
"DAN": (libs.bg_collabs.dan.Background, 'background/collab/dan', 1),
|
||||
"PRACTICE": (libs.bg_collabs.practice.Background, 'background/collab/practice', 1)
|
||||
}
|
||||
|
||||
def __init__(self, player_num: int, bpm: float, scene_preset: str = ''):
|
||||
|
||||
@@ -5,3 +5,4 @@ from . import oshiri
|
||||
from . import imas
|
||||
from . import dan
|
||||
from . import imas_sidem
|
||||
from . import practice
|
||||
|
||||
17
libs/bg_collabs/practice.py
Normal file
17
libs/bg_collabs/practice.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from libs.bg_objects.bg_normal import BGNormalBase
|
||||
from libs.texture import TextureWrapper
|
||||
from libs.bg_objects.don_bg import DonBG1
|
||||
|
||||
|
||||
class Background:
|
||||
def __init__(self, tex: TextureWrapper, player_num: int, bpm: float, path: str, max_dancers: int):
|
||||
self.tex_wrapper = tex
|
||||
self.max_dancers = max_dancers
|
||||
self.don_bg = DonBG1(self.tex_wrapper, 0, 1, path)
|
||||
self.bg_normal = BGNormalBase(self.tex_wrapper, 0, path)
|
||||
self.bg_fever = None
|
||||
self.footer = None
|
||||
self.fever = None
|
||||
self.dancer = None
|
||||
self.renda = None
|
||||
self.chibi = None
|
||||
@@ -438,8 +438,9 @@ class BoxManager:
|
||||
def __init__(self):
|
||||
self.box_titles: list[OutlinedText] = [
|
||||
OutlinedText('演奏ゲーム', 50, ray.WHITE, outline_thickness=5, vertical=True),
|
||||
OutlinedText('特訓モード', 50, ray.WHITE, outline_thickness=5, vertical=True),
|
||||
OutlinedText('ゲーム設定', 50, ray.WHITE, outline_thickness=5, vertical=True)]
|
||||
self.box_locations = ["SONG_SELECT", "SETTINGS"]
|
||||
self.box_locations = ["SONG_SELECT", "PRACTICE_SELECT", "SETTINGS"]
|
||||
self.num_boxes = len(self.box_titles)
|
||||
self.boxes = [Box(self.box_titles[i], self.box_locations[i]) for i in range(len(self.box_titles))]
|
||||
self.selected_box_index = 0
|
||||
|
||||
16
scenes/practice/game.py
Normal file
16
scenes/practice/game.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
from libs.background import Background
|
||||
from scenes.game import GameScreen, JudgeCounter
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class PracticeGameScreen(GameScreen):
|
||||
def on_screen_start(self):
|
||||
super().on_screen_start()
|
||||
self.background = Background(1, self.bpm, scene_preset='PRACTICE')
|
||||
|
||||
def init_tja(self, song: Path):
|
||||
super().init_tja(song)
|
||||
self.player_1.judge_counter = JudgeCounter()
|
||||
16
scenes/practice/song_select.py
Normal file
16
scenes/practice/song_select.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import logging
|
||||
|
||||
from scenes.song_select import SongSelectScreen
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class PracticeSongSelectScreen(SongSelectScreen):
|
||||
def on_screen_start(self):
|
||||
super().on_screen_start()
|
||||
|
||||
def update_players(self, current_time) -> str:
|
||||
self.player_1.update(current_time)
|
||||
if self.text_fade_out.is_finished:
|
||||
self.player_1.selected_song = True
|
||||
next_screen = "GAME_PRACTICE"
|
||||
return next_screen
|
||||
Reference in New Issue
Block a user