예제 #1
0
  def new_game():
    root_widget.clear_widgets()
    
    game_widget = GameWidget() #level = x
    root_widget.add_widget(game_widget)
    root_widget.ids['game'] = game_widget
    
    lbl_fps = Label(pos_hint={'center_x': .95, 'center_y': .95})
    root_widget.add_widget(lbl_fps)
    root_widget.ids['fps'] = lbl_fps
    
    lbl_score = Label(pos_hint={'center_x': .95, 'center_y': .90})
    root_widget.add_widget(lbl_score)
    root_widget.ids['score'] = lbl_score

    musicplayer = MusicPlayer()
    musicplayer.start()
예제 #2
0
파일: run.py 프로젝트: rukai/smashMusic
class SmashMusic:
    def __init__(self):
        self.stageNames = ["Menu", "PrincessPeachsCastle", "RainbowCruise", "KongoJungle", "JungleJapes", "GreatBay", "Temple", "YoshisStory", "YoshisIsland", "FountainOfDreams", "GreenGreens", "Corneria", "Venom", "Brinstar", "BrinstarDepths", "Onett", "Fourside", "MuteCity", "BigBlue", "PokemonStadium", "PokeFloats", "MushroomKingdom", "MushroomKingdomII", "IcicleMountain", "FlatZone", "Battlefield", "FinalDestination", "DreamLand", "YoshisIsland64", "KongoJungle64"]
        self.playerSet = False
        self.gamePlayed = False
        self.setStage(-1)
        self.generateLocationsFile()

    def generateLocationsFile(self):
        os.makedirs(memoryWatcherPath, exist_ok=True)
        with open(memoryWatcherPath + "/Locations.txt", "w") as dest:
            with open(scriptPath + "/locations/GALE01.txt") as origin:
                for line in origin:
                    output = line[:line.find('#')]
                    if output != "":
                        dest.write(output + '\n')

    def run(self):
        watch = MemoryWatcher(memoryWatcherPath + "/MemoryWatcher")
        for address, data in watch:
            #get stage id
            if address == "804D6CAC":
                stage = data[2]
                stageStart = data[3]
                if stageStart == 1:
                    self.setStage(stage)
            #check if out of game
            #by checking for removal of current musicID
            elif address == "8049e760":
                if data == b'\xff\xff\xff\xff':
                    #SSBM clears the current musicID before setting it for the first time
                    if self.gamePlayed:
                        self.setStage(-1)
                    self.gamePlayed = True

    def stageIDtoName(self, stageID):
        return self.stageNames[stageID+1]

    def setStage(self, stageID):
        if self.playerSet:
            self.player.stop()
        self.player = MusicPlayer(self.stageNames)
        self.player.setPlaylist(self.stageIDtoName(stageID))
        self.player.start()
        self.playerSet = True
        print("stageID: " + str(stageID))
예제 #3
0
  def new_game(self):
    self.clear_widgets()
    
    game_widget = GameWidget(self) #level = x
    self.add_widget(game_widget)
    self.ids['game'] = game_widget
    
    lbl_fps = Label(pos_hint={'center_x': .95, 'center_y': .95})
    self.add_widget(lbl_fps)
    self.ids['fps'] = lbl_fps
    
    lbl_score = Label(pos_hint={'center_x': .95, 'center_y': .90})
    self.add_widget(lbl_score)
    self.ids['score'] = lbl_score

    lbl_level = Label(pos_hint={'center_x': .95, 'center_y': .85})
    self.add_widget(lbl_level)
    self.ids['level'] = lbl_level

    musicplayer = MusicPlayer()
    musicplayer.start()