montessori method

pythonでゲームを簡単に作れるように提供されるライブラリです。ライブラリ自身はc/c++で記述されていると思うので、pythonの実行速度の遅さはライブラリによってカバーされていると言えます。

ドキュメントは、

https://www.pygame.org/news

インストールはpipコマンドで、

% pip3 instal pygame

のようにインストールできます。インストールの確認はpythonを起動して、

>>> import pygame

が実行できれば完了しています。

ダウンロードしたファイルの中にデモプログラムも含まれているので、それらを動かしてみることができます。全て二次元のゲームなので、Scratchからテキスト言語への移行にちょうど良いかもしれません。

<サンプルで作ってみたゲーム>

二次元の迷路ゲームです。迷路作成のアルゴリズムにもいくつかあるようですが、ここでは『壁伸ばし法』という、割と人間が作成した迷路に近いものが作れるロジックを使っています。ソースは出来合いをほぼそのまま流用していますが。

全体の制御もこれも流用、迷路作成アルゴリズムは『棒倒し法』だったので、『壁伸ばし法』に置き換えています。

コントローラーはM5stackを使って、移動方向四方向はM5stack本体を有る角度異常傾けるとボタンA/Cを上下キーと認識、水平ならば左右キーと認識するようにしています。

M5stackとPythonの間はBluetoothを使いますが、論理的にはシリアルインターフェースに見せるようにM5stack側は、

#include “BluetoothSerial.h”

python側はpyserialをインストール、

%pip3 instal pyserial

pythonコード中では、

import serial

しています。

起動すると、以下のような迷路がランダムで作成されるので、下段右端のゴールまで赤色のプレイヤを移動していくだけです。

ソースプログラムは、

https://github.com/chateight/PlatformIO/tree/master/bte_serial/src

に置いてあります。maze.pyがメインプログラム、make_maze.pyが迷路作成クラスファイル、main.cppはM5stackのプログラムになります。

PyGameをさらに教育用に簡便化したPyGame zeroというのもあるので、こちらを使えばさらに導入が簡単かと思います。