こんにちは!どいこです。
初Qiita投稿です。
現在JavaScript絶賛勉強中のため
「fizzBuzz問題」をクリア後、「ズンドコキヨシ問題」にも手を出してみました。
まさに今、キヨシと戦いながら書いています。
#ズンドコキヨシとは
「ズン」「ドコ」のいずれかをランダムで出力し続けて
「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら
「キ・ヨ・シ!」って出力した後終了する
#手順その①
###「ズン」「ドコ」のいずれかをランダムで出力し続ける
・ 「ズン」と「ドコ」を配列(wordList
)にする
const wordList = ['ズン','ドコ']
・ 配列(wordList
)のインデックス([0]
or [1]
)をランダムで出現させる
ランダムな値はMath.floor()
とMath.random()
を使って作る
wordList[Math.floor(Math.random() * wordList.length)]
//wordList[0]('ズン') またはwordList[1]('ドコ')
・ 出力する値は「ズン」「ズン」「ズン」「ズン」「ドコ」なので
要素数が5個の配列を用意
const elementsLength = 5
const randomOutput = [...Array(elementsLength)]
// [undefined, undefined, undefined, undefined, undefined] (未定義の要素×5の配列ができる)
・ この配列に先ほどのランダムな値(`wordList`の`[0]` or `[1]`) =すなわち「ズン」or「ドコ」を代入する
randomOutput[0] = wordList[Math.floor(Math.random() * wordList.length)]
・ 要素数5個の配列にしたいので、for
文の繰り返しで入れていく
for (let i = 0; i < randomOutput.length; i++) {
randomOutput[i] = wordList[Math.floor(Math.random() * wordList.length)]
}
// randomOutputのインデックス0~4それぞれについて
// ランダムな値(「ズン」or「ドコ」)を代入
・ ここでいったん出力
console.log(randomOutput)
// [ 'ズン', 'ドコ', 'ドコ', 'ズン', 'ズン' ]
問題なくランダムな値が出力されるようになりました。
よし。あとはこのランダムな配列をfor
ループで出力して、
「ズン」「ズン」「ズン」「ズン」「ドコ」って出た時に
「キ・ヨ・シ!」と叫んであげたらええんや!
と、この時の私は簡単に考えていた・・・。
##次回、「城之内死す」 次回予告
目の前に立ちはだかるキヨシの灰色の牙城!!
ここはなんとかして「キ・ヨ・シ!」と叫ぶ機会を得たい!
さあ、スタンドのパワーを全開だッ!!