前の頁へ   次の頁へ

老い学の捧げ物 Part Ⅰ

1.準備

まずpythonをインストールし、pygameもインストールしておきます。pythonをインストールしたら、CMDから実行できるようにpathを通しておきます。インストールの仕方とpathの通し方は、ネットに溢れているのでそれをご覧ください。詳しく書けばいいのですが、面倒なので・・すみません。

次にpythonプログラム関連の専用フォルダを作ります。わかりやすいようにルートディレクトリ直下に作りましょう。CMDを開き、cd \とタイプしリターンキーを押してルートディレクトリ(C:\)へ移動し、md myPythonとタイプしリターンキーで入力します。cdの意味は「change directory」、mdの意味は「make directory」です。mdとmyPythonの間には半角スペースを入れて下さいね。これでC:\直下にmyPythonフォルダができました。続いてcd myPythonと入力してmyPythonフォルダに移動します。そこで md soukoと入力し、myPythonフォルダに空のsoukoフォルダを作成します。

現在のカレントディレクトリはmyPythonですね。試しにCMDにdirと入力してみて下さい。soukoフォルダができていることが確認できます。windowsでマウスを使ってフォルダを作るより簡単ですね。今後、このmyPythonフォルダにこれから作成するpythonのファイルを格納することにします。

ゲーム作成にあたり、「Pythonでゲーム作りますが何か?」(もしリンク先が開けなかったら「Ctrl」キーを押しながらクリックしてください。別タブで開きます)を大変参考にさせて頂きました。また画像データやメソッドも、そのままあるいは少し変更して使わせて頂きました。作者の方に心から御礼申し上げます。このサイトは時々引用させて頂きますので、「師匠のサイト」と呼びます。

倉庫番ゲームは、倉庫内で荷物を指定された位置まで運ぶだけのゲームですが、荷物は壁又は他の荷物にぶつかるとそれ以上は動けません。またプレーヤーも壁をすり抜けることができず、一つの荷物しか動かせません。そこで倉庫内に配置された複数の荷物をどのように移動させるか、がこのゲームのキモであり、ネットには世界中の沢山の倉庫番愛者が考えたマップが溢れています。

例えばSokoban:levelsには24種類のマップデータが公開され、各マップデータにはそれぞれ沢山の面データが公開されています。いずれもtxtファイルで書かれ、各面の記号は万国共通で、以下のように決められているようです。
 # :壁
 $ :荷物
 @ :プレーヤー
  . :収納場所
 * :収納場所にある荷物
 + :収納場所にいるプレーヤー
マップデータのうちの一つ、Tutorialマップデータにある面データをご紹介しましょう。

Sokoban:levelsには上のような画像が表示されていますが、ダウンロードしたファイルをメモ帳などのエディタで開くと、得られたtxtファイルの中身は以下のように書かれています。これが面データとなります。

; a simple tutorial level
#####  
#@  #  
# #$###
# $ ..#
#######
前の頁へ   次の頁へ