Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13
次のページ(過去)
返信[15]
親投稿
おにぎり EasyPuzzler65
順を追ってプログラムを考えましょう. WHILE TRUE 'ここは1/60秒ごとに実行される VSYNC 1 WEND これが基本形.VSYNC 1というのが魔法の呪文みたいなもので,このループの中はほぼ正確に1/60秒ごとに実行されます.VSYNCが時間調整してくれるんです.(つづく)
0そうだね
プレイ済み
返信[14]
親投稿
おにぎり EasyPuzzler65
あなたのやりたいことだと,音はボタンを鳴らしている間だけ鳴っていればいいみたいです.ただしボタンを押してから話すまでの時間を測って,短ければ・を,長ければ-を表示すればいいんだと思います.(つづく)
1そうだね
プレイ済み
返信[13]
親投稿
おにぎり EasyPuzzler65
あー,やっと本当にやりたいことが見えてきたみたいね! わたしの2番目の投稿のプログラムでいえば7行目の N>=120というところをN>=60にすれば1秒になるんだけど これはあなたのやりたいこととは違うみたい.(つづく)
0そうだね
プレイ済み
返信[8]
親投稿
おにぎり EasyPuzzler65
5行目、ABDじゃなくてAND 6行目、N+1はN=N+1とかく 9行目と10行目のあいだ、何行か抜けてます。 同じになるように頑張ってみて。 紙にでも一度書き出してみるといいかも。
1そうだね
プレイ済み
返信[10]
親投稿
おにぎり EasyPuzzler65
SPCOL 0,,&H00000001 SPCOL 1,,&H00000002 SPCOL 2,,&H00000003 とやると,0と1はあたり判定が起こらず 0と2,1と2はあたり判定が起きるという具合に できるようですよ(まだ試してない). シューティングで弾の種類がいろいろあるときなどに 便利そうですね.
0そうだね
プレイ済み
返信[6]
親投稿
おにぎり EasyPuzzler65
0そうだね
プレイ済み
返信[5]
親投稿
おにぎり EasyPuzzler65
0そうだね
プレイ済み
返信[8]
親投稿
おにぎり EasyPuzzler65
あー、余計なパラメタつけないとそうなるんだ。ありがとうございます。ほとんどパズルw>でんぺんさん これとこれはあたり、これとこれはスルー、っていうのを、マスクって言ってるやつを上手く使うといいらしいです。うまく使えれば確かに当たり判定がスマートにできそうですが、上手くマスクを設計するのがてごわそう。
0そうだね
プレイ済み
返信[1]
親投稿
おにぎり EasyPuzzler65
もう少し詳しく考えてみてください.意外に奥が深いん ですよ… ・普通の押しと長押しの違いは?何秒押したら長押し? ・もし音は0.1秒,長押しは1秒以上だとすると, 押したらまずピッとなって,1秒たってからピーッと 鳴り続けるということになるけど,そういうこと? ・それとも押している間だけ鳴り続ければいいの?
1そうだね
プレイ済み
返信[4]
親投稿
おにぎり EasyPuzzler65
そうです.わたしも最初そこでひっかかった人です.デフォルトのあたり判定ってもっていないんですよ.SPCOLしない限りだめなんです…でも考えてみると,あたり判定の必要なものだけつけられるようにしたほうが,たしかにいろいろ合理的なんですね.まあこの辺をあれこれ想像するのもプチコン3号のたのしみなので(自虐的w).
0そうだね
プレイ済み
返信[2]
親投稿
おにぎり EasyPuzzler65
メインループの中で、キー入力を受け付けてそれぞれのキャラを動かした次に でした。言葉足らずですいません。
0そうだね
プレイ済み
返信[1]
親投稿
おにぎり EasyPuzzler65
SPCOL 0,0,0,16,16 SPCOL 1,0,0,16,16 をメインループの外でやっておいて キー入力を受け付けてそれぞれのキャラを動かし、 IF SPHITSP(0,1) THEN END でできると思います。
0そうだね
プレイ済み
返信[1]
親投稿
おにぎり EasyPuzzler65
弾にわりあてるスプライトの番号を決めておいて、弾にふさわしいキャラをセットし、発射ボタンを押すなどのタイミングでそのスプライトを表示、あとは弾の場所をSPOFSでちくちく指定していくことになります。弾の飛び方はプログラムでいちいち書かないといけないです。おおざっぱにいうと WHILE TRUE VSYNC 1 ’フレーム単位で処理する 味方,敵,弾を表示する  あたり判定をする  キー入力を調べる  味方,敵,弾の次のフレームでの位置を計算する WEND という流れになります。
0そうだね
プレイ済み
返信[1]
親投稿
おにぎり EasyPuzzler65
SPSETで使い始めて、キャラを変更する場合はSPCHRで切り替えます。SPSETでも変わるんだけど、マニュアルにはSPCHRを使ってください,って書いてあります。 SPSET 0,1 SPOFS 0,200,120 SPSHOW 0 FOR I=2 TO 10 WAIT 60 SPCHR 0,I NEXT 上画面の真ん中にスプライトが現れて 1秒ごとにキャラが変わっていくプログラム。
0そうだね
プレイ済み
返信[5]
親投稿
おにぎり EasyPuzzler65
!(A && B) と !A || !B は確かに同じになりますね。 !(A || B) と !A && !B が同じになるかどうかはみなさん自分で確かめてみてね!
1そうだね
プレイ済み
返信[4]
親投稿
おにぎり EasyPuzzler65
1そうだね
プレイ済み
返信[3]
親投稿
おにぎり EasyPuzzler65
1そうだね
プレイ済み
返信[2]
親投稿
おにぎり EasyPuzzler65
Xが負か、399より大きいとき、って、 結果だけ見ると、なあんだあたりまえ、って感じ。 だけど、条件がややこしくなってきた場合には、 どうしても条件式が正しく作られたかどうかが怪しく なってきます。そんなとき、この法則を使いこなせると こんがらがった頭の整理に役に立ちます。 中学で習うのかな。でも小学生でもできそうでしょ。 できたらCOOL!
1そうだね
プレイ済み
返信[1]
親投稿
おにぎり EasyPuzzler65
ちょっとむずかしいね。ではこんな例で、 Xがプチコンの上画面の横座標に入るかどうかは 0<=X && X<=399 で判定できますね。では Xがはみでるときはどう判定すればいいか? 0<=X && X<=399 じゃないとき、だから !(0<=X && X<=399)となります。ここで さっきのド・モルガンの法則を適用すると !(0<=X) || !(X<=399) となります。 さらによく考えると 0<=Xじゃない、というのはX<0と、 X<=399じゃない、というのはX>399と、 それぞれ書き換えられますから X<0 || X>399 とすればいいことになります。
1そうだね
プレイ済み
投稿
おにぎり EasyPuzzler65
プチコンプログラマーの君なら小学生でも覚えて損はない ド・モルガンの法則! !(A && B) は !A || !B と同じ結果になります。 !(A || B) は !A && !B と同じ結果になります。 むむ、ややこしい?!
10そうだね
プレイ済み