プレイ日記
えーっとですねぇ、今回も初めての挑戦で、プレイヤーから弾を出すやり方が分かんなくてまたサイト見ながらやってたらまた不具合が…弾が出ませーん!(泣)なので画像を見てアドバイスを教えてくれるとありがたいです!フォローします!
1そうだね
プレイ済み
返信[1]
親投稿
画像更新
0そうだね
プレイ済み
返信[2]
親投稿
不具合というぼかした表現じゃ直らないよ。 具体的に何がどうおかしいのかはっきりするべし (見た感じルーチンが足りないんだけど)
2そうだね
プレイ済み
返信[3]
親投稿
プレイヤーから弾が出ないとしか言えないwスイマセン分かりづらいと思いますが、どうかアドバイスを下さい(- -")
1そうだね
プレイ済み
返信[4]
親投稿
エラー停止ではないと ということは@MYSHIPもあるね?
1そうだね
プレイ済み
返信[5]
親投稿
えーっと、ルーチンに関してはまだやり途中でして、まだ必要ないみたいです…(サイトでは)
0そうだね
プレイ済み
返信[6]
親投稿
えーと ラベル未定義ってコンパイルでエラー吐かないんだっけ…
1そうだね
プレイ済み
返信[7]
親投稿
そして今、この前教わったルーチンを使わないやり方を一応試してます!でもやっぱ俺がやるとルーチンを使わないやり方が変になってきて酷い?状況になりそうなのでルーチンを使わないやり方を簡単?(簡単じゃなくてもいいので教えて)に教えてくれるとありがたいです!
1そうだね
プレイ済み
返信[8]
親投稿
上に謎のループがある →@LOOPに到達しない →GOSUBを実行しないので未定義エラーを吐かない こうすれば、つじつまがあるんだけど >>>WHILEループとGOTOループを併用する妙な講座ってどこにあるんですかね??<<<
0そうだね
プレイ済み
返信[9]
親投稿
すれちがいだ
0そうだね
プレイ済み
返信[10]
親投稿
すれちがい?
0そうだね
プレイ済み
返信[11]
親投稿
すれ違いっていうのは会話の順番が乱れることね(答えたらすでに次の返事が来てた場合など)
1そうだね
プレイ済み
返信[12]
親投稿
で、本題。 プログラムの流れを理解しましたか?
0そうだね
プレイ済み
返信[13]
親投稿
あ、そうか!早速日本語にして理解してきます!
1そうだね
プレイ済み
返信[14]
親投稿
こうなりました!日本語略すやり方はこれでいいの?それとやっぱこの並び方変だと日本語にしてみたら気づいたけどどう直せばいいんだろう?…
1そうだね
プレイ済み
返信[15]
親投稿
_Akatsuki AKHS-0703
しおんさんが仰っている通り、上方のループを繰り返しているのが原因で@LOOPまで到達していないみたいだね。弾が発射されないのもそれが原因だろうね。
1そうだね
プレイ済み
返信[16]
親投稿
その部分だけ日本語にしてどうするのかな 上のまとまりから下に行くプログラムはあったの??
0そうだね
プレイ済み
返信[17]
親投稿
後、このAボタンと十字ボタンを押した時のTHENの後に付ける、弾を出すためのやつは何を書けばいいのか分からないから教えて下さい!
0そうだね
プレイ済み
返信[18]
親投稿
あ、すれちがいだw…えーっと、具体的にどうすればよろしいでしょうか…バカデスイマセン
1そうだね
プレイ済み
返信[19]
親投稿
その前に、なんで2つのかたまりがあるの? プログラムには1つ1つの命令に理由が必要ですよ。
0そうだね
プレイ済み
返信[20]
親投稿
もう色々とややこしいので訳分かんないところなどは全て消したので、プレイヤーから弾を出すプログラムを教えて下さい!(泣)キーは画像の通りです!さっきも言ったように色々と消したのでエラーは当然ありますが気にしないで…
1そうだね
プレイ済み
返信[21]
親投稿
(3DSオフラインorz...)
1そうだね
プレイ済み
返信[22]
親投稿
_Akatsuki AKHS-0703
◆弾が発射されない原因◆ 15~27行目(WHILE~WEND)が原因でメインループであろう29行目の@LOOPに到達出来ていない。 結論を言ってしまうと、@LOOPの中身をWHILE~WENDに移せばいいワケだ。
1そうだね
プレイ済み
返信[23]
親投稿
というわけで、原理的にダウンロードは無理なのですが 「ループは1個だけ作る」 「人間を表示する手前に弾のプログラムを書く」 それと FLGという変数を「状態を表す印」(フラグ)を作るのがポイントです。 FLGが1だったら、弾が出てるので通るたびに動かします。 次に書くのがプログラムの考え方
1そうだね
プレイ済み
返信[24]
親投稿
IF FLGが1 THEN   PX,PYに 空白を表示  PYを1引く  PX,PYに 弾を表示 ENDIF IF Aボタンを押した THEN  PXはX  PYはY  FLGは1  PX,PYに 弾を表示 ENDIF
0そうだね
プレイ済み
返信[25]
親投稿
弾が画面の端に来たら 次の弾を出したいよね 「FLGが1のとき」の上に付け足します。 IF PYが0 THEN  PX,PYに 空白を表示  FLGは0 ENDIF
0そうだね
プレイ済み
返信[26]
親投稿
プレイヤーの前にやるんですよね、はい!ありがとうございます!試してみます!
1そうだね
プレイ済み
返信[27]
親投稿
あ、またすれちがいだw
1そうだね
プレイ済み
返信[28]
親投稿
うーん、教えてくれたの見ててもやっぱ難しい…本当にバカですいません!(泣)とりあえず意味が分かんなかった部分もあったのでこうなっちゃったので教えて下さい!スイマセン…
0そうだね
プレイ済み
返信[29]
親投稿
PXはX PYはY FLGは1 この「は」は全部同じ =で いいんやで
1そうだね
プレイ済み
返信[30]
親投稿
IF FLGが1 THEN  ここは「同じかどうか調べる」記号 == やで
0そうだね
プレイ済み
返信[31]
親投稿
あ、少し日本語が省略されていたけど IF FLGが1と同じ THEN こう言ったほうが分かりやすかったかな… ○が○と同じ == ○が○と違う !=
1そうだね
プレイ済み
返信[32]
親投稿
つ…ついに出来たーー!!教えてくれてありがとうございます!ですが、実は…十字ボタンとAボタンを一緒に押して、その方向に弾を行かしたいのでその方法も教えてくれるとありがたいです!無理な場合はまた別のコメ場を作るのでそん時他の人に聞いてきますw
1そうだね
プレイ済み
返信[33]
親投稿
工夫を加えるんやな FLGは0と1だけじゃなくて2とかも使えば、一緒に向きを記録できるよね
0そうだね
プレイ済み
返信[34]
親投稿
0 飛んでない 1 左に飛ぶ 2 上に飛ぶ …みたいな
0そうだね
プレイ済み
返信[35]
親投稿
IF Aボタンを押した THEN  PXはX  PYはY  FLGは1 ←ここに 「IF ○ボタンを押した THEN」でFLGを変えよう  PX,PYに 弾を表示 ENDIF
1そうだね
プレイ済み
返信[36]
親投稿
ふむ、なるほど…どのような順番に…スイマセン
1そうだね
プレイ済み
返信[37]
親投稿
実際に飛ぶ部分も変えます IF FLGが1 THEN ←「1と同じ」を「0じゃない」に変える   PX,PYに 空白を表示  IF FLGが「上の数字」 THEN PYを1引く  IF FLGが「左の数字」 THEN PXを1引く  PX,PYに 弾を表示 ENDIF 「上の数字」とかは、作る人が決めるんだけど、ここで混乱しないことが重要。0が飛んでないだから、1から順番に振っていくといい
1そうだね
プレイ済み
返信[38]
親投稿
IFの中にあるIFは、方向の数だけ並べるんやで あと1行のときだけはENDIFが省かれるので注意
1そうだね
プレイ済み
返信[39]
親投稿
なるほど…
0そうだね
プレイ済み
返信[40]
親投稿
番号の振り方は「回転」で考えると覚えやすい 左を向いてるのが1として 90度右に回ると 上が2 また90度右に回ると 右が3 また90度右に回ると 下が4 また90度右に回ると 左に戻るからおしまい
1そうだね
プレイ済み
返信[41]
親投稿
90度「時計回りに」回る この方が混乱しないかな
1そうだね
プレイ済み
返信[42]
親投稿
今からアドバイス通りやってくるのでしばらくミーバースが数時間返答出来ないので、そこに関して気にしないで下さい!度々、新たなにアドバイスが届いてる場合は共感します!(^∀^)
1そうだね
プレイ済み
返信[43]
親投稿
この37行目の「IF○ボタンを押したTHEN」でFLGを変えようを、詳しく言ってくれるとありがたい…ていうか、変数FLGの設定?がバカな俺にはちょっと難いのでそこも詳しく言ってくれると嬉しいです!ナンドモスイマセン…
1そうだね
プレイ済み
返信[44]
親投稿
IF Aボタンを押した THEN  PXはX  PYはY  IF 左ボタンを押した THEN FLGは「左の数字」  ↑これを必要なだけ並べる  PX,PYに 弾を表示 ENDIF
0そうだね
プレイ済み
返信[45]
親投稿
「ボタンを押した」はANDがいいよ 「Aボタンを押した」→「B AND 16」
2そうだね
プレイ済み
返信[46]
親投稿
遅れてすみません!体調が悪化してしまったので…それで、今日久々にやったら上とAボタンの弾の動作はちゃんと出来たのですが、他のボタンの場合が出来なくて、でちゃんと"必要なだけ並べる"をちゃんとやってもエラー出たりしてました…ちなみにこれから多分意味無いと思うけど他の方法も試そうと思いますが原因とか分かります…かね…?wホントウニスイマセン(泣)
1そうだね
プレイ済み
返信[47]
親投稿
あ、画像忘れてました!すいませーん…
1そうだね
プレイ済み
返信[48]
親投稿
うーん 38行目のIFを並べた状態の画面を見ないとな… これじゃ↑上撃ち専用になってるし…
0そうだね
プレイ済み
返信[49]
親投稿
と、言いますと…えーっと、上撃ち意外も試したけど動作しなかったので消しちゃいましたけど…他のボタンの場合のやつをもう一回書きます?どうします?
0そうだね
プレイ済み
返信[50]
親投稿
動作しないとは何エラーか出たの?
0そうだね
プレイ済み
返信[51]
親投稿
エラーは出たんだけど、何とかエラー元を直して、けど何か他ボタンとAの弾はやっぱ出てこなくて上しか出なかったって感じです…無念…
0そうだね
プレイ済み
返信[52]
親投稿
(アドバイスとかのコメント待ってまーす…)ススマナイノデ…
0そうだね
プレイ済み
返信[53]
親投稿
試しに下ボタンとAボタンのやつを頑張ってやってみたらちゃんと弾出せましたー♪けど、…(まだあんのかよ!)弾一発は出せるんですけど、二発目の弾を出そうとすると、出る前になぜかエラーがでます~…(°д°" )どこか間違ってます…かね? なのでちょっと見ていただけるとありがたいです!
0そうだね
プレイ済み
返信[54]
親投稿
ちなみにエラー表示はこれです!(よく分からんので…)
0そうだね
プレイ済み
返信[55]
親投稿
Out of range in 0:48(LOCATE:2) <<エラーの読み方>> エラーの名前 in スロット:行(問題がある命令の名前:問題がある引数の位置) Out of range in 0:48(LOCATE:2)を訳すと スロット0、48行目にあるLOCATEの2番目の引数で、範囲外の値があった。
0そうだね
プレイ済み
返信[56]
親投稿
引数は1番から数える(はず) 命令 引数1番,引数2番 ←2番だからここの数が悪い
0そうだね
プレイ済み
返信[57]
親投稿
LOCATEの2番目なので「Yの値」が悪いようです
1そうだね
プレイ済み
返信[58]
親投稿
下に撃ったときにエラーが出るなら「下に行き過ぎない制御」が抜けている場合アリ 上に行き過ぎない制御の応用でできる
0そうだね
プレイ済み
返信[59]
親投稿
えーっとですねぇ、言いづらいんすけど、このコメ場で俺の最後にコメントした後、このコメ場で議論してた"行く方向に弾"が俺の持ってるサンプルプログラムにありました…( -_-")しかもこのコメ場でやってたプログラムよりはるかに高性能?つーか進化してるっつーか進化系でしたw(泣)で、それを改造していきたいと思いまーす…教えてくれてたのにすいません!で、しおんさん確かさっき共感してたので気づいてるかと思うんすけど、改造してて チカチカ入れたいたいなーっと思ってやてたけど"出来ないので教えて下さい"的なのを出しました!なのでそっちでも教えてくれるとありがたいです…ホントウニスイマセン(-_-" )
1そうだね
プレイ済み