ズン・ズン・ズン・ドコ、キヨシ! を作ってみた

 

Twitterでバズっていた Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから
「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた
 というの僕もやってみました。言語はjsです。大分お粗末な、処理だと思っています。

実装

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

</head>

<body>

<script language="JavaScript">

//ズンかドコを入れていく空っぽの配列
var array_result = [];

//配列の合否を比較するための配列
var zun_zun_array = ["ズン", "ズン", "ズン", "ドコ"];

//無限のループ
for(;;) {

//0から
var min = 0 ;

//1までの
var max = 1 ;

//乱数を乱数をランダムで生成
var random = Math.floor( Math.random() * (max + 1 - min) ) + min ;

//どちらかがランダムで取り出される為の配列
var array_zun = ["ズン", "ドコ"];

//乱数で割り出した番号の配列の値を空の配列にアップエンド
array_result.unshift(array_zun
おすすめ記事

文字数はあまり多くないですけど、結構反響良い記事です。

僕だけの意見ではなく、著名な方のコメントもキュレーションしているので信ぴょう性あると思います。

詳しく読む

 

 

); //配列の数が三つ以上になったらTRUEのif文 if(array_result.length > 4){ //配列を空っぽに初期化 array_result = [] } //判定用の配列と、生成された配列を比較 if( array_result.toString() == zun_zun_array.toString()){ console.log(array_result); console.log("キ・ヨ・シ!") //生成された配列の中身が["ズン", "ズン", "ズン", "ドコ"]だった時点で無限ループ終了 break; }else{ //console.log(array_result); //console.log("不正解") } } </script> </body> </html>

振り返り

if(array_result.length > 4){
    array_result = []
}

の部分がよくないと思った。配列を初期化したら、余分にまたループしてしまう。一番お尻を押し出すような処理にすれば、よりループ回数を減らして実行できると思った。それから、配列の中身がドコが1つ以上入っていたら、ドコを決してズンを入れるとかにすればもっと早くなるかも。また、 var zun_zun_array = ["ズン", "ズン", "ズン", "ドコ"] みたいな感じで、安宅じめ配列を定義しておくのは、かっこうよくないような気がする。ループの中で、ズンが三つ、ドンが一つ揃ったら、ズンを一番前にするとして、その状態をtrueにすれば、あらかじめ var zun_zun_array = ["ズン", "ズン", "ズン", "ドコ"] を定義しなくて済むかな

実行

スクリーンショット 2017-10-17 1.44.26.png

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事