Java Scriptで交換無しのポーカーを作っています。
判定なども作ったのですが、同じ処理を何回も書いてしまっているのでまとめようとしているのですが、うまくいきません。
色々調べてみたのですがどうしてもできないので教えていただきたいです。
以下コードです。
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>js</title> 6 <link rel="stylesheet" href="css/javascript.css"> 7 </head> 8 <body> 9 <div class="wrap"> 10 <div class="wrap1" id=oyabattle></div> 11 <div class="wrap2">親</div> 12 <div class="clear"></div> 13 <div class="wrap3" id=oyahand></div> 14 <div class="wrap4"> 15 <div class="wrap5" id=oyacard1><img src="images/card_back.png" title="トランプ"></div> 16 <div class="wrap5" id=oyacard2><img src="images/card_back.png" title="トランプ"></div> 17 <div class="wrap5" id=oyacard3><img src="images/card_back.png" title="トランプ"></div> 18 <div class="wrap5" id=oyacard4><img src="images/card_back.png" title="トランプ"></div> 19 <div class="wrap5" id=oyacard5><img src="images/card_back.png" title="トランプ"></div> 20 </div> 21 <div class="wrap6" id=start>Game Start</div> 22 <div class="wrap4"> 23 <div class="wrap5" id=kocard1><img src="images/card_back.png" title="トランプ"></div> 24 <div class="wrap5" id=kocard2><img src="images/card_back.png" title="トランプ"></div> 25 <div class="wrap5" id=kocard3><img src="images/card_back.png" title="トランプ"></div> 26 <div class="wrap5" id=kocard4><img src="images/card_back.png" title="トランプ"></div> 27 <div class="wrap5" id=kocard5><img src="images/card_back.png" title="トランプ"></div> 28 </div> 29 <div class="wrap3" id=kohand></div> 30 <div class="wrap7" id=kobattle></div> 31 <div class="wrap8">子</div> 32 <div class="clear"></div> 33 </div> 34 <script type="text/javascript"src="js/javascript.js"></script> 35 </body> 36</html>
Java
1var oyabattle=document.getElementById('oyabattle'); 2var oyahand=document.getElementById('oyahand'); 3var oyacard=[]; 4oyacard[0]=document.getElementById('oyacard1'); 5oyacard[1]=document.getElementById('oyacard2'); 6oyacard[2]=document.getElementById('oyacard3'); 7oyacard[3]=document.getElementById('oyacard4'); 8oyacard[4]=document.getElementById('oyacard5'); 9var kobattle=document.getElementById('kobattle'); 10var kohand=document.getElementById('kohand'); 11var kocard=[]; 12kocard[0]=document.getElementById('kocard1'); 13kocard[1]=document.getElementById('kocard2'); 14kocard[2]=document.getElementById('kocard3'); 15kocard[3]=document.getElementById('kocard4'); 16kocard[4]=document.getElementById('kocard5'); 17var start =document.getElementById('start'); 18var oyakohand=oyacard.concat(kocard); 19var spade=[]; 20var heart=[]; 21var dia=[]; 22var club=[]; 23for (var i = 0; i <13; i++) { 24 spade[i]=['Spade'+i,'<img src="images/card_spad_'+i+'.png">']; 25 heart[i]=['Heart'+i,'<img src="images/card_hear_'+i+'.png">']; 26 dia[i]=['Diaaa'+i,'<img src="images/card_diam_'+i+'.png">']; 27 club[i]=['Clubb'+i,'<img src="images/card_club_'+i+'.png">']; 28} 29var total=spade.concat(heart,dia,club); 30 31start.addEventListener('click',function () { 32 var oyascore=0 33 var koscore=0 34 for(i = total.length - 1; i > 0; i--) { 35 var j = Math.floor(Math.random() * (i + 1)); 36 var tmp = total[i]; 37 total[i] = total[j]; 38 total[j] = tmp; 39 } 40 for (var i = 0; i < 5; i++) { 41 oyacard[i]=total[i]; 42 kocard[i]=total.reverse()[i]; 43 } 44 oyacard1.innerHTML=oyacard[0][1] 45 oyacard2.innerHTML=oyacard[1][1] 46 oyacard3.innerHTML=oyacard[2][1] 47 oyacard4.innerHTML=oyacard[3][1] 48 oyacard5.innerHTML=oyacard[4][1] 49 kocard1.innerHTML=kocard[0][1] 50 kocard2.innerHTML=kocard[1][1] 51 kocard3.innerHTML=kocard[2][1] 52 kocard4.innerHTML=kocard[3][1] 53 kocard5.innerHTML=kocard[4][1] 54 55 var cutoyacard=[]; 56 var cutkocard=[]; 57 for (var i = 0; i < 5; i++) { 58 cutoyacard[i]= oyacard[i][0].substr(0,5); 59 cutkocard[i]= kocard[i][0].substr(0,5); 60 } 61 var oyamsuits = { "Spade":0, "Heart":0, "Diaaa":0, "Clubb":0 }; 62 var komsuits = { "Spade":0, "Heart":0, "Diaaa":0, "Clubb":0 }; 63 64 for( var i=0; i<5; i++ ){ 65 oyamsuits[cutoyacard[i]]++; 66 komsuits[cutkocard[i]]++; 67 } 68 if (oyamsuits['Spade']===5||oyamsuits['Heart']===5||oyamsuits['diaaa']===5||oyamsuits['clubb']===5) { 69 oyahand.innerHTML='フラッシュ' 70 var oyascore=600 71 } 72 if (komsuits['Spade']===5||komsuits['Heart']===5||komsuits['diaaa']===5||komsuits['clubb']===5) { 73 kohand.innerHTML='フラッシュ' 74 var koscore=600 75 } 76 77 var cutoyacardnum=[]; 78 var cutkocardnum=[]; 79 for (var i = 0; i < 5; i++) { 80 cutoyacardnum[i]= Number(oyacard[i][0].substr(5)); 81 cutkocardnum[i]= Number(kocard[i][0].substr(5)); 82 } 83 var oyanumbers = { 0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0, 11:0, 12:0 }; 84 var konumbers = { 0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0, 11:0, 12:0 }; 85 for( var i=0; i<5; i++ ){ 86 oyanumbers[cutoyacardnum[i]]++; 87 konumbers[cutkocardnum[i]]++; 88 } 89 for (var i = 0; i < 13; i++) { 90 if (oyanumbers[i]===4) { 91 oyahand.innerHTML='フォーカード' 92 var oyascore=800 93 } 94 if (konumbers[i]===4) { 95 kohand.innerHTML='フォーカード' 96 var koscore=800 97 } 98 } 99 for (var i = 0; i < 13; i++) { 100 if (oyanumbers[i]===3) { 101 oyahand.innerHTML='スリーカード' 102 var oyascore=400 103 } 104 if (konumbers[i]===3) { 105 kohand.innerHTML='スリーカード' 106 var koscore=400 107 } 108 } 109 for (var i = 0; i < 13; i++) { 110 if (oyanumbers[i]===2) { 111 oyahand.innerHTML='ワンペア' 112 var oyascore=200 113 } 114 if (konumbers[i]===2) { 115 kohand.innerHTML='ワンペア' 116 var koscore=200 117 } 118 } 119 var oyasameCount = { 0:0, 1:0, 2:0, 3:0, 4:0 }; 120 var kosameCount = { 0:0, 1:0, 2:0, 3:0, 4:0 }; 121 for( var i=1; i<=13; i++ ){ 122 oyasameCount[oyanumbers[i]]++; 123 kosameCount[konumbers[i]]++; 124 } 125 if( oyasameCount[2]===2 ){ 126 oyahand.innerHTML='ツーペア' 127 var oyascore=300 128 } 129 if( kosameCount[2]===2 ){ 130 kohand.innerHTML='ツーペア' 131 var koscore=300 132 } 133 134 if(oyasameCount[3]==1&&oyasameCount[2]==1){ 135 oyahand.innerHTML='フルハウス' 136 var oyascore=700 137 } 138 if (kosameCount[3]==1&&kosameCount[2]==1) { 139 kohand.innerHTML='フルハウス' 140 var koscore=700 141 } 142 143 for( var i=1; i<=9; i++ ){ 144 if(oyanumbers[i]>=1&&oyanumbers[i+1]>=1&&oyanumbers[i+2]>=1&&oyanumbers[i+3]>=1&&oyanumbers[i+4]>=1 ){ 145 if (oyamsuits['Spade']===5||oyamsuits['Heart']===5||oyamsuits['diaaa']===5||oyamsuits['clubb']===5) { 146 oyahand.innerHTML='ストレートフラッシュ' 147 var oyascore=900 148 } 149 else { 150 oyahand.innerHTML='ストレート' 151 var oyascore=500 152 } 153 } 154 if(konumbers[i]>=1&&konumbers[i+1]>=1&&konumbers[i+2]>=1&&konumbers[i+3]>=1&&konumbers[i+4]>=1 ){ 155 if (komsuits['Spade']===5||komsuits['Heart']===5||komsuits['diaaa']===5||komsuits['clubb']===5) { 156 kohand.innerHTML='ストレートフラッシュ' 157 var koscore=900 158 } 159 else { 160 kohand.innerHTML='ストレート' 161 var koscore=500 162 } 163 } 164 } 165 if(oyanumbers[9]>=1&&oyanumbers[10]>=1&&oyanumbers[11]>=1&&oyanumbers[12]>=1&&oyanumbers[0]>=1 ){ 166 if (oyamsuits['Spade']===5||oyamsuits['Heart']===5||oyamsuits['diaaa']===5||oyamsuits['clubb']===5) { 167 oyahand.innerHTML='ロイヤルフラッシュ' 168 var oyascore=1000 169 } 170 else { 171 oyahand.innerHTML='ストレート' 172 var oyascore=500 173 } 174 } 175 if(konumbers[9]>=1&&konumbers[10]>=1&&konumbers[11]>=1&&konumbers[12]>=1&&konumbers[0]>=1 ){ 176 if (komsuits['Spade']===5||komsuits['Heart']===5||komsuits['diaaa']===5||komsuits['clubb']===5) { 177 kohand.innerHTML='ロイヤルフラッシュ' 178 var koscore=1000 179 } 180 else { 181 kohand.innerHTML='ストレート' 182 var koscore=500 183 } 184 } 185 if (oyascore===0) { 186 oyahand.innerHTML='役無し' 187 } 188 if (koscore===0) { 189 kohand.innerHTML='役無し' 190 } 191 var oyahigh=Math.max.apply(null, cutoyacardnum)+1; 192 var kohigh=Math.max.apply(null, cutkocardnum)+1; 193 var oyalow=Math.min.apply(null, cutoyacardnum)+1; 194 var kolow=Math.min.apply(null, cutkocardnum)+1; 195 if (oyalow===1) { 196 var oyahigh=20 197 } 198 if (kolow===1) { 199 var kohigh=20 200 } 201 if (oyascore===0) { 202 oyascore=oyahigh 203 } 204 if (koscore===0) { 205 koscore=kohigh 206 } 207 if (oyascore>koscore) { 208 oyabattle.innerHTML='WIN' 209 kobattle.innerHTML='LOSE' 210 } 211 else if (oyascore<koscore) { 212 oyabattle.innerHTML='LOSE' 213 kobattle.innerHTML='WIN' 214 } 215 else { 216 oyabattle.innerHTML='DRAW' 217 kobattle.innerHTML='DRAW' 218 } 219},false)
このJSのコードの例えばワンペアのところを
function onepare(numbers,hand,score) {
for (var i = 0; i < 13; i++) {
if (numbers===2) {
hand.innerHTML='ワンペア'
var score=200
}
}
}
onepare(oyanumbers[i],oyahand,oyascore)
onepare(konumbers[i],kohand,koscore)
このように書き換えたいのですが処理しなくなってしまいます。
どこに問題点がありますでしょうか。
よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/26 05:34