したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

アイワナボスコード

18名無しさん:2016/06/10(金) 19:29:41 ID:Flmqbzz.
*****Pro(8.1以前) か Studio のみ実装可能*****

長文注意

例えば ボスの攻撃を
パターン1
パターン2
パターン3
パターン4
パターン3
パターン2
パターン1

このように1→2→3→4と4まで攻撃したあとに
3→2→1と逆順で攻撃するとする
順番が決まっているなら >>16 のキューで問題は無いが
ランダムで実装する場合キューでは太刀打ちできない

このような場合にはスタックというものを使うといい
基本的にはキューと似ている
キューと違う部分は取り出したデータの順番が違う

キューでは 1 2 3の順で数値を入れた場合、1 2 3の順番で取り出せるが
スタックで同様なことをした場合 3 2 1の順番で取り出される
つまり後に入れた数値から取り出されるのだ

ちなみにスタックでは数値を入れることをプッシュ(push)と言い
データを取り出して 
取り出したデータを削除することをポップ(pop)

以下よりコード
(変数には全て先頭にアンダーバーをつけてある
今回も攻撃の待ち時間を考慮せずに書く

ただしこのコードは弾の動きが逆再生する訳ではない)


[Create Event]
///Initialize
reverse = false;

_stack = ds_stack_create();

[Update Event]
if(reverse)
{
event_user(ds_stack_pop(_stack));

//条件を満たさなければランダム攻撃
_reverse = !ds_stack_empty(_stack);
}
else
{
//パターンの数だけ(今回は0から9の10パターンとする)
_rand = irandom_range(0, 9);
event_user(_rand);

//条件を満たせば逆順に攻撃
_reverse = ds_stack_size(_stack) >= 3;

ds_stack_push(_stack, _rand);
}

[User Defined 0 Event]

攻撃のコード

.....

以後ユーザー定義イベントが続く


注意
ユーザー定義イベントは0から15しかないため
16パターンまでしか使えないことに注意が必要


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板