0_0_53

 obake   specification   version 

_52B で安定したため、_53で新機能の実装へ移る

  • ( QF_ComboChallenge(); )
    • ( Phy_Control(); )
      • Phy_WaiTinG();
      • Phy_SToppinG();

Phy_WaiTinG() は Phy_SToppinG() とほぼ同じ構造になっている。

WaiTinG の方はタイルが落ちるまでの遅延を管理しているタイマーで、本来は GMS の TimeLine を使うつもりだったがバグがあったので使えなかった。そこでリストを使って時間を計測したり管理したりしている。

SToppinG はタイルが落ちてから停止するまでを管理しているタイマーで、停止可能になったら停止処理を入れる。

仕様変更

ADD_TimeLinePhy() 関数を廃止 データ構造を使った instance variables をいくつか廃止>リスト関連 Phy_StandCT など

オブジェクトに追加された PWaTimer 変数でWait を管理する方式に変更、リストを使ってグループを作り一括管理する方式は効率的だが、アクティブ連鎖で想定外の形で連鎖が発生して落下距離が各タイル毎異なる可能性がある。これを考慮するとグループ化して一括処理には問題があり、多少非効率でも総当り方式でひとつひとつタイマー管理した方が安全になる。

総当りにすることでひとつひとつ条件を判定する手間はかかるが、グループ単位での処理よりもループ記述はシンプルにできる。

リストのコピーなど手間も無くなるため、総当りではあるが速度的なデメリットはそれほど大きくならないという評価にしてある。むしろ速くなるかもしれない。

パズルとしての動作はこの実装によってだいぶ形になってきた。




次へ

前へ