お正月やお盆に親戚や友人、その家族たちとの集まりがありますよね?
食事や会話を楽しんだ後少し子どもたちが退屈そうに・・・。
そんな時にちょっとしたプレゼントを用意して、簡単なビンゴ大会なんてどうでしょう?
デモの出てくる数字は1~80の間ですのでお好みあわせてカスタマイズすてみてくださいね!
↓以下が実際のソースサンプルです。
▼html
<body>
<span id="sai">?</span>
<form>
<div id="button">
<input type="button" value=" BINGO!" onclick="bingoNo()">
</div>
</form>
<div id="promptNo"></div>
</body>
▼css ボタンや文字の大きさや色はお好みで!
body {
font-family: Arial, sans-serif;
text-align: center;
font-size: 16px;
}
#sai {
font-size: 200px;
}
#promptNo {
font-size: 3rem;
}
#button {
margin: 0 auto;
margin-bottom: 2em;
}
input {
font-size: 24px;
padding: 0.2em;
text-decoration: none;
border-radius: 4px;
color: #ffffff;
background-image: linear-gradient(#6795fd 0%, #67ceff 100%);
box-shadow: 0 0.1em 0.1em rgba(0, 0, 0, 0.29);
border-bottom: solid 0.05em #5e7fca;
border-radius: 0.2em;
}
input:active{
transform: translateY(3px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
border-radius: 0.2em;
}
▼JavaScript
var promptNo = "";
// 重複チェック用配列
var randoms = [];
// 最小値と最大値
var min = 1, max = 80;
function bingoNo(){
// 重複チェックしながら乱数作成
do {
var hitNo = intRandom(min, max);
if(randoms.length >= max) {
document.getElementById("sai").innerHTML = "End!";
return;
}
} while(randoms.includes(hitNo))
randoms.push(hitNo);
var displayNo = hitNo;
if (promptNo === "") {
promptNo = hitNo;
} else {
promptNo = promptNo + " | " + hitNo;
}
// min以上max以下の整数値の乱数を返す
function intRandom(min, max){
return Math.floor( Math.random() * (max - min + 1)) + min;
}
// htmlに書き込み
document.getElementById("sai").innerHTML = displayNo;
document.getElementById("promptNo").innerHTML = promptNo;
}
今回の記事やデモページ作成にあたり
JavaScriptで重複なしの乱数を作る一番簡単な方法のページを参考にさせていただきました。
とても勉強になりました!
