乱数について(質問掲示板)
投稿: 退会したユーザー
投稿:2011/05/09 22:23:09(最新:2011/05/11 18:34:11)
乱数の使い方が今一つ分かりません
例えば、1~6までを設定して
1=当たり
2~5=もう一回
6=はずれ
みたくするのはどうすればよいのでしょうか
ツイート
例えば、1~6までを設定して
1=当たり
2~5=もう一回
6=はずれ
みたくするのはどうすればよいのでしょうか
コメントする
コメントするには、ログインする必要があります。
コメント一覧
関数リファレンスとは別に、スクリプト言語のマニュアルもあります。
そちらを一読なさっては如何でしょうか。
スクリプト言語のマニュアル
代入と比較の区別は付きますか?
という風になっています。
分岐をさせるには二通りのやり方があります。
if elsif end文か、case when end文ですね。
まあ、どちらもマニュアルを読めば理解できるかと。
エラーと言っても色々ありますので、
解決しなかった場合、単に「エラーが出た」ではなく、
エラーメッセージを添えるなどして頂くと、
別の質問の時に回答がスムーズに行えるかと思いますよー。
そちらを一読なさっては如何でしょうか。
スクリプト言語のマニュアル
代入と比較の区別は付きますか?
dise = 1 # これでdiseに1を代入。 dise == 1 # これでdiseと1を比較。等しいならtrue。
という風になっています。
分岐をさせるには二通りのやり方があります。
if elsif end文か、case when end文ですね。
if (dise == 1) #処理内容 elsif (dise == 2) #処理内容 elsif …(ry #…(ry elseif (dise == 6) #処理内容 end もしくは case (dise) when 1 #処理内容 when 2 #処理内容 when …(ry #…(ry when 6 #処理内容 end
まあ、どちらもマニュアルを読めば理解できるかと。
エラーと言っても色々ありますので、
解決しなかった場合、単に「エラーが出た」ではなく、
エラーメッセージを添えるなどして頂くと、
別の質問の時に回答がスムーズに行えるかと思いますよー。
退会したユーザー(投稿日:2011/05/11 02:32,
履歴)
あっ、Diceとdiceになってる
でも直してもエラーになった^^;
でも直してもエラーになった^^;
退会したユーザー(投稿日:2011/05/11 02:13,
履歴)
数字だけを表示するのは
dice = rand(6) + 1
speak( "", dice )
で、わかったのですが
数字によって変化させるのにはどうすればいいんでしょうか
出た数字が1の場合は
dice = rand(6) + 1
if Dice = 1 ?
でもこれだと分岐が出来ないから
dice = rand(6) + 1
case
if Dice = 1
speak
elsif Dice = 6
speak ?
でもエラーが出てしまう
やっぱり基礎から学ばないと駄目ねー
dice = rand(6) + 1
speak( "", dice )
で、わかったのですが
数字によって変化させるのにはどうすればいいんでしょうか
出た数字が1の場合は
dice = rand(6) + 1
if Dice = 1 ?
でもこれだと分岐が出来ないから
dice = rand(6) + 1
case
if Dice = 1
speak
elsif Dice = 6
speak ?
でもエラーが出てしまう
やっぱり基礎から学ばないと駄目ねー
えーと、書き方というより仕組みについて。
関数はスクリプトに書かれたら実行されるんですが、そのときに「返り値」というのが出るんです。
実行した結果どうなった、というシステムからの報告ですね。
この返り値というのは、受け取らなければスルーされます。
単に
と書いただけでは、実は何も変化は起こりません。
結果を受け取らずに捨てられているからですw
そこで変数を用意して返り値を受け取ってみましょー。
一度変数に入れてしまえば、いつでも確認できます。
同様に、例えば
というのがありますが、コレは「選択肢付の文章をウインドウに表示しつつ、何番目の選択肢を選んだのかが返り値となる」という関数なのです。
だから case ~ when ~ end で拾って分岐させているのです。
showImage(画像ID番号)みたいなのは、失敗するときは画像がリソースに無いという程度なので返り値を拾うまでもない、という事ですね。
trueかfalseが返り値となる関数もあるので、気になったら関数リファレンスを確認してみましょー。
関数はスクリプトに書かれたら実行されるんですが、そのときに「返り値」というのが出るんです。
実行した結果どうなった、というシステムからの報告ですね。
この返り値というのは、受け取らなければスルーされます。
単に
rand(6)
と書いただけでは、実は何も変化は起こりません。
結果を受け取らずに捨てられているからですw
そこで変数を用意して返り値を受け取ってみましょー。
一度変数に入れてしまえば、いつでも確認できます。
dice = rand(6)+1 speak( "dice = ", dice )
同様に、例えば
speakWithSelect(うんたらかんたら)
というのがありますが、コレは「選択肢付の文章をウインドウに表示しつつ、何番目の選択肢を選んだのかが返り値となる」という関数なのです。
だから case ~ when ~ end で拾って分岐させているのです。
showImage(画像ID番号)みたいなのは、失敗するときは画像がリソースに無いという程度なので返り値を拾うまでもない、という事ですね。
trueかfalseが返り値となる関数もあるので、気になったら関数リファレンスを確認してみましょー。
hightoller(投稿日:2011/05/10 00:22,
履歴)
ちと使い方が違う予感。
1~6の整数が欲しいのであれば、
Rand(5)で0~5までの整数を作ってから、1足せばいいかな。
1~6の整数が欲しいのであれば、
Rand(5)で0~5までの整数を作ってから、1足せばいいかな。
Dice = Rand(5) + 1 if Dice = 1 sp elsif Dice = 6 sp else sp end
退会したユーザー(投稿日:2011/05/09 22:42,
履歴)
え~とつまり
rand(0<=x<7)
rand(0)
speak("当たりですよ")
rand(1<=5)
speak("もう一回やれよ")
rand(6)
speak("はずれですこのばか")
でいいんですかね
ってか、コメントはっや!
3分も経ってねぇ
rand(0<=x<7)
rand(0)
speak("当たりですよ")
rand(1<=5)
speak("もう一回やれよ")
rand(6)
speak("はずれですこのばか")
でいいんですかね
ってか、コメントはっや!
3分も経ってねぇ
気づかんかった…