Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176184
次のページ(過去)
返信[17]
親投稿
>pinfuさん 対処法は正解ですー。ただ原因というか理解がちょっと間違っているかな…。まあ主だった原因はあってるんですけど、ちょっとだけ勘違いしてそうな感じがありますね。ほぼ合ってますが…。 >けいさん そもそもとして初心者にはスコープの概念がほとんどないと思うんですよね。今回はそれを意識させるという狙いも…。 具体的には解説時に色々書きます〜(^^)
0そうだね
プレイ済み
返信[14]
親投稿
>LAMPさん 回答としては正解ですよ〜。PRINTデバッグを活用してますね〜。 詳しい解説や意図は一通り終わってから説明する予定ですが、とりあえずおめでとうございます!
1そうだね
プレイ済み
返信[1]
親投稿
小さいことの積み重ねで出来るようになると思うので、コツコツと続けながらちゃんと覚えていけば、ちゃんとしたプログラムが組めるようになると思いますよ。がんばれ!
1そうだね
プレイ済み
返信[7]
親投稿
今回だけサービスで今話した内容を反映させたソースを載せます。 ただ分からないまま進めても行き詰まるので、今の段階ぐらいでいちど振り返ってちゃんと覚える姿勢で続けた方がいいと思いますよ。 ではでは。
0そうだね
プレイ済み
返信[12]
親投稿
>KUさん バグは結構ひどいと思うんですけどね〜。回避方法がある(面倒だけど)から重要度・高じゃないのかもしれないですが、個人的には高ですよね。 >スーさん 正解です〜。てかKUさんから正解3つの流れが…(^^; 解決策もOK! 3つめのやつは想定している回答ではありませんが確かにそれも方法としてはありますね。ただロジックも変わるので今回は想定外かな…。 それともう一つもほとんど1つめと同じというか、どっち側で対応するかで2パターンあるだけなので、ほぼ3つ正解ですね。
0そうだね
プレイ済み
返信[9]
親投稿
正解3つ書かなくてもいいんですよ〜。とりあえず僕が回答候補として3つ考えていたというだけで。回答者がどれを選ぶかなと思ったところもあったのでー。 でも全部正解ですね〜。さすがです! 実は3はバグの関係でちょっとだけ面倒なんですが大正解です。
0そうだね
プレイ済み
返信[7]
親投稿
>KUさん 原因は正解です! 出来れば解決方法も書いてもらえるとさらにいい感じですー。リストじゃなくてもいいのでこれをこうしたら解決出来るみたいな。
0そうだね
プレイ済み
返信[8]
親投稿
あ、拡張子は余計だったんですね。すいません。 とりあえずうまくいって良かったです!
0そうだね
プレイ済み
返信[6]
親投稿
スマイルツールのペイントで絵を描いたら、Yボタンで出てくるファイルメニューでセーブとかロードとか出来ますよ! さっきのファイル名はここのセーブでつけたファイル名です。
0そうだね
プレイ済み
返信[5]
親投稿
ヒロさん、けいさん、ふたりとも正解です! 命令が多いので難しくなってしまいましたかね…。実はこの問題には色々意図があって答えも3パターン用意してましたがふたりの答えで全て出てしまいました(^^; 出先だったのでチェックが甘く誤字に気づかず共感押しちゃいました。まあ意味は合ってるので正解でいいんですが〜>けいさん あとで自分の意図を含めた解説をしますので、どんどん投稿してください!(って難しくてまた人来ない?)
0そうだね
プレイ済み
返信[4]
親投稿
MYCHARAは例なので、実際は自分で作ってセーブした絵のファイル名になりますよー
0そうだね
プレイ済み
返信[5]
親投稿
もうひとつだけアドバイス。 プログラムは上から実行されるので基本的には、始めに初期化関係の処理があって、その後にメインループに入ります。 初期化関係の処理とは画面の初期化や変数の初期化、スプライトの表示設定(移動は含まない)などがあります。 メインループはWHILEやラベルのGOTOで作られる事が多く、今回は@LOOPのラベルで作っていますね。なので、@LOOPからGOTO @LOOPまでの間が常に何度も実行される事になります。 このメインループの中に入ってない処理は、上記の初期化で始めに実行される以外は自分で呼び出さない限り実行されないので、通常の何度も実行される処理(キー入力や移動など)はこのメインループの中で処理を行うようにしましょう。 あとは各命令の意味などを理解して流れを追えば、どんな処理になっているかなどがわかってくると思います。頑張ってください!
0そうだね
プレイ済み
返信[1]
親投稿
これが問題のソースです!
0そうだね
プレイ済み
投稿
僕もみんなに感化されて、ちょっと問題を考えてみました。 問題 次のプログラムは、BGに大きな木を表示するサブルーチンを作り、それを呼び出して3本の木を出そうと思いましたがなぜか1本しか表示されません。原因と対策を答えなさい。 ※プログラムリストはコメントに張ります。 答えが分かった方は「ネタバレ」で答えを書いて欲しいです。 正解した方にはそうだねで返します。 (僕以外でも誰か分かる方がそうだねを押して頂けると助かります) ※正解のパターンはいくつか考えられますが動作をしたものは全て正解にします。ただしコード修正量よりも、より良い方法に改善できた方がベストです。
7そうだね
プレイ済み
返信[4]
親投稿
ぱっと見の問題点だけリストアップしますので頑張って直してみてください! ・自分も敵も同じスプライト管理番号の1を使っているので同時に出せない(どちらかを変える) ・X,Y座標を2回定義してるので不要(敵側の初期設定がない) ・意味の無いNEXTが存在する(FORがないので意味ないしエラーになるはず) ・敵のルーチンがメインループ(@LOOP)外なので実行されない(メインループっぽいのが2箇所あるが下は動かない) ・敵の座標変数を変更しているがスプライトの反映(SPOFS)してない
0そうだね
プレイ済み
返信[2]
親投稿
描いた絵をロードすれば絵を変えることは出来ますよ。スプライトの場合、GRP4, BGの場合は、GRP5に対してロードします。 例:LOAD "GRP4:MYCHARA.GRP" 元に戻すには、ACLSでのリセットが手軽ですが、それ以外では、 LOAD "GRP4:SYS/DEFSP.GRP" LOAD "GRP5:SYS/DEFBG.GRP" のようにシステムに元々ある画像を読み込んで戻す方法があるようです。 こんな説明で大丈夫ですか?
1そうだね
プレイ済み
返信[4]
親投稿
逆に本体にこんな機能や説明が欲しいみたいなことをスマイルブームさんに要求をみんなで出しましょう!(^^;
0そうだね
プレイ済み
返信[7]
親投稿
ちなみに複数行の場合の一例です。(即興なので非効率な部分があるかもですが) メッセージを表示するPRINTの部分を例えば以下のようにします。 Y=26:S=0 REPEAT I=INSTR(S,M$,"/") IF I==-1 THEN I=LEN(M$) LOCATE 3,Y,-100:PRINT MID$(M$,S,I-S) S=I+1:INC Y UNTIL S>=LEN(M$) この場合、呼び出しの方で、 MSG"こんにちは/でんぺんです" と/(スラッシュ)で区切るとそこで改行されます。ただ逆に本文で/が使えなくなるんで都合が悪かったら一番使わない文字に書き換えた方がいいと思います。
1そうだね
プレイ済み
返信[6]
親投稿
参考になって良かったです。それにプログラムの機能からやれる演出をするというのもなかなか楽しい発想だと思います〜。(早押し) ちなみにそんなに見れてませんが再利用してもらった関数(命令)ですが、コメントに複数行について書いてありましたが、複数行にするにはちょっと工夫が必要で厄介です。 あとプチコンだと値を返さない(カッコのつかない)DEFは関数じゃなくて命令(ステートメント)というようです。まあ関数しかない言語も多いし役割はほとんど変わらないから関数と呼んでお差し支えなさそうな気はしますが…
1そうだね
プレイ済み
返信[1]
親投稿
作品公開おめでとうございます。 ツンデレの早押しにはヤラレました(^ ^) これからもパワーアップ頑張ってください!
1そうだね
プレイ済み