プレイ日記
PONガエル pokettto-1260-ze
現在 ターン制戦闘ゲームを作っています 今まで GOSUBを使ってゲームを作った事がなかったので GOSUBの使用は初めてです 作ってる途中で メインループに何の処理を入れればいいのか分からなくなりました サブには 変数で変わったりする物を入れれば良いのですかね 変数=変数-RND(3)+1とすると ちょっと変になりました RND()を変数に入れたら解決しましたまたまた
7そうだね
プレイ済み
返信[1]
親投稿
PONガエル pokettto-1260-ze
それと 文字の色を何度も変えたい時 PRINTの前に COLORを毎度呼び出す以外に方法はありますか (古びた日記)
1そうだね
プレイ済み
返信[2]
親投稿
サブルーチンには、よく使う処理を入れるのが妥当だと思います。 例えば画面の描画とかに私は使っています。 (いつもDEFだがGOSUBと変わりなし) それにメインループの流れをGOSUBで分けたりしますね。 WHILE 1 GOSUB @BUTTON GOSUB @PAINT GOSUB @MYSP GOSUB @OPJECT_CHECK VSYNC 1 WEND みたいに。 あと色を変えるのはそれしかないと思います。 (FONTDEFという抜け道もあるが酷くめんどい上にCOLORと同じ扱い方なので)
2そうだね
プレイ済み
返信[3]
親投稿
SOU MARIO-LUIGI-0106
出来ないこともないです。 @ILOHENKO C1=1 C2=15 COLOR C1,C2 PRINT "こんにちは" GOTO @IROHENKO みたいな感じでうまくやれば、 同じテキストは出来ます。 まあでもめんどくさいので 普通にやった方がいいと思います。
1そうだね
プレイ済み
返信[4]
親投稿
ツララ LongIceSword
DEF命令でCOLOR命令とPRINT命令を引数指定して一括で処理する命令を作ってみたらいいんじゃないです?ついでにLOCATE命令もミックスして DEF C_PRINT X,Y,TXT$,C1,C2 LOCATE X,Y COLOR C1,C2 PRINT TXT$ COLOR 15,0 END みたいなのとか 一回ベタでだら〜っと書いてみて、繰り返し出て来る処理をいい感じの区切りで一纏めにしてサブルーチン化してみるところからやってみたらいいんじゃないかと。 自分がサブルーチンの使い方を覚えたときもそんな感じでしたし。 FOR文のカウント変数を使って色んな数列を作る時とにかも、ベタ書きしてから法則性を見つけて数式化したりの練習にもなりますよ。
1そうだね
プレイ済み
返信[5]
親投稿
PONガエル pokettto-1260-ze
後は ターン制と敵の攻撃とプレイヤーのHPとプログラムを…
0そうだね
プレイ済み
返信[6]
親投稿
PONガエル pokettto-1260-ze
やる気が消えないまま続きそうだ
0そうだね
プレイ済み
返信[7]
親投稿
PONガエル pokettto-1260-ze
ポコペン!(絶望)
0そうだね
プレイ済み
返信[8]
親投稿
PONガエル pokettto-1260-ze
MISU(MISS)
0そうだね
プレイ済み
返信[9]
親投稿
PONガエル pokettto-1260-ze
なんでHP/2にすると動作しなくなるんだよ! HPの中身が常時変わってるからかな? お知らせがいっぱい来てますよね…? 許してくださいなんでもしますから! (頑張って)やりますねぇ!
0そうだね
プレイ済み
返信[10]
親投稿
処理がよく理解できてないので分かりませんが、とりあえず(HP/2)<40としてみて下さい。
0そうだね
プレイ済み
返信[11]
親投稿
PONガエル pokettto-1260-ze
もしも敵のHPが半分になったら… という 処理です 変数HPを変数HPCに入れて HP<HPC/2 で 解決しました! 他に解決法はあるのでしょうか? COPYって文字列変数じゃなきゃコピーできない…?
0そうだね
プレイ済み
返信[12]
親投稿
HP<(HP/2)でどうでしょう。 COPYは変数も文字列変数も配列変数もラベルもできると思いますが…? 型が合っていなかったりDATAや配列の要素が足りなかったりならエラー吐きます。
1そうだね
プレイ済み
返信[13]
親投稿
はっそういやそうだった。 1は1の半分より小さいですか?って聞いてるようなもんでした。 「現在のHPの半分以上を失ったら」ならHPCにはダメージを受ける前のHPを 「HPが最大HPの半分以下になったら」 ならHPCには最大HPを入れるとしっかり動くと思います。
1そうだね
プレイ済み
返信[14]
親投稿
PONガエル pokettto-1260-ze
聞きたい事がいっぱいあるのですが 特に気になる事を質問させていただきます VARって どういう事に使うのですか? 配列の宣言?変数のリスト?
0そうだね
プレイ済み
返信[15]
親投稿
PONガエル pokettto-1260-ze
( 話が大幅に反れちゃった )
0そうだね
プレイ済み
返信[16]
親投稿
配列の宣言というよりも、変数の宣言ですね。 OPTION SERICTとすると、変数を使うには宣言をしなくてはならなくなります。 そもそも他の言語では宣言しないと駄目なのが多いので、名残というかなんというかです。 変数名のミスをなくせます。 あと、DEFの中で宣言をすれば、ローカル変数というものになります。 ローカル変数とは、DEFの中だけの変数です。 A=1 ?A:?A():?A DEF A() VAR A=10 RETURN A END とすればわかるでしょうか。 DEFの外のAと中のAでは別の変数扱いになります。 逆にVARを使わないと、グローバル変数と呼ばれ、同じ変数扱いになります。
1そうだね
プレイ済み
返信[17]
親投稿
PONガエル pokettto-1260-ze
宣言してない変数があったらエラーがでるんですね! 便利!
0そうだね
プレイ済み