HTML
JavaScript
GoogleAppsScript
gas
ズンドコキヨシ

GAS(JavaScript)とHTMLでズンドコキヨシをやってみた

去年に流行っていたらしいのですが、最近「ズンドコキヨシ」という遊びを知ったので、今更ながらGASのHtmlServiceでやってみました。コードのエレガントさは他の方に譲り、私は「実際に体感できる楽しさ」を追求してみました。

GASのHtmlServiceについてはこちらをご覧ください。
◯GoogleAppsScript(GAS)でページ遷移を擬似的に実装する方法
http://qiita.com/kakkiichan/items/a6a653bbe113a1dee2eb

ズンドコキヨシとは

こちらの記事に詳しいです。

◯ズンドコキヨシまとめ
http://qiita.com/shunsugai@github/items/971a15461de29563bf90

完成品

こちらです。

https://script.google.com/macros/s/AKfycbzjEUXwOOTtzxoxO5PbIiyNG7orG73CMLlEa_4-OiAVK7XkDR9D/exec

「ズンドコする」ボタンを押して頂ければ、テキストボックスに「ズン」もしくは「ドコ」がランダムで入力され、「ズン」「ズン」「ズン」「ズン」「ドコ」の順番で並んだら「キ・ヨ・シ!」で終了です。

コード

ボタンとテキストボックスだけなので、HTMLの方は極めてシンプルです。

index.html
<body>
    <input type="button" onClick="zundoko()" value="ズンドコする"><br>
    <textarea id="zundokoarea" rows="20" cols="51"></textarea>
  </body>

GASの方は、こんな感じです。ifの入れ子で申し訳ございません。

zundoko.gs
    function zundoko() {

 var zundokoarea=document.getElementById("zundokoarea").value;
 var word1 ="ズン ";
  var word2 ="ドコ ";
  var word3 ="キ・ヨ・シ!";
  if(zundokoarea.indexOf(word3) ==-1){

 if(zundokoarea.indexOf(word1+word1+word1+word1+word2) ==-1){

 if(zundokoarea ==""){
  alert("ズンドコ始まるよ!");
  zundokoarea+= Math.random() < 0.5 ? word1 : word2;
  document.getElementById("zundokoarea").value=zundokoarea;
  }
  else {
  zundokoarea+= Math.random() < 0.5 ? word1 : word2;
  document.getElementById("zundokoarea").value=zundokoarea;

  }

}
else{
zundokoarea+="キ・ヨ・シ!" ;
  document.getElementById("zundokoarea").value=zundokoarea;
  alert("キ・ヨ・シ!");

}

}
else{
alert("ズンドコは終了しました!");
}
    }

まず初めに、textareaの中身を取得して、zundokoarea変数に格納しています。そして、zundokoarea変数に「キ・ヨ・シ!」が既に含まれているか、「ズン ズン ズン ズン ドコ」が含まれているかといった条件で分岐をさせています。

zundoko.gs
 function zundoko() {

 var zundokoarea=document.getElementById("zundokoarea").value;
 var word1 ="ズン ";
  var word2 ="ドコ ";
  var word3 ="キ・ヨ・シ!";
  if(zundokoarea.indexOf(word3) ==-1){

 if(zundokoarea.indexOf(word1+word1+word1+word1+word2) ==-1){

 if(zundokoarea ==""){


「ズン」「ドコ」を生み出しているのはこの部分です。0<=x<1の範囲のxをランダムに返してくれるMath.random()を利用して、「ズン」と「ドコ」が同じ確率になるようにしています。

zundoko.gs
zundokoarea+= Math.random() < 0.5 ? word1 : word2;
  document.getElementById("zundokoarea").value=zundokoarea;

まとめ

楽しかったです

〇著者
株式会社メタレピュテーション
代表取締役 新垣

当社サイト「生産性総合研究所」において、GAS関連の記事を執筆中です!
http://productivityresearch.net/category/programing/googleappsscript/