読者です 読者をやめる 読者になる 読者になる

進捗(1)

Python GameProgramming

メインループだが、色々試行錯誤しながらとりあえず下のような形式になった。

    def run(self):
        """ ゲーム実行メインループ """
        # TODO: データ(アイテムデータとか)をロード
        
        # party, mapdata は上でロードしたデータ
        state = State()
        state.party = party
        state.map = Map(mapdata, "")
        scene = MapScene(state)
        state.scene = scene
        
        drawer = Drawer()
        clock = pygame.time.Clock()
        while True:
            clock.tick(60)
            state = state.scene.update(pygame.event.get(), pygame.key.get_pressed())
            drawer.draw(self.screen, state)
            pygame.display.update()

下から3行目のpygame.event.get()とpygame.key.get_pressed()を別々に渡しているのが嫌なので直したい。

あと、シーンの種類が増えるとstateが膨れ上がる予感。この辺は「ゲームプログラマに〜」を参考にしよう(本内ではシーンではなくシーケンスって単語を使ってたけど)