バウンディングBOX

曲が終わるまでにプログラミングを完成させる
ライブコーディングをニコニコ動画で見てまねて挑戦してみました。

内容は箱が画面の端にぶつかり跳ねるプログラムです。

ちなみに本家はJAVAを使用して2曲終わるまでに(1曲ごとに完結)
余裕のコメント付きでこれくらいまで完成してました。

なでしこで使う命令は予め調べていたにも関わらず
私の結果は5曲以上流れてしまいました。

挑戦終了後
衝突処理つけたいと思ってましたが途中でギブアップ。

『たまむれ』には辿りつけそうにありません。

/////////////////////////////////////////////////
箱個数=50//表示する個数
描画速度=0.02//小さいほどスピードが速い。
形=丸//(丸、四角、角丸)から選択
透明度=100//残像効果(MAX100)
/////////////////////////////////////////////////

!丸=30。
!四角=0。
!角丸=15。

(箱個数)回、A[回数]を箱情報として作成
裏画面とはイメージ。これについてレイアウト="全体"。可視=オフ。
母艦のサイズ変更した時は〜
 裏画面のH=母艦のH。
 裏画面のW=母艦のW。
 
オンの間
 (箱個数)回
  A[回数]→移動
  塗り色=A[回数]→箱色
  線色=塗り色
  裏画面の(A[回数]→X値),(A[回数]→Y値)から(A[回数]→X値+30),(A[回数]→Y値+30)へ形,形で角丸四角
 裏画面を母艦の0,0へ透明度で画像半透明コピー
 描画処理反映
 裏画面を画面クリア
 描画速度、秒待つ


■箱情報
 ・X値
 ・Y値
 ・箱色
 ・X速度{=10}
 ・Y速度{=10}
 
 ・作る〜
  色名="黒,赤,青,黄,緑,紫,水"
  色名を","で区切ってそれを配列シャッフル  
  箱色=(それ[0]&"色")をナデシコ
  X値=(母艦のWの乱数/10)を切り上げ×10
  Y値=(母艦のHの乱数/10)を切り上げ×10
  (X値>母艦のW-30)ならば、X値=母艦のW-30
  (Y値>母艦のH-50)ならば、Y値=母艦のH-50
  X方向 = "1,-1"を","で区切ってそれを配列シャッフルしてそれ[0]
  Y方向 = "1,-1"を","で区切ってそれを配列シャッフルしてそれ[0]
  X速度=X速度×X方向
  Y速度=Y速度×Y方向

 ・移動〜
  X値にX速度を直接足す
  Y値にY速度を直接足す
  X値範囲チェック
  Y値範囲チェック
  
 ・X値範囲チェック〜
  (X値>母艦のW-30)ならば、X速度=X速度×-1
  (X値=0)ならば、X速度=X速度×-1
   
 ・Y値範囲チェック〜
  (Y値>母艦のH-50)ならば、Y速度=Y速度×-1 
  (Y値=0)ならば、Y速度=Y速度×-1