投稿
ほんにん Dedu-Gard
これでスロットマシーンみたいなのができるらしいのですがどうしてもエラーになってしまいます。 誰かわかる人がいたら原因を教えてください
1そうだね
プレイ済み
返信[1]
親投稿
ほんにん Dedu-Gard
エラー時に0:9みたいなことが出るので9列目だとは思うんですけど
0そうだね
プレイ済み
返信[2]
親投稿
GOTOは数値指定ではなく定義済ラベルを指定します
0そうだね
未プレイ
返信[3]
親投稿
ほんにん Dedu-Gard
ありがとうございます。つまりこれだと9列目より前にラベルがないから不可能ということですね
0そうだね
プレイ済み
返信[4]
親投稿
ただ9行目より後にあるラベルにも飛べます
0そうだね
未プレイ
返信[5]
親投稿
ほんにん Dedu-Gard
ありがとうございます!ちなみに打ち間違いで本当は100は10列目で30は3列目のことでしたすいません
0そうだね
プレイ済み
返信[6]
親投稿
ほんにん Dedu-Gard
なので3列目の前に@3をつけて10列目の前に@10をつけて9列目のGOTOも@10にしてみたけど駄目でした
0そうだね
プレイ済み
返信[7]
親投稿
ELSE GOTO @10では?
0そうだね
未プレイ
返信[8]
親投稿
ほんにん Dedu-Gard
駄目っぽいです。いろいろとすいません
0そうだね
プレイ済み
返信[9]
親投稿
あんど AND1GOUKI
元はN88BASIC準拠のプログラムかな? 記述方法がプチコンと違う所があるので、プチコン用に変えてあげる必要がありますよ。
0そうだね
プレイ済み
返信[10]
親投稿
ほんにん Dedu-Gard
間開けても無理みたいです9列目のなにが駄目なんでしょうか””ってなってるところでしょうか
0そうだね
プレイ済み
返信[11]
親投稿
ほんにん Dedu-Gard
なりほど!プチコンのとは違うのか。知らずに迷惑かけてしまってすいません
0そうだね
プレイ済み
返信[12]
親投稿
ほんにん Dedu-Gard
 る
0そうだね
プレイ済み
返信[13]
親投稿
ELSEを抜いて@10を@3にしてみては?なぜならGOTO@10をしなくてもTHENの条件にあてはまらなかった場合@10に行くからてほす
0そうだね
未プレイ
返信[14]
親投稿
てほす>です
0そうだね
未プレイ
返信[15]
親投稿
ほんにん Dedu-Gard
こうですか?
0そうだね
プレイ済み
返信[16]
親投稿
あと条件分岐の=は==で記述します。 あとCONSOLEという命令はありません。
0そうだね
未プレイ
返信[17]
親投稿
INTという命令もありません。 それぞれどのような役割をするのでしょうか?教えてくだされば探しますし、なければDEFで定義し公開しますのでそれをそのプログラムに貼れば使えます。
0そうだね
未プレイ
返信[18]
親投稿
ほんにん Dedu-Gard
INTはINT(○○)というように()の中に数字を入れるとそれを整数化するそうです
0そうだね
プレイ済み
返信[19]
親投稿
INTは端数処理、FLOORかROUNDにして様子を見たらいい
0そうだね
プレイ済み
返信[20]
親投稿
コンソール ほにゃらら CLS 3 は画面初期化だろうから消してACLSとすりゃいい
0そうだね
プレイ済み
返信[21]
親投稿
LOCATE 20.10、ミスタイプかな。→LOCATE 20,10 INKEY$="" →INKEY$()=="" RND(1)は意味がない。→RND(2)
0そうだね
プレイ済み
返信[22]
親投稿
マギー M191246
RND(1)は、プチコンの RNDF()と同じ機能です。
1そうだね
プレイ済み
返信[23]
親投稿
マギー M191246
ここは、 X=RND(7)+1 としてみたら、どうでしょうか?
1そうだね
プレイ済み
返信[24]
親投稿
ほんにん Dedu-Gard
こうですか?見落としあったら指摘してください。あとこんどは10列目が駄目みたいです。
1そうだね
プレイ済み
返信[25]
親投稿
say sayer.exe
ACLS @3 X=RND(7)+1 Y=RND(7)+1 Z=RND(7)+1 LOCATE 10,10:COLOR X:PRINT "X" LOCATE 15,10:COLOR X:PRINT "X" LOCATE 20,10:COLOR X:PRINT "X" IF INKEY$=="" THEN @3 IF X==Y AND Y==Z PRINT "オオアタリ!!":END IF X==Y OR Y==Z OR Z==X THEN PRINT "アタリ!":END たぶんこれで動くはず
0そうだね
プレイ済み
返信[26]
親投稿
say sayer.exe
もとい こっち ACLS @3 X=RND(7)+1 Y=RND(7)+1 Z=RND(7)+1 LOCATE 10,10:COLOR X:PRINT "X" LOCATE 15,10:COLOR Y:PRINT "Y" LOCATE 20,10:COLOR Z:PRINT "Z" IF INKEY$=="" THEN @3 IF X==Y AND Y==Z PRINT "オオアタリ!!":END IF X==Y OR Y==Z OR Z==X THEN PRINT "アタリ!":END
0そうだね
プレイ済み
返信[27]
親投稿
say sayer.exe
またもとい 10行目 IF X==Y AND Y==Z THEN PRINT "オオアタリ!!":END
0そうだね
プレイ済み
返信[28]
親投稿
あんど AND1GOUKI
ありゃ。風呂入っている間に翻訳終わってる。 COLORの番号がN88BASICとプチコンで違うので、ランダムで出した番号を、そのままカラー番号に使うと、「1」が黒色表示で見えなくなりますよ。
1そうだね
プレイ済み
返信[29]
親投稿
マギー M191246
COLORのところは、 COLOR X*2+1などとすると よりプチコンに合っているかも知れません。
0そうだね
プレイ済み
返信[30]
親投稿
ほんにん Dedu-Gard
まずsayさんのをやってみます。そこから間違いなどを指摘してください。終わりが見えてきましたね
0そうだね
プレイ済み
返信[31]
親投稿
ほんにん Dedu-Gard
ここから文字の色とかですか?
0そうだね
プレイ済み
返信[32]
親投稿
ほんにん Dedu-Gard
10列目直してRUNしたら謎画面が出てきました
0そうだね
プレイ済み
返信[33]
親投稿
say sayer.exe
ちゃんと動作してるようです 8行目と9行目の間に VSYNC 10 とでも入れたら動きがゆっくりになります
0そうだね
プレイ済み
返信[34]
親投稿
ほんにん Dedu-Gard
動きはゆっくりになりましたが色が不安定なのとボタンを押すこともできずクルクル回り続ける用になってるので助けてください
0そうだね
プレイ済み
返信[35]
親投稿
なるほど。RNDFと同じでしたか
0そうだね
プレイ済み
返信[36]
親投稿
say sayer.exe
色が不安定なんは「そういうプログラム」だからですね ☆「色を揃えるスロットマシン」て表現すればいいのか? INKEY$()を使ってるのでボタンやパッドには反応しませんね IF INKEY$()=="" THEN @3 を IF BUTTON()==0 THEN @3 と変えてみてください
1そうだね
プレイ済み
返信[37]
親投稿
えーとinkey$はキーボードですね。ただしくはINKEY$()かと。 公式命令表「 INKEY$ キーボードから1文字取得(入力待ちなし) 書式 文字列変数=INKEY$() 戻り キーボードからの文字(UTF-16) 入力がない場合="" 例 C$=INKEY$() 」
0そうだね
プレイ済み
返信[38]
親投稿
ほんにん Dedu-Gard
ボタン反応しました!色を揃えるスロットだったんですね。ありがとうございます。
1そうだね
プレイ済み
返信[39]
親投稿
あんど AND1GOUKI
たぶん、スロットゲームで想像したのは「数字を合わせる」方だと思いますが・・・ ほんの少しの修正で「数字を合わせる」に変えられますが、、、分かりますかね? 「PRINT」について調べると・・・ごにょごにょ。
1そうだね
プレイ済み
返信[40]
親投稿
ほんにん Dedu-Gard
これだけでは少し寂しいのでBGMでも付けます
1そうだね
プレイ済み
返信[41]
親投稿
マギー M191246
言語によっては、この1未満の実数乱数を 発生する関数しかなかったりして 整数の乱数が必要なときは、 それを整数倍したあと、 整数化するという方法をとっているようです。
1そうだね
プレイ済み
返信[42]
親投稿
ほんにん Dedu-Gard
数字にもできるんですか!でも相当きつそうですね
1そうだね
プレイ済み
返信[43]
親投稿
また書いたら同時になってしもた BGMはできるかな? 数字は簡単 "X"の"を外すと…
0そうだね
プレイ済み
返信[44]
親投稿
ほんにん Dedu-Gard
乱数とかは難しいというイメージがあるのでそれはすごいですね!
1そうだね
プレイ済み
返信[45]
親投稿
乱数を出す関数RND()は簡単で 0 から ()の中身-1 の整数を返してくれるだけ。連続書き込み制限が酷い…
1そうだね
プレイ済み
返信[46]
親投稿
ほんにん Dedu-Gard
2分でしたっけね本当にそのシステムは要らないですね
2そうだね
プレイ済み
返信[47]
親投稿
あんど AND1GOUKI
「PRINT」の文字の上にカーソルを持って行って、キーボード右上付近の青い[?]マークをタッチすると、PRINTに付いて説明が表示されます・・・ って。。。この説明じゃ初心者さん分からないよっ。 PRINTの後ろの「”X”」の、「”」記号を二つ共外してみましょう。 YとZも同じようにしてネ。
1そうだね
プレイ済み
返信[48]
親投稿
ほんにん Dedu-Gard
おっ数字出てきましたね!でもこれ奇数が出てきてない?
0そうだね
プレイ済み
返信[49]
親投稿
ほんにん Dedu-Gard
嘘つきました7とか5はでてるけど1が出てませんでした
0そうだね
プレイ済み
返信[50]
親投稿
ほんにん Dedu-Gard
BGMはついたけどスロット止めるときに効果音をつけるとしたら何列目の何処にBEEP打てばいいですか?
0そうだね
プレイ済み
返信[51]
親投稿
あんど AND1GOUKI
「1」は黒色表示ですから見えないだけですね。 先の「マギーさんのCOLOR設定方法」に変更してみましょう。
0そうだね
プレイ済み
返信[52]
親投稿
ほんにん Dedu-Gard
おぉっ!出ました。ありがとうございます!
0そうだね
プレイ済み
返信[53]
親投稿
ほんにん Dedu-Gard
数字にしたんだから色じゃなくて数字で揃えたいとか思ってたら1は赤とか数字によって色がついてましたね。だからアタリになると必ず数字二つは揃ってるんですね
0そうだね
プレイ済み
返信[54]
親投稿
ほんにん Dedu-Gard
これって保存したらジャンケンのプログラムみたいにアタリかオオアタリかわからない内に終わったりしますか?
0そうだね
プレイ済み
返信[55]
親投稿
ほんにん Dedu-Gard
効果音もつけたら完成しました!ここまで教えてくれた人達皆ありがとうございました!
1そうだね
プレイ済み
返信[56]
親投稿
say sayer.exe
パチパチ ようこそ茨の天国へ
1そうだね
プレイ済み
返信[57]
親投稿
ほんにん Dedu-Gard
作品を見るってやると結果がわからないまま終わってしまった…作品を見るから行ったら必ずこうなるんですか?
0そうだね
プレイ済み
返信[58]
親投稿
say sayer.exe
そうなります 元々プチコン用に作られてるコードではないので (故に翻訳作業も必要だった)
1そうだね
プレイ済み
返信[59]
親投稿
ほんにん Dedu-Gard
そうだったんですか。つまり1回やった後メニューの右下のやつからRUNってしてプレイするものなんですね
1そうだね
プレイ済み
返信[60]
親投稿
Daisuke 0909daiki09
すぐに終わってしまうならボタン押し待ちのプログラムがいいと思う。(自分も初心者なのでそれくらいしか方法が分からない) プログラムの組み方まで言うとダメだと思うので言いません。GOTOとIFを使ってボタンが押されるまでループさせる…(上から目線っぽい口調ですみません…)不快に思ったら削除して下さいと言ってくれれば削除します。
1そうだね
プレイ済み
返信[61]
親投稿
頭に@STARTとでもかいて 後ろにREPEAT:VSYNC:UNTIL BUTTON(2):GOTO @START とでも書けばリプレイ対応
0そうだね
プレイ済み
返信[62]
親投稿
REPEAT:VSYNC:UNTIL BUTTON(2) は、何かボタンが押されるまで止まっててくれる謎の呪文とでも思っておけばいいかな
0そうだね
プレイ済み
返信[63]
親投稿
ほんにん Dedu-Gard
すいません完全に諦めて見るの忘れてました。あまさと しおんさんととりゅふさんありがとうございます。ただ後ろにさっきのつけるだけだとアタリかオオアタリになると終わってしまうのでEND消したんですけど大丈夫ですか?
0そうだね
プレイ済み
返信[64]
親投稿
Daisuke 0909daiki09
ほんにんさん»むしろそれが正解かと…
0そうだね
プレイ済み
返信[65]
親投稿
ほんにん Dedu-Gard
ループするたびにBGM最初からになるので真っ先に流すことにしました。あとENDを消したらオオアタリのときオオアタリ アタリ って2つとも表示されるようになってしまいました
0そうだね
プレイ済み
返信[66]
親投稿
ほんにん Dedu-Gard
さっきの
0そうだね
プレイ済み
返信[67]
親投稿
Daisuke 0909daiki09
2つの条件が揃ったからじゃないですか? そういう時、例えば アタリの時は@ATARIに行ってオオアタリの時は@OATARIに行き、PRINTでそれぞれアタリ、オオアタリと表示させる…という様にすればいいと思います。間違ってたら…すみません。
0そうだね
プレイ済み
返信[68]
親投稿
ほんにん Dedu-Gard
駄目みたいです
0そうだね
プレイ済み
返信[69]
親投稿
ほんにん Dedu-Gard
すいません16列目に@4をつくって14列目にPRINT“オオアタリ“GOTO @4ってしたらいけました。GOTOで15列目を抜かしたからですかね
0そうだね
プレイ済み