ジェリーゼリーブログ

2018年4月21日

ティラノスクリプト製ミニゲーム「そこほれ!チャコフさん」の仕組み

掘りゲーはこんな感じで作りました。

「そこほれ!チャコフさん」という左から右に掘り進めて洞窟から脱出するミニゲームを、ティラノスクリプトで製作しました。

ゲーム画面はこんな感じです。

掘ったブロックの上下左右のブロックが掘れるようになるので、左から右に掘り進めて行きます。
アイテムやお金、トラップのブロックも存在し、敵とバトルになることもあります。

詳しいゲーム内容は実際遊んでいただくのが早いと思います。
「そこほれ!チャコフさん」紹介ページ

今回はこのゲームの仕組みを簡単に紹介します。何かの参考になれば幸いです。なお、配列変数についてある程度理解がある方向けです。


マップ表示までのスクリプトの流れとしてはこんな感じです。

1.初期設定は、初期のステータス設定を行います。

2.マップの初期化では、まずこんな感じのマップが頭の中にあります。

緑背景が、実際にゲーム画面に表示されるブロックの番号
黄色背景が、実際のゲーム画面には表示されないブロックの番号
白背景の番号はx座標、y座標の数値

となっています。

*mineでは初期設定として

f.con=
[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,…(以下略)

f.x=
[1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,…(以下略)

f.y=
[1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,…(以下略)

みたいな定義をしています。
これは変数の配列番号がそのままブロックの番号になっています。

例えばブロックの番号が10のブロックのx座標はf.x[10]、y座標はf.y[10]で表せるように定義しています。
(この場合、上の表と照らし合わせてf.x[10]=3、f.y[10]=2となるように定義しています。)

f.conはブロックの中身を表す数字を定義しています。
0は空白、1は土ブロック、2はトラップ、3はアイテム、4はお金、といった感じです。
上の表で緑背景の番号のブロックは1、黄色背景の番号のブロックは0に設定しています。

*mine_tre1set、*mine_tre2setでは乱数を振って出たブロックの番号にアイテムやお金を設置していきます。

例えば乱数を振って20が出たら、f.con[20]に3(アイテム)もしくは4(お金)を代入していきます。

*mine_trapsetでは、上で設置したアイテムやお金のブロックの上下左右のどれか2マスにトラップを設置していきます。

黄色背景の番号のブロックには設置しないようにも配慮します。

…実際のスクリプトはif文を使いまくってぐちゃぐちゃの記述になっています。

3.ブロックの表示では、f.conとf.xとf.yをごちゃごちゃ使ってブロックを表示していきます。

[image]タグでブロックを表示して、そのブロックが掘ることができるブロックであれば、青い枠のグラフィックボタンを[button]で表示して、掘れるようにします。

掘ることができるブロックかどうかの判定は、そのブロック番号の上下左右のブロックのどれかのf.conの値が「0」であれば掘ることができると判定します。
ただし上下左右のブロックであっても黄色背景のブロック番号であれば無視するようにif文をごちゃごちゃ書いていきます。

4.ステータス等の表示は、普通に[ptext]などでステータスを表示していきます。

右端のブロックのどれかが掘られていれば(f.conが0「空白」になっていれば)、「→」を[button]で表示して、クリックすれば次のステージに進めるようにします。

以上でマップの表示が完了しました。

この後は青い枠のブロックをクリックしたら、そのブロックの内容によって「アイテム」「敵」「トラップ」などのスクリプトファイルを[call]で呼び出します。(サブルーチンを使っています。)
掘ったあと、掘ったブロックの番号のf.conを0(空白)にして、「3.ブロックの表示」まで戻ってマップを再表示します。

「→」をクリックしたらステージ番号を+1してから、「2.マップの初期化」まで戻って次のステージのマップを初期化&表示します。

「2.マップの初期化」まで戻った際に、ステージが8になっていれば洞窟脱出ということでクリアー画面に移行するようにif文を書いておきます。


以上がティラノスクリプト製ミニゲーム「そこほれ!チャコフさん」の仕組みの簡単な紹介になります。

正直うまく伝わるように書けたか自信がないのですが、何かの参考にでもなれば幸いです。

ちなみに乱数を振るとき以外はすべてティラノスクリプトのタグを使っています。


カテゴリ:製作者向け情報/ティラノスクリプト関係/ゲーム製作/そこほれ!チャコフさん