2022年5月16日月曜日

#4 Ichigojam BASICで遊ぶw  Ichigojam キャラベースアニメーション 花火アニメモーション算数


 昨日の夜飯は在庫整理 カツカレー

カツは、もちろんスーパーの惣菜380円税抜きですが、肉は美味しいのですが薄くて硬かったので、玉手のあの厚切りクオリティーはかなり素晴らしいかもw

松屋の冷凍カレー食い切ったw在庫0やっと松屋の冷凍シリーズあと残すところ牛どん2パックになりまして、なんとか在庫整理成功。  


昨日の続きでキャラアニメですw

昨日の花火はただPRINTを付けてWAITして消して、またPRINTの繰り返しだけのアニメでしたが、本日は代数を使ったアニメーション処理で花火の部分だけ作ってデータ処理で読み込ませます。

 

●昨日のPRINTのみ花火アニメ

LOCATE 15,15: PRINT"*"

WAIT 30

LOCATE 14,14: PRINT"***"

LOCATE 14,15 PRINT"* *"

LOCATE 14,16: PRINT"***"

WAIT 30

昨日はこの表示切り替えだけw

 

昨日の基本的に打ち上がり時に使ったLOCATION値をY+1で加算するだけの処理をたくさん作るだけですw

たくさん加減算で8方向くらい作ってWAIT値を触るだけで、綺麗なアニメーションになると思います。

 カーブなんかもできるようになるとさらに素晴らしいものが作れるのですが、まあさらに高度になるので、まずはただの加減算数のみでw

 

●本日の代数アニメ

CLS

A=15:B=15:C=15:D=15

LOCATE 15,A: PRINT"*"

LOCATE 15,B: PRINT"*"

LOCATE C,15: PRINT"*"

LOCATE D,15: PRINT"*"

LOCATE C,A: PRINT"*"

LOCATE D,B: PRINT"*"

LOCATE A,C: PRINT"*"

LOCATE B,D: PRINT"*"

WAIT5

A=A+1:B=Bー1:C=C+1:D=Dー1

GOTO 2行目 


これで8方向なはずw

でもこの書き方だと入力が面倒なので、代数を増やして文字数を減らしますw

PRINT"*"は同じなので、代数化できるのでP=PRINT"*"みたいな感じですね。

P=PRINT"*"

LOCATE 15,A: P

LOCATE 15,B: P

LOCATE C,15: P

LOCATE D,15: P

LOCATE C,A: P

LOCATE D,B: P

LOCATE A,C: P

LOCATE B,D: P

これでメモリ節約+入力手間省略できるはずですが・・・でも実際はできませんでしたw

命令文の代数は無理ですねw

これができるのがオブジェクト指向?とは言わないか?組み合わせ型引数?確かVBとかはできたと思いますが、20年前の記憶なので、定かではありませんw

命令文の代数はできませんので、そのまま入力。

まあこれはVBでもできないかも?w 

 

あとこのテレコパターンもNGだったは間違えていましたw

LOCATE A,C: PRINT"*"

LOCATE B,D: PRINT"*"

これに修正。

LOCATE A,D: PRINT"*"

LOCATE B,C: PRINT"*"

 

これでバッチリですねw

 

でも場所が固定されてしまいましたw

これでは使い物にならないので、考える必要があり・・・こういうのが面倒臭いw

まあY軸AB=5上部位置、X軸CD=15中央位置

でそれぞれ揃えればいけますが・・・XYの値が異なるとやはり、これがテレコした場合のこの数式が通用しませんので、別途作る必要が出てきました。

LOCATE A,D: PRINT"*"

LOCATE B,C: PRINT"*"


 やっぱり横着は許されないw

コンピューターは次々と問題が出てきますので、永遠と問題が発生して、問題を解決するという試行錯誤の連続w



CLS

A=5:B=5:C=15:D=15:E=5:F=5:G=15:H=15

LOCATE 15,A: PRINT"*"

LOCATE 15,B: PRINT"*"

LOCATE C,5: PRINT"*"

LOCATE D,5: PRINT"*"

LOCATE C,A: PRINT"*"

LOCATE D,B: PRINT"*"

LOCATE G,F: PRINT"*"

LOCATE H,E: PRINT"*"

WAIT5

A=A+1:B=Bー1:C=C+1:D=Dー1:E=E+1:F=Fー1:G=G+1:H=Hー1

IF A=17 GOTO 1行目

GOTO 2行目

 

これで完成ですね。



計算も集約でまとめられるところをまとめていくとスッキリしますので、数学のセンスが問われますw


 

 

0 件のコメント:

コメントを投稿

とりあえずMidi2.0をいち早く体験したいので、NI Kontrol S49 MK3ポチって置いたw ベロシティー65535段階だけでも素晴らしいw

 とりあえず生きているうちに最新ものを、格安で、手っ取り早く体験したいならソフトウェア音源一択。 アイボリー3が現在、唯一Midi2.0音源だそうで、やはりソフトウェア音源の物理モデル以外は65535段階なんか無理ですよねw 次世代のMIDI規格「MIDI 2.0」| DTM制作...