PygameZeroでゲームづくり

    Pygame Zero はプログラミングの教育目的で設計されたPython のゲーム開発用ライブラリです。色々な手続きをバックグラウンドで処理してくれるので、短いコードでゲームを作れるようになっています。

    実際、ある程度 Python のコードを書ける人であれば、Pygame Zero の習得は決して難しくないはずです。今回は「ナイツクエスト」というアクションゲームをつくっていきます。プレイヤーは敵を避けながら、鍵を集めゴールを目指すゲームです。

    YouTubeの動画をご視聴をいただくと、さらに理解を深められます。

    サンプルファイルは下のボタンよりダウンロードしていただけます。

    目次

    ファイルとフォルダの準備

    プロジェクトを開始するにあたり、 すべてのファイルを入れておくフォルダの作成が必要になります。
    フォルダ作成が済んだら、 背景を表示しキャラクタを画面に登場させるためのコードを書いていきます。

    ファイルの作成
    まず適当なところに 「KnightsQuest」というフォルダを作成する。このファイルをKnightsQuest フォルダに 「quest.
    py」 という名前で保存。

    プロジェクトで使う画像を入れるためのフォルダも必要です。 KnightsQuest フォルダを開き、 中に 「images」 と
    いう新しいフォルダを作ります。

    ここで使用する画像ファイルは、サンプルファイル内の、Python/Knight’s Quest/images フォルダに入っているので、それを使います。 もちろん、自分で用意した画像を使っても構わないです。
    ゲームウィンドウの大きさを指定します

    先ほど作ったquery.py次のようにコードを入力します。Pyame Zarの機能を使い、タイルとフィールドの大きさを指定していいます。

    行すると、在は黒いウィンドウが表示されます。

    HEIGHT = GRID_HEIGHT * GRID_SIZE
    def screen.coords (x, y) :
        return (x * GRID_SIZE, y
    def draw background():
        for y in range (GRID_HEIGHT):
             for x in range (GRID_WIDTH):
                   screen.blit("floor1", screen_coords (x,y))
    def draw:()
        draw_background()
    pgzrun()

    アジャイルソフトウェア開発
    このプロジェクトではステップごとに関数を定義し、徐々にプログラムが便利に(あるいは面白く)なってい
    く。同時に、さらに改善するためにはどのようなコードが必要なのかが判明する。 各ステップが終わると実行
    可能なプログラムができておりテストを実施できる。このように、次に必要な機能を明確にし (要求分析と設
    計)、開発し、テストして段階的にプログラムを作っていく方法は、 アジャイルソフトウェア開発のやり方に習
    ったものになっている

    背景を描く

    このステップではタイルでウィンドウを埋め尽くし、ダンジョンの床を構築
    する。下のコードをファイルにき入れよう。

    import pgzrun
    import random
    GRID_WIDTH=16
    GRID_HEIGHT=12
    GRID_SIZE=50
    WIDTH=GRID_WIDTH*GRID_SIZE
    HEIGHT=GRID_HEIGHT*GRID_SIZE
    def screen_coords(x,y):
            return(x*GRID_SIZE,y*GRID_SIZE)
    def draw_background():
             random.seed(BACKGROUND_SEED)
            for y in range(GRID_HEIGHT):
                    for x in range(GRID_WIDTH):
                            screen.blit("floor1",screen_coords(x,y))
    def draw():
            draw_background()
    pgzrun.go()
    続きは徐々に書き足していきます。
    動画では全て公開しているので、サンプルファイルをダウンロードして
    つくってみてくださいね。
    よかったらシェアしてね!
    • URLをコピーしました!
    目次