トピック
5305F B-52G.B-52H

ランダムに言葉を表示するには

どうすればいいでしょうか?色々やってみましたが…
3そうだね
プレイ済み
返信[1]
親投稿
乱数を求める関数はRND(n)です。 nには最大数を入れます。 例えば5種類なら Z=RND(5) 但し結果は0から始まる為「0,1,2,3,4」のどれかになります。 ランダムに言葉を出すにはどうすればいいのか、の前にまずはこれだけ触ってみて「ランダムな数字が出る」所から始めてみて下さい。 ここからどうすればいいのかのヒント:Zで値だけは出ましたので、文字を出すCHR$()やDIMで配列変数を用意してそこに言葉をセットしてZで出してみるとか。色々応用してみましょう
2そうだね
プレイ済み
返信[2]
親投稿
5305F B-52G.B-52H
ランダムな数字が出るようになりました。
2そうだね
プレイ済み
返信[3]
親投稿
5305F B-52G.B-52H
うーん、よくわからない…
1そうだね
プレイ済み
返信[4]
親投稿
イスターリャ arduinotexter
なんか色々間違ってますね 1.Aは実数型変数。数値しか入れることができない。 2.配列の宣言方法は、DIMの後に変数名[要素数]。変数名の後に記号をつけることによって、文字列配列や整数型等変更できる。 3.IFの後は条件式。合っているかを確かめたいなら、A==0のように書かなければいけない。 4.そもそも言葉を表示するだけに文字列配列は不要。乱数を変数に保存して、それがどの数値であるか順番にIFで判定してPRINT "あらかじめ入力した単語"と書けば良い。
1そうだね
プレイ済み
返信[5]
親投稿
☆Tatsukin★ tatu_kin1192
CHR$(RND(100)+40)
0そうだね
プレイ済み
返信[6]
親投稿
☆Tatsukin★ tatu_kin1192
訂正。 WHILE 1 ?CHR$(RND(100)+40); WEND でした。 100と、40は、自由に変えることができます。数字によって、出る文字も変わります。
1そうだね
プレイ済み
返信[7]
親投稿
☆Tatsukin★ tatu_kin1192
IF 0 THEN~→実行されない IF 1 THEN~→実行される 例えば、A=3の場合、 A==0は、0になるので、 IF A==3 THEN~ は実行されません。 A=0のとき、A==0は1なので、 IF A==0 THEN~ は実行されます。
0そうだね
プレイ済み
返信[8]
親投稿
RNDを使えばランダムな数字を得られることはわかってるみたいですね。 なので、後はその数字を文字に変えればいいんですよ。 文字に変える方法は色々ありますが、全てIFで判断するやりかただとしたら、 R=RND(3) IF R==0 THEN PRINT "もじ1" IF R==1 THEN PRINT "もじ2" IF R==2 THEN PRINT "もじ3" みたいな方法があります。文字配列を使えばIFを使わずに文字列に変換する方法もありますんで、色々と試してみましょう。
3そうだね
プレイ済み
返信[9]
親投稿
かたけ~ katakei0505
僕がたまに使う強引な方法として、 RESTORE @A FOR I= 0 TO RND(3) READ A$ NEXT PRINT A$ @A DATA"aaa" DATA"bbb" DATA"ccc" というのもありですかね。 でも、これって方法として正しいんですかね?教えてエr…偉い人!
0そうだね
プレイ済み
返信[10]
親投稿
偉くはないけどアリだとは思いますよ〜。 なんども呼び出すなら一度配列に入れてしまった方が良さそうですが、頻度が低いのであれば方法としてはアリだと思います!
0そうだね
プレイ済み