次はゲームの根本部分となる、タコ足の動きから作っていく。
タコ足は、一定間隔で伸びて、伸びきったら縮む。そして伸び縮みする間隔が短くなっていく。
ポジションごとに、伸びる節の数を変えている。これによって足が伸びきるタイミングがずれていき、ゲームの楽しさになっている。
伸びる節の数は配列で定義する。
dim octposnum,5 ;ラインごとのタコ足ステップ数 octposnum=5,4,3,4,5 dim octline,5 ;タコ足のライン octline=-1,-1,-1,-1,-1 dim octmove,5 ;タコ足の進行方向 octmove=1,1,1,1,1
最近のモヤモヤの種w。またもや数値が、一定の範囲内で増減を繰り返す処理 が必要になる。
今回は、足ごとに、プラス方向、マイナス方向なのかを、配列で持つようにした。
ベタだけど、伸び切ったときと、縮み切ったときをif文で判定して、符号を反転するようにした。
これを、一定フレームごとに実行する。
はじめは、一定フレームごとに1本の足だけを伸び縮みさせてみたが、なんかけだるい。
そこで、1本ではなく、すべての足の伸び縮みをさせてみた。こっちのほうがあのタコゲームに近いかな。
さらに適度なずれを発生させるべく、伸び始めのタイミングを乱数を使ってずらすようにしてみた。
repeat 5 if octline(cnt)<0 { ;足が伸び始めるタイミングをずらす if rnd(10)< : continue } octline(cnt)+=octmove(cnt) ;足を伸ばす/縮める ;両端になったかを判定し、方向を逆転させる if octline(cnt)>=octposnum(cnt) : octmove(cnt)=-1 if octline(cnt)<0 : octmove(cnt)=1 loop
ざっくり動かしてみるとこうなる。(スピードはかなり早めにしている)

まずは、これでいいかな。