「Pythonでゲームアプリを作りたいなら日経ソフトウエア 2018年3月号を読もう! | hiro345」で紹介しましたが、ようやく、日経ソフトウエア 2018年3月号のPythonゲームアプリを動かしてみました。ラズパイできちんと動いて、なかなか良い感じです。
ポーカーのゲーム(pocker.py)はIPAのフォントをダウンロードして使うように書いてあったのですが、標準でインストールされているDroidSansFallbackFull.ttfを使えばいいかな、と思って下記のように修正して動かしてみました。
#jfont = pygame.font.Font("ipag.ttc", 24) jfont = pygame.font.Font("/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf", 24)
基本的にゲーム専用機でしかゲームを遊んでいないので、ポーカーでカードの選択やOKの決定に「Enter」キーを使うことに、なかなか気がつくことができませんでした。そういうものなんですね。
一通り実行してから記事を読もうと思ったら、Pygameはエイリアンゲームなどのサンプルが同梱されている模様。ラズパイでも早速試してみようと思ったら、見当たりません。
$ python3 -m pygame.examples.aliens /usr/bin/python3: Error while finding module specification for 'pygame.examples.aliens' (ImportError: No module named 'pygame.examples')
Pygameのバージョンが古いのか、省略されているのかわかりませんが、こういうときは仮想環境を使って用意するのがいいですね。
次の例ではanenvという仮想環境を用意して、activateで有効化してから、pipコマンドでpygameインストールしてから、pygame.examples.aliensゲームを実行しています。deactivateコマンドは仮想環境を終了するためのコマンドです。
$ python3 -m venv anenv $ . ./anenv/bin/activate (anenv) pi@raspberrypi:~ $ pip install pygame (anenv) pi@raspberrypi:~ $ python -m pygame.examples.aliens (anenv) pi@raspberrypi:~ $ deactivate
pygame.examples.aliensゲームのコードは anenv/lib/python3.5/site-packages/pygame/examples/aliens.py にあり、データは anenv/lib/python3.5/site-packages/pygame/examples/data/ にあります。
ちょっとしたゲームを作成してみたい人のために、こういった素材も含めて配布されているというのはありがたいことですね。
あ、そうそう、ラズパイだと /home/pi/python_games/ に Pygameを使ったゲームのサンプルがいくつかインストールされていて、そちらも参考になりますね。
Scratchに含まれる画像データや音楽データも含めて考えると、ラズパイはゲームプログラミング入門機としても十分な機能を持っていて、いいマシンだと考えています。