老い学の捧げ物

プログラミングを趣味とするG(爺)です。N-BASICからMS-DOS、WINDOWSへとOSの変遷に伴い、最初のNEC:PC-8001からPCを何度も買い替えてきました。この間における、CPUの処理能力の向上、記録媒体の小型化と容量の増大、ディスプレイの大型化と薄型化、これらに伴うPCの低価格化、インターネットを初めとする通信の向上などを思い返すと、今更ながら驚きを覚えます。

最初に覚えたN-BASICで、ディスプレイにアルファベットを表示させ、キー入力でそれを画面の端から端まで移動させるのに成功した時の感動を、今でも覚えています。ひらがなすら表示できないPCで、グリーンモニターしか買えなかったので16色カラーも表示させることができませんでしたが。その後、MS-DOSで config.sysとか adddrvとか入力していた頃が懐かしく思い出されます。

1.PyGame

若い間は仕事優先で、プログラミングからは遠ざかっていましたが、仕事をリタイアして時間に大きな余裕ができたので、プログラミングを再開しました。ボケ防止も目的の一つです。しかし何をプログラムするか、が大きな問題でした。とっつきやすいゲームから始めることとし、比較的簡単そうな倉庫番ゲームを作成することとしました。

言語は、無料であることが必須でしたので、最初はjavaを使いました。java言語で倉庫番ゲームなどを作成しましたが、配列処理が比較的面倒だったことから、タプルを使え配列関連の処理を得意とする「python」を学ぼうと思い立ちました。いつか画像処理や機械学習を学びたいと思うからです。そこでpythonでもう一度倉庫番ゲームを作成し、忘備録としてその過程を記録しようと思います。

またjavaではクラス毎にファイルを作るのが普通でしたが、pythonの本やサイトでは一つのファイルに複数のクラスを作っているものがほとんどです。コードが長くなるのを防いで読み易くすることを目的とし、クラス毎にpyファイルを作りたいと思います。Gが一番勉強になっていますが、python初心者の方に少しでも参考になれば嬉しいです。

pythonには豊富なライブラリがあります。今回は、その中でもゲーム用として広く知られた「pygame」を使います。コーディング環境としては、Microsoft Visual StudioなどのIDEを使うこともできますが、IDEの操作を覚えるのが面倒、重い、背景色などの設定変更ができない(できるのかもしれませんが)、などから、Gは「秀丸」などのテキストエディタでpyファイルを作成し、コマンドプロンプト(以下、CMDといいます)から実行することとします。なおGの環境は、Windows10、Python 3.8.1, pygame 1.9.6です。
初期画面が下の画像のような倉庫番ゲームを作ります。

2.Kivy

スマホのアプリ作成に使える Kivy も取り上げます。kivyは pythonの中でも特殊な形態をもつフレームワークで、Gは使いこなすのに四苦八苦しています。比較的わかりやすいサンプルとして、example-tutorialsにある notes (メモ帳)のコードを学びながら、同じようなアプリを作りたいと思います。なおGの環境は、Windows10、Python 3.8.1, Kivy 2.0.0です。

初期画面が下の画像のようなアプリを作ります。残念ながらスマホへの移植はできませんでしたが、WindowsとLinuxでは作動を確認してあります。

Part Ⅰ PyGame-倉庫番へGO   Part Ⅱ Kivy-メモ帳へGO