Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
17 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
次のページ(過去)
返信[15]
親投稿
ケイン KEIN.HORGAN
では、そこが分かったということは、どうしてカーソルが上や下に行き過ぎるのか分かりましたね? その原因を解消すればいいわけです。 そして、こういうときにIF 文を使うわけです。 IF もし○○なら THEN △△する ENDIF 「もし○○なら」というのは、普通は条件式を入れます。つまり Y>5 だとか、Y<10 だとか、そういう感じになります。 今作ってるプログラムにすでにあるIF文は、 BUTTON(2)==#UP だとかなっていますが、これはつまり「今押されたボタンが十字キーの上なら」という意味なんですね。
0そうだね
プレイ済み
返信[13]
親投稿
ケイン KEIN.HORGAN
なるほど。 えーと、それでは話を戻しまして…… 結局、@MOVE 以降のプログラムで何をしているのかは分かりましたか? 分からない場合、ヘルプを見るなりして考えてみて、そしてそれでも分からないところがあったら、何が分からないかを教えてくださいね
0そうだね
プレイ済み
返信[11]
親投稿
ケイン KEIN.HORGAN
お、いい感じになってるように見えます…… が、しかし、それでちゃんとなっているかどうかを判断するのはフランケンさんなので、「じゃあこうですか?」と言われても困るかなぁ…… それでフランケンさんの思う通りに動いていればそれでいいですし、 もし思った通りに動かない場合は、 「本当にやりたいこと」「だけど実際は○○な動きをしちゃう」 の二つを言ってくれないと分からないですしね。
1そうだね
プレイ済み
返信[9]
親投稿
ケイン KEIN.HORGAN
えーと、ちょっと惜しい? のかな? 新しく追加されている「+2」は、多分、下ボタンを押した時にカーソルがちゃんと下の選択肢まで移動するように加えたんだと思いますが、その状態だと上ボタンを押した時に上手く動かないような?
0そうだね
プレイ済み
返信[7]
親投稿
ケイン KEIN.HORGAN
ああ、なるほど。 @MOVE というのは、「ラベル」という命令の一種で、これはいわゆる「目印」です。この目印は、GOSUB やGOTO 命令で使います。 普通は、プログラムは上から下へ1行ずつ実行されますが…… GOSUB やGOTO 命令を使うと、プログラムを実行する順番を変更できます。 このプログラムの場合、GOSUB @MOVE が実行されたら(35行目や40行目にありますよね?)、次の行を実行するのではなく、@MOVEの次の行から実行するようになります。 そして、GOSUB を使った場合、RETURN があるところまで実行して、元の行に戻るわけです。 ……この説明で分かりますか?
0そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
むむむ…… えーと、何が分からないかを言ってくれないとこちらも説明出来ないです。 説明書とヘルプを見て、そして何が分からないかを教えてくださいね。
0そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
うーん。えーと、47行目の @MOVE からのプログラムで何をしているのかは分かりますか? 具体的には、 LOCATE PX,PY ?" " LOCATE X,Y ?"→" の4行です。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
画像だけ表示されても、何をどう答えればいいのか(フランケンさんが分からなくて困っているところが)分からないですよ? とりあえずセーブやロードは難しいので、先にカーソルの問題を片付けちゃいたいと思いますが…… もうフランケンさんはIF文を使って条件判断が出来るはずですので、頑張ればすぐ直せますよ! > 上に行き過ぎて困る 上に行き過ぎるとはつまりどういうことか? それはつまり、「カーソルが選択肢より上の行に表示されてしまう」ということですよね? カーソルを表示する位置を指定しているのは、LOCATE 命令です。 (LOCATE 命令では、その直後のPRINT 命令で表示する文字の位置を指定します) つまり、LOCATE 命令で指定する数値を「上に行き過ぎないように」すればいいわけです。
0そうだね
プレイ済み
返信[19]
親投稿
ケイン KEIN.HORGAN
はい、お疲れ様でした! お休みなさい
0そうだね
プレイ済み
返信[15]
親投稿
ケイン KEIN.HORGAN
はい、そのまま組み込んだらそうなりますよね! カーソルの表示も普通にPRINT文で行っているわけですから、LOCATE 命令で表示位置を調整して下さいね。 X, Y の値を変更する事で対処出来ますから!
0そうだね
プレイ済み
返信[13]
親投稿
ケイン KEIN.HORGAN
って、あ。 これとは全然関係ないのですが、選択肢画面の背景を指定しているBGFILL 命令はループの中に入れる必要はないと思います。 無駄な処理になっていると思いますので、外に出しておいてはどうでしょうか?
0そうだね
プレイ済み
返信[12]
親投稿
ケイン KEIN.HORGAN
ん、出来たならとりあえずいい、のかな? えーと、GOSUB については後でまたヘルプを読んでおいて下さい。 一つ、言っておくならば、@MOVE の前の行に END 命令を入れておかないとそのうちエラーが発生する、という事でしょうか。 さて、これでカーソルの上下移動は出来るようになりましたね? それでは、これを実際のプログラムに組み込んでみてください。
0そうだね
プレイ済み
返信[10]
親投稿
ケイン KEIN.HORGAN
えーと、ヘルプは見てみましたか? まずはヘルプを見て、そしてそのヘルプのどの説明が分からなかったのかを教えてもらえたら、こちらからも説明がしやすいです。
0そうだね
プレイ済み
返信[8]
親投稿
ケイン KEIN.HORGAN
やっぱりいきなりこれは難しかったかなぁ…… えーと、このコードでどうしてカーソルが下に移動するのか分からない、という事ですよね? (分かっているなら、直せるはずなので) 確認ですが、今回新しく出てきた命令、つまりGOSUB ~ RETURN や ENDIF については分かりますか?
0そうだね
プレイ済み
返信[6]
親投稿
ケイン KEIN.HORGAN
いきなり命令が増えていて混乱するかもしれませんが、まずはヘルプを見てその命令の意味を考えてみてください。 このコードだと下移動しか出来ませんが、修正すれば上移動も出来るようになります。 でも、上移動がどうしても分からない場合、後はそもそも命令の意味がヘルプを見ても分からない場合、などはまた聞いてくださいー
1そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
ミバは行数制限がきつい…… とりあえず、画像にしたので、これを参考にしてください。 なお、十字キー上は、#UP です
0そうだね
プレイ済み
返信[4]
親投稿
ケイン KEIN.HORGAN
あ、すみません、ちょっと間違えました。 上のコードだとカーソルが一瞬で画面外にまで行っちゃって、エラーになります。 VSYNC をWEND する前に入れてください。
0そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
そうですね。それでカーソルが表示出来たと思います。それで、そのカーソルを動かすわけですが…… うーん。説明が難しい。ちょっと例を出しますので、これを試しに実行してみてください X=5:Y=10 LOCATE X,Y ?"→" WHILE TRUE IF BUTTON(2)==#DOWN THEN Y=Y+1 LOCATE X,Y ?"→" ENDIF WEND これは説明用の不完全なコードですが…… これを実行すると、十字キーの下でカーソルが下に新しく表示されると思います。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
順番にちょっとずつやる、というのはとても大事ですね! さて、十字キーで選択をする、というのもさらに細かく出来ます。 1.カーソルの表示と移動 2.カーソルがどの選択肢にあるか まずは、カーソルの表示と移動をやりましょう。 この画面をコンソール画面(普通に文字を表示したりする画面)で作っているのであれば、カーソルの表示は、PRINT 文で可能です。 ?"→" ※ ? はPRINT と同じ使い方が出来る命令です。
1そうだね
プレイ済み
返信[2]
親投稿
ケイン KEIN.HORGAN
ゲームの作り方 1.プログラムを勉強する 2.ゲームの内容を考える 3.作る ■プログラムの勉強の仕方 まずは、世界で最初のプログラム「こんにちは世界」をやりましょう。 EDIT モードで PRINT "HELLO WORLD!" と入力してください。入力したら、DIRECT モードでSTART ボタンを押してください。 どうなりましたか? プチコンの画面に変化がありましたか? こうやって、1つ1つの命令を組み合わせてソフトを作っていくのです。
2そうだね
プレイ済み