1から43の重複しないランダムな数字6個をコンピュータ、ユーザにそれぞれ選ばせ当選結果を表示させたいです。ボーナス数字も考慮します。
例:
ユーザ :[1][12][13][25][30][31]
コンピューター:[1][12][13][25][30][40]
ボーナス数字:[31]
当選結果:2等
1等:数字全て一致
2等:数字5個+ボーナス数字一致
3等:数字5個一致
4等:数字4個一致
5等:数字3個一致
その他:残念
一応自分でかけるところまで書いてみました。
分からない点は、
・ユーザに重複せずに数値を入力させる方法
・ボーナス数字をコンピュータの選んだ数値と重複させずに選ぶ方法
・2等から5等の判定方法
(途中ですが、コードを載せておきます。)
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 6<title></title> 7</head> 8<body> 9 <input type="text" size="15" value="" placeholder="1から43までの数字" id="number1"> 10 <input type="text" size="15" value="" placeholder="1から43までの数字" id="number2"> 11 <input type="text" size="15" value="" placeholder="1から43までの数字" id="number3"> 12 <input type="text" size="15" value="" placeholder="1から43までの数字" id="number4"> 13 <input type="text" size="15" value="" placeholder="1から43までの数字" id="number5"> 14 <input type="text" size="15" value="" placeholder="1から43までの数字" id="number6"> 15 16<br /> 17<br /> 18 <input type="button" value="結果" id="button"> 19<br /> 20<br /> 21 22 <div id = "USER">USER:</div> 23 <div id = "COM">COM :</div> 24 <div id = "BONUS">ボーナス:</div> 25 <div id="result">当選結果:</div> 26 27 <script type="text/javascript" src=""></script> 28</body> 29</html> 30
Javascript
1 var button = document.getElementById("button"); 2 var USER = document.getElementById( 'USER' ); 3 var COM = document.getElementById( 'COM' ); 4 var BONUS = document.getElementById("BONUS"); 5 var result = document.getElementById("result"); 6 7button.addEventListener('click', function(){ 8 var usernumber = [ 9 parseInt (document.getElementById("number1").value,10), 10 parseInt (document.getElementById("number2").value,10), 11 parseInt (document.getElementById("number3").value,10), 12 parseInt (document.getElementById("number4").value,10), 13 parseInt (document.getElementById("number5").value,10), 14 parseInt (document.getElementById("number6").value,10), 15 ]; 16 17 var arr = [1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]; 18 19 var randnum = []; 20 21 for(var i = 0; i <6; i++){ 22 randnum[i] =arr.splice(Math.floor(Math.random()*arr.length),1)[0] 23 } 24 25 26 USER.innerHTML += "[" + usernumber.join('][') + "]"; 27 COM.innerHTML += "[" + randnum.join('][') + "]"; 28 29 if(usernumber.join() === randnum.join){ 30 result.innetHTML += "1等"; 31 } 32 33 else{ 34 result.innerHTML += "残念"; 35 } 36 37 38},false); 39


回答3件
あなたの回答
tips
プレビュー