砂漠大脱走

プログラムの説明 プログラムの仕組み
 1180行までがメインルーチンで、あとはサブルーチンです。
 @ 主な変数
  M(90,50)  砂漠(−10がさそり 1〜5が距離)
  O$(6)     距離に応じた音程
  V$        最高タイム
  X、Y       さそりのX、Y座標
            俺のX、Y座標
  C         色、終了判定(−10で刺された)

 A フローチャート(もどき)
    1 準備・音
    2 さそり設定              1590
    3 画面(砂漠)             1360
    4 時間退避               1780
    5 移動                 1230
       刺された=>終わり(1680)   =>7
       海へ  =>ゴール(1730)   =>7
    6 =>5
    7 時間設定
    8 再挑戦か  はい=>2  いいえ=>9
    9 終了

 B 改造のアドバイス
 サブルーチン毎にまとまっているので、フローチャート(もどき)を参考にして、変えたいところをさがして変えてください。
 さそりの数は、1620行の40(2か所)を変えてください。数を大きくすると、難しくなるでしょう。ただ、あまり大きくすると、海まで行けないと思います。
 音がいらないときは、PLAY文を全て消してください。
 また、2人でプレイできるようにしたり、ある時間内に海にまで行けないと死んでしまうようにしたり、途中にオワシスがあったりなど、工夫してみるのも面白いかもしれません。

 C その他
 苦労したのは、
   1.さそりまでの距離を求めるところ
   2.どういう音にするかというところ
です。1.の距離のところは、サブルーチンの「Kyori」で求めています。距離は次のようになっています。
              5
             545
            54345
           5432345
          543212345
         54321蠍12345
          543212345
           5432345
            54345
             545
              5
 2.の音は、大の苦手です。近づくにつれて音が高くなっていくところは、少し気に入っています。しかし、さそりに刺されたとき、海に出れたときの音は、よくないと思います。これでも、製作時間の1/3くらいかかっています。本当に苦手です。
 そして、Time$を使っているので、多少時間が遅れることがあります。直せる人は、Time−1、Time−2のサブルーチンをかえて下さい。stopキーなどで途中で終了すると、時間は違ってきます。気をつけて下さい。MS-DOSで、
   A>time↓ で現在の時間を見て、おかしかったら
正しい時間を入力して下さい。


[ 戻る ]