Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
164 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84184
次のページ(過去)
返信[4]
親投稿
全部見てないのでわかりませんが、ちゃんとスプライト0に対してSPCOLしてますか?
0そうだね
プレイ済み
返信[26]
親投稿
ほぼ当たりと言えますね〜。ただ要件(仕様)では間違ったときには間違えを表示する、と書いてあるので一応表示して欲しかったですね〜。 あと8行目と9行目はちょっと考えるとIFは1つだけで実現出来ると思うので、その辺も考えてみてください〜。
0そうだね
プレイ済み
返信[23]
親投稿
度々すいません。 ちなみに足し算ゲーム(ってほどの内容じゃ無いけど)ってゼロから作れますか? とりあえず仕様は以下の通りとします。 1 足すための2つの数字をユーザーに入力させます。 2 1の2つの数字を足した数字(答え)をユーザーに入力させます。 3 1の入力と2の答えが合っていたら正解と表示して終了。間違えていたら間違えと表示して再度答えを入力させます。(2に戻ります) これだけです。もしバカにされていると感じてしまったらすいません。そんな意図はなくて、これだけでもプログラムの流れの基本である、入力・変数・計算・条件判断・ループが含まれるのでプログラム事態の把握度がわかりやすいんです。 もしこれが出来ない、または難しく感じたらもう少し基本の部分のおさらいを増やした方がいいし簡単すぎてばかばかしかったら、それで次のステップを考えられるんじゃないかと思いました。
0そうだね
プレイ済み
返信[22]
親投稿
ついでにコメントすると、上記ソースの43行目は不要だと思います。というか無意味です。 もし上下左右ボタンを押してないならという判定をしたいのだったら、 IF (BUTTON() AND 15)==0 THEN GOSUB @NOMOVE になります。なんでこうなるのかはビット演算のついて説明しなくてはならず現段階では難しいと思うので省略します。 また正常に動作してもGOSUBの先が何もなくRETURNで返ってきているだけなので、今のままではどちらにしても不要だと思いますし、とくに予定がないなら削除してしまった方がいいような気がします。今はなるべくシンプルにまとめることを考えた方がいいと思うので〜。
0そうだね
プレイ済み
返信[21]
親投稿
色々な方がアドバイスしてくれてますね! 僕もけいさんと同様の印象をもっています。おそらくなのですがMiiverseでのサンプルや回答をもとにプログラムを作っているが、それに対しての理解があまり曖昧で自分でもなにをやっているかわからないまま作ってしまっている部分があるんじゃないのかな? って思ったりします。 なのでソースを見てもどこまで理解しているかがわかりにくいというか、どう答えるのがベストなのかがわかりにくいんですよねー…。 おそらくソースのコピヘや言われたままの修正などもしていると思うのですが、そうじゃなくてとりあえずでもいいので自分の考えでゼロからプログラムを組んで(逆に言うと組める範囲の内容まで縮小して)みたらいいんじゃないかなって思っています。
1そうだね
プレイ済み
返信[5]
親投稿
ちょっと補足。 ただこうやまさんのようにすると斜め(2つ同時)に押すことが出来ないので、そのぶん当たり判定が楽になる可能性はあります。 なので色んな記述を知って、その違いを理解するのも良いことだと思います。なんでそうなってるのかがわかってくると色々とやりやすくなってくると思いますし頑張ってください!
0そうだね
プレイ済み
返信[4]
親投稿
>こうやまさん うーん…。正常に動いているところまでわざわざ変更させなくてもいいような気もしますよ〜…。それよりは、やっぱりプログラムに不慣れで間違いが多いところが気になるので、出来ればそれを指摘してあげて欲しいです。 てか僕が指摘しなくてすいません。あまり同じ人がずっと説明するよりも色んな人から多角的な意見を聞いた方が理解の助けになるかなと思ってるところもあったりしてます。またあまりまとめてドバーッと言っても逆に辛くないかなと思っちゃうところもあるんで…。 気長に頑張ってください!
0そうだね
プレイ済み
返信[44]
親投稿
なかなか上達しなかったりうまくいかないのは辛いと思いますが、諦めずに頑張ってください〜。 ある意味、プログラムは開眼というかある日突然わかるときが来たりします。コツを掴むというか、なんかわかるというか…。これは僕の実体験です。 逆に言うとそれまではなんかよくわからなかったりしなくてもいい苦労ばっかりしますが、諦めずに続ける事が大事だと思います。 僕の時代はネットもなかったので本だけを頼りに(それも本もたくさんないし高いし…)覚えたので実際どのぐらいかかったかわからないですが、ある程度ちゃんと出来るようになるには結構かかっていたかもしれないなぁ、とも思います。 今はネットもあって情報だけは多くて、逆に焦ってしまう部分もあるとも思いますが、めげずに頑張ってください〜。
0そうだね
プレイ済み
返信[1]
親投稿
とりあえず1点だけ…。というか前にコメントした内容の修正になるんだけど、BX=BX-1とかはBX=-1とかにしてください。(その他の同様の箇所も)というのはX=X+BXで最終的にXに足す値としての利用なのでそうじゃないとおかしい事になっちゃいます。 質問の答えと直接は関係なくてすいません。
0そうだね
プレイ済み
返信[10]
親投稿
そうですね〜。けいさんの言うように一つの問題が完全に解決しないうちに次の問題に取りかかってしまって、結果的に問題が積み重なって余計に難しくなってしまっているような気がします。なので、もうちょっと小さいスケールでって思った感じでした。 まずはボタンでキャラを動かすだけ(壁への当たり判定などはなし)で完全に自由にキャラを動かせるようになってから次に進む、みたいな感じでもいいと思いますよ。それだけでも、たとえば画面外に出たときのエラーに対応させるにはどうすればいいか、とかキャラクターが思ったように表示されない(すぐ消されちゃう)とか、始めは問題が出てくると思いますが、まずはそれをじっくり解消してキャラをボタンで動かす限りにおいては何も問題は起こらない! ぐらいになってから壁との当たり判定に入る、とかでも遅くないと思いますよ〜。 ほんと焦らずに頑張ってくださいね〜。
0そうだね
プレイ済み
返信[4]
親投稿
軽くプログラムを見てみましたが、ちょっと細かく問題が多いというか、よくわかってないで組んでいるような印象がありますねー…。 いきなりゲームの形にしようと思わないで、まずは一つ一つ、もうちょっと小さいスケールでプログラムを作って積み上げていく方がいいんじゃないかなーって思いました。 まずは焦らずに、小さな事からコツコツ、ですよ。始めはみんなわからないし何度も間違えながら通ってきた道なので、とりゅふさんがプログラム出来ないということはないと思うので、一つ一つ、少しずつ理解を深めていってください〜。
1そうだね
プレイ済み
返信[3]
親投稿
さすがに手直しをするのはどうかなと思うというか、人に直してもらっても自分の為にならないし完成しても達成感が得られないと思いますよ〜。 まあどう解消すればいいのかのヒントや指南ぐらいならしてもらってもいいと思いますが、プログラム自体を人に直してもらうのはやめた方がいいと思います。意地悪で言ってるんじゃないですよ〜。その方が完成したとき嬉しいと思うし自分の力になると思うのです。 とりあえず上記の問題点で等、と言ってますが、完全に箇条書きでもいいので問題点を全て洗い出したうえで一つ一つ質問していくといいと思いますよ。
0そうだね
プレイ済み
返信[2]
親投稿
とりあえず42行目だけ説明します。同様の問題が他の行にもあるので理解出来たら調べてみてください〜。 ということで42行目ですが、BY-1と書いてありますが、これだとBYから1を引くものその結果を入れる変数が指定されてないので構文エラーになってしまいます。意図的にはBYから1を引きたいのだと思うので、その場合は、BY=BY-1という風に、BYから1を引いた値をもう一度BYに入れる(戻す)事で、BYから1を引くことが実現出来ます。 他にもBYから引くための命令を使う方法もありますが、とりあえずは上記の計算結果を変数に入れるという流れを理解した方がいいと思うので、それはまた別の機会に…。
1そうだね
プレイ済み
返信[4]
親投稿
サトシさん、いつも紹介ありがとうです! サトシさんの活動で、2015/5/13 17:21日の投稿で自作関数などの話題があるので良かったら見てみてください。てか、勝手に人の活動を紹介してしまってすいません〜。 一応DATA命令でマップを作りたいのでしたら、僕の活動で2014/12/19の投稿でサンプルを出してます。本格的なマップを作りたいならマップエディタの方が楽だとは思いますが参考までに〜。
1そうだね
プレイ済み
返信[16]
親投稿
プログラムは上から下に流れます。また:で連結されているものは左から右に流れます。 それを意識して頭からプログラムをきちんと追いかけて、GOTOやGOSUBが出てきたらちゃんとその場所に飛ぶ(移動)して読んでいきましょう。 変数が出てきたら、その内容を紙に書くなどしてみるのもいいかもしれません。(例えばX=0と出てきたら、Xというラベルの紙を用意して、0と書き込む)そして内容の変化があったら都度内容は消して書き換えるようにします。 IFが出てきたら、その時の条件をしっかり確認してTHEN以降が処理されるか考えます。 変数に関しては、その役割を意識して考えるといいと思います。逆に役割のわからない変数やほとんど使われてない変数が出てきた場合は入力ミスの可能性もありますし注意して確認します。 始めは大変だと思いますが頑張ってください!
0そうだね
プレイ済み
返信[10]
親投稿
この時のPXは33行目でXに足すための値になってるので、ループの度にXに足される(ここの足されるというのがポイント)ので正常に動きます。 この辺も実際に流れを追ってみて、とくにPXとXがどの段階でいくつになっているかを調べてみるとわかってくるんじゃないかなって思いますよ。
0そうだね
プレイ済み
返信[7]
親投稿
sayさんの言うようにフローチャートを書くといいと思いますが、フローチャートを書かないまでもプログラムの流れをちゃんと追いながら動作の確認をしてみると良いかと思います。 そうすると29行目でXXとYYを毎回0にしていて、IFでXやYに入れているのはXXやYYに1を足したり引いたりしているので結果的にXとYは-1,0,1のいずれかにしかならない事になり、想定している動作とは違うことに気づけると思います。
0そうだね
プレイ済み
返信[5]
親投稿
こういう場合のボタンは押した瞬間でリピートのないBUTTON(2)を使うといいかもです。 ただその場合もボタンの処理の間にVSYNCやWAITが入らないと正確に動作しないです。ただ上記の場合は、GOSUB @MYの中でVSYNCが入ってるので正常に動作するとは思います。(ちょっとVSYNCの入れる場所としては気になる点もありますが)
0そうだね
プレイ済み
返信[13]
親投稿
あー、どうも見落としてるな…。上にも同じのがあったんですね…。あまりちゃんと見てませんでした…。 すいません。僕のコメントは気にしないでください。
1そうだね
プレイ済み
返信[11]
親投稿
そういえば始めのままでもエラー出ないですね。最近やってないのでプチコンではDIMとVARは同一なのでそのままでも普通の変数宣言になるだけだというのを忘れてました…。 ステージの読み込みを外したら表示されないのは当然というか、その処理では読み込んでから表示する(PRINTの省略形の?で)しているので、その部分を外したので表示されなくなったという感じですね。
0そうだね
プレイ済み