= 関数一覧
[[PageOutline]]
== adddblock(xx, yy, sxx, syy, tp) 落下ブロック追加
* xx : X座標
* yy : Y座標
* sxx : 速度(X)
* syy : 速度(Y)
* tp : ブロックの種類
== addtblock(xx, yy, tp, lr) タワーブロック追加
* xx : X座標
* yy : Y座標
* tp : ブロックの種類
* lr : 左または右 (お皿の場所)
== addcblock(xx, yy, sxx, syy, sr, tp) 破損ブロック追加
* xx : X座標
* yy : Y座標
* sxx : 速度(X)
* syy : 速度(Y)
* sr : 回転速度
* tp : ブロックの種類
== addsceff(xx, yy, sca, scb) スコア演出追加
* xx : X座標
* yy : Y座標
* sca : スコア基本値
* scb : スコア倍率
== drawnumber(xx, yy, num, keta) 数値文字描画
* xx : X座標
* yy : Y座標
* num : 数値
* keta : 桁数(0埋めする)
== サブルーチン
=== *moveplayer (プレーヤー・移動)
=== *drawplayer (プレーヤー・作画)
=== *collisionblocks (積んであるブロックと落下ブロックの接触判定)
=== *checktowerbalance (積みタワーブロック・バランス判定)
傾きを計算する。計算式は以下のとおり
{{{
傾き=
現在の傾き × 0.95
+移動速度 × 0.002
+(左の重量 - 右の重量) × 0.003
}}}
* 現在の傾きから時間計で若干補正される
* 左右に動くと揺れる
* 左右の重量差で大きく傾く
=== *checktowerbreak (積みタワーブロック・崩壊判定)
傾きが BALANCE_THREATHOLD を超えていればタワー崩壊
=== *drawbackdrop (背景・作画)
* 背景を描画
* スコアを描画
* ハイスコアを描画
* レベルを描画
* タイムを描画
* 残時間警告を描画
=== *moveblockgeneral (ブロック・移動)
破壊ブロック演出 / 落下ブロック すべてを移動する
=== *drawblockgeneral (ブロック・作画)
破壊ブロック演出 / 落下ブロック / 積みブロック すべてを描画する
=== *destroyalltower (積みタワー完全破壊)
お皿以外の積んでいるブロックをすべて破壊し、破壊ブロック演出を生成する
=== *destroyalldrop (落下ブロック完全破壊)
お皿以外のブロックをすべて破壊し、破壊ブロック演出を生成する
=== *movesceff (スコア演出処理)
スコア演出を更新
=== *drawsceff (スコア演出表示)
スコア演出を描画
=== *savehiscore (ハイスコア保存)
ハイスコアが更新されていたらハイスコアを保存
=== *savescreen (スクリーンショット保存)
screenshot000.bmp~ という名前でスクリーンショットを保存