3D迷路ゲーム
アドイン版 Casio Basic 用サンプルプログラム
誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
2016/01/09
追記・修正 2016/01/13
▋3D迷路ゲーム2016/01/09
追記・修正 2016/01/13
ガノー様から、C.Basic 向けに3D迷路ゲームをご紹介頂きました

右側の3D表示された迷路を見ながら、左上から右下までたどり着くゲームです。
3D表示の上には、現在南を向いていることを示す S が表示されています。方向転換するとその時に向いている方向を東西南北(E、W、S、N)で示してくれます。画面の上方向が北です。
矢印キーかテンキーを使って、前進、方向転換(右、左、後ろ)をします。結構難易度が高いです。最終手段としては、左手法(左手で壁をなぞってゆくと、いずれ必ず出口にたどり着く方法)があります。
具体的な操作方法は、ソースコードを見れば分かりますが、以下のようになっています。
・ [↑] か [8] で前進
・ [→] か [6] で右へ方向転換
・ [←] か [4] で左へ方向転換
・ [↓] か [2] で後ろへ方向転換
右側の3D表示は、ポリライン描画(頂点や交点の座標のみのデータから直線を描画する方法)というテクニックを使っていて、使用メモリ節約を行っています。
このプログラムは、ソースコードレベルで純正Casio Basic と互換になっているのも面白い点です。ご興味のある方は、ソースを読んでみて下さい。ソースコード自体は、簡潔に読みやすく書かれています。ポリライン描画を使っているので、純正 Casio Basic で動作可能になっていますがちょっと遅いです。
この他に、ソースレベル互換を実現するために使われているテクニックを紹介します。
ソースの中に、行頭が '/ となっている部分があります。純正Casio Basic は行頭が ' なのでコメントとして認識しますが、C.Basic は '/ となるものは実行します。 こうして、C.Basic の独自拡張機能を使いながら純正Casio Basicとの互換性を確保できます。
但し、このソースを純正Casio Basic で実行させると、左側の迷路マップ表示に恐ろしく時間がかかってしまいます。尤も3D表示についてはポリライン描画なので純正Casio Basicでも殆どストレスなく描画されます。
なお、デフォルトでは自分がどこにいるのか分からないのですが、隠しキー を押すことで迷路マップ上に自分の位置がドットで表示されます。
C.Basic の作者 Sentaro様 か 管理人(Krtyski) の頭文字が隠しキーになっています。
百聞は一見に如かず、以下のYouTubeをご覧ください。
▍3D迷路の遊び方と説明
▍より快適に遊ぶ - C.Basic + Ftune2 で爆速!!
▋プログラムのダウンロード
⇒ 3D迷路サンプル by ガノー ( 2017/09/03: リンク切れしています)
⇒ 3D迷路サンプル by ガノー ( 2017/09/03 e-Gadget Web から新たなリンク作成)
ダウンロードしたZIPファイルには、3つの g1m ファイルと3つの説明のテキストファイルが含まれています。
3つの g1m ファイルを fx-9860GII に転送し、メインプログラムの MAZ3D を実行するとゲームが始まります。他の2つのファイルはメインプログラムから呼び出されるサブルーチンプログラムです。
3つの説明のテキストファイルは、メインプログラムのプログラム概略、ポリライン描画に関する説明、そして readmeファイルがあります。
▋動作確認
なお、C.Basic Ver 0.92 で動作確認しています。
この高速インタープリタ C.Basic だと、迷路マップの表示は1秒以内です。
さらに、Ftune2 を使ってオーバークロック (236MHz) すると、描画は一瞬です。
⇒ ダウンロード: fx-9860GII の高速化 - Ftune2 の導入 からどうぞ
▋readmeファイルの紹介
3D迷路サンプル / Sample Code Of 3D Maze
Author twitter:garnot1
Since 2015/12/25
Notice:
* CasioBasic / C.Basicで動作する3D迷路サンプルプログラムです。
* 本サンプルは改変自由、再配布自由です。
*
* This is a sample code of 3D Maze, It's runnable with CasioBasic And C.Basic.
* This sample is allowed redistributions and also allowed modifications.
Informations:
* もしもC.Basicに興味を持たれたなら、サイトをチェックしてみてください。
* https://egadget.blog.fc2.com/
* https://egadget.blog.fc2.com/blog-entry-495.html
* 管理者:やす様 (Krtyski)
*
* If you interested this C.Basic project, please you check the site.
* https://egadget.blog.fc2.com/
* And this project contains English web-page, maybe it will help to you.
* https://egadget.blog.fc2.com/blog-entry-493.html "
* Supervisors / Administrators are: Yasu (Krtyski)
C.Basic's rights and other's are:
* C.Basic の開発者は「 sentaro 」様であり、全ての権限を有しています。
* C.Basic is programmed and created by sentaro, all-rights reserved.
応援クリックをお願いします。励みになるので...