Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
143 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63184
次のページ(過去)
返信[2]
親投稿
とくにまだスパゲティーとは思わないですが、MIKIさんの言うようにブロック毎にスペースをいれていくと見やすくなると思いますよ。 それを字下げ(インデント)と言って、プログラムでは一般的な手法だったりします。
1そうだね
プレイ済み
返信[2]
親投稿
おめでとう! 今のソースの理解を深めつつDieMatsmotさんも言われるように、より良く改良していくと自分の地力アップにも繋がると思いますし、頑張ってください!
1そうだね
プレイ済み
返信[1]
親投稿
数当てゲームを作っているみたいですね! それだと乱数は必須ですね。 プログラムの流れを知るためには確かにコンパクトで勉強にいい課題かもしれないですね。 頑張ってください!
2そうだね
プレイ済み
返信[16]
親投稿
RNDは簡単で、RND(数)のような関数で0〜指定した数ー1までの数が返ってきます。数が返ってくるので実際には受け止める変数が必要なので、 R=RND(10) みたいな感じで書きます。 ちなみに指定した数−1になるのは、戻ってくるのが0〜なのが関係していて、上記の場合は10の範囲の乱数という指定になるので、0〜9の値が返る(範囲としては10)と考えるといいかもです。 逆に必ず0〜指定した数ー1の数しか求められないので、それ以外のランダムが欲しい場合は自分で加工することになります。たとえば5〜10のランダムが欲しかったら、5〜10というのは範囲としては6(5,6,7,8,9,10)なので、RND(6)、ただしこのままだと0〜5の数字なので、これに5を足すと5〜10になります。つまり最終的には、 R=RND(6)+5 とすれば目的の5〜10の範囲の乱数が取得出来ます。
0そうだね
プレイ済み
返信[15]
親投稿
上限はMIN、下限はMAX。一見逆っぽいから間違えやすいよね〜
1そうだね
プレイ済み
返信[4]
親投稿
それ以前にちゃんとメインループがあるかも気になる…。画面外のどこかに「GOTO @Sが」あればいいけど…
1そうだね
プレイ済み
返信[3]
親投稿
この部分だけではわからないけど、ちゃんとどこかで「SPOFS 0,X,Y」してる?
1そうだね
プレイ済み
返信[31]
親投稿
TEST1_2を見た感じだとまだ条件文やループなどが出てきてないので、その辺の理解は少ないと考えていいのかな? ちなみに管理番号は自分が使うためにスプライトに割り当てる番号です。スプライトは1つの管理番号に割り当てることによって1つ表示出来るので、同じ管理番号を使ってしまうと前に使っていた絵は上書きされて消えてしまいます。 それに対して定義番号はスプライトとして利用出来る絵の方に割り当ててある番号です。なので同じ番号を使えば同じ絵を表示することが出来ますし、SPDEF命令で定義そのものを変更してしまえば定義番号に対して違う絵を割り当てる事も出来ます。(その際、その定義番号を使っていたスプライトは全て変わってしまいますが) 一応補足で説明してみました。
0そうだね
プレイ済み
返信[28]
親投稿
気を落とさないでくださいね。着実にやれば確実に力になると思いますし。 とりあえず文法的な所と流れの部分のおさらいをするのがいいじゃないかなと思います。 その際に、たとえばキャラクターを動かすプログラムなら、どこかからもってくるのではなくてゼロから組むようにしてみると良いです。また始めはアニメーションとかは考えずにただ移動させるところから始めて、少しずつステップアップしていくのが良いです。 頑張ってください!
2そうだね
プレイ済み
返信[23]
親投稿
上記を前提ですが、少しヒント。 サンプルを繋げるというのは単純に上下で繋げれば動くというわけじゃないです。前にも書いたように、初期化の部分とメインループを区別して、初期化の部分は初期化の部分でまとめる(繋げる)、メインループは共通するメインループの中に加えるなどの作業が必要になります。 他にも色々あるにはありますが、とにかく流れが重要なので、流れに合わせて必要なところをまとめる(繋げる)必要がある感じですね。 ちなみにループの場所は合ってます。今回の場合はWHILEからWENDまでの間が繰り返されてメインループが構築されている感じですね。
2そうだね
プレイ済み
返信[22]
親投稿
かなでさんも言われるように基礎的な部分の理解が出来てないのが大きな問題だと思いますね〜。 残念ですがこのまま進んでいっても壁は多くなるだけなので一度立ち戻って基礎を固めた方がいいような気がしますね。 試行錯誤しながら覚えること自体は良いことでもあるんで、ただその場合は自分自身で色々と試行錯誤することに意味があるので、ヒントを聞くのはいいと思いますが、ずばりソースを教えてもらったりコピーするだけでは力にならないと思うので、その辺とのうまいバランスを見つけてやるのがいいんじゃないかなと…。 始めは大変だと思いますが、少しずつやっていけば難しい事は多くはないと思うので頑張ってください。
1そうだね
プレイ済み
返信[15]
親投稿
サンプル同士が繋がるかどうかは物にもよりますが、とりあえず以下の点を気をつけて繋げましょう。 初期化の部分・メインループをきちんと区別する。 変数やラベルなどの重複がないか注意する。重複していたら片方の名前を変えるなどの対処をする。 その他、スプライト番号や初期化による変化などで競合するものは、変えたり優先度の高い方にするなど工夫する。 です。 みた感じ、今回の例はそんなに複雑ではなさそうですし頑張ってください!
2そうだね
プレイ済み
返信[3]
親投稿
IF A AND B THEN はA=1, B=2の時は実行されませんよ〜
1そうだね
プレイ済み
返信[9]
親投稿
12行目と13行目の位置に注目してみるといいかもしれません
1そうだね
プレイ済み
返信[6]
親投稿
ドアに当たったらはBGGETで出来ますね。ただドアが複数ある場合は、どのドアが判定するために、さらにデータで管理する必要はあるかも。 なんにしてもやることが増えるとより基本をしっかりマスターしてないと厳しくなるので、つばささんの言うように講座をみたりしながら頑張ってください。
5そうだね
プレイ済み
返信[5]
親投稿
スムージーはるさめさんのプログラムではAとBなので問題ない動作になると思いますが、もし両方ともAボタンで処理するようにしたら上手く動かない可能性がありますね。(原因はコータさんの発言の理由です) その場合は、@LOOP2の次の行(WHILEの前)にWAIT 1を入れると想定通りの動作になると思います。
1そうだね
プレイ済み
返信[6]
親投稿
Aボダンを押しても出ない原因は2つありますね。 1つは4行目のIF文がおかしいです。AND1なので上ボタンを取り出してそれを16(Aボタン)と比べています。取り出しているのが上ボタンなので永遠に一致することはないです。 2つはこのプログラムが一瞬で終わってしまうことです。プログラムは上から下に流れて一番最後まで行くと終わってしまいます。なので終わらないようにするにはGOTOやWHILEなどのループ系の命令をつかって、その範囲のプログラムが続くようにしないといけないです。(これはメインループとも呼ぶ) ちなみにメインループの時はループの頭か最後にVSYNCをいれると周期のタイミングがとれてボタンの内容なども更新されるので、入れておいた方がいいと思います。
3そうだね
プレイ済み
返信[13]
親投稿
とりあえずエラーが出るのはみさりんさんの言われてるようにENDIFがないからですね。
1そうだね
プレイ済み
返信[1]
親投稿
記述(プログラム)が載ってませんよ?
0そうだね
プレイ済み
返信[10]
親投稿
3について、イメージと合うかは分かりませんがシンプルなサンプルを載せます。 ある意味、これが分からなく感じたら、もう少し基本的な所から勉強した方がいいと思います~。
2そうだね
プレイ済み