こんにちわ。
プログラミング初心者で、JavaScriptの勉強中です。
ローカルストレージを使って何かアプリを作ってみようと思い、
勝ち数がローカルストレージに記録されるようなじゃんけんアプリを作っているのですが、
なぜか足し算がうまくいかず困っています。。。
(プレイヤーA(自分)がプレイヤーB(ランダムに手を出す)とじゃんけんします。)
###【本題】
プレイヤーAの勝率を出したく、
aRate(プレイヤーAの勝率)= aKachisu(Aの勝ち数) + bKachisu(Bの勝ち数) + hikiwakeSu(引き分け数)
と計算しているのですが、
例えば
aKachisu=2
bKachisu=3
hikiwakeSu=1
のとき、
aRate=231
となってしまいます。
aKachisu、bKachisu、hikiwakeSuをisNaNで調べたのですが、
falseが返ってきてるので、数値として認識されているはずなのですが。。。
どこに原因がありそうでしょうか?
どなたかご教示頂けますと幸いです。
ちなみにMacでChromを使っています。
下記に、少し長いですが、
前後のプログラムを掲載しております。
何卒よろしくお願い致します。
JavaScript
1<body> 2 <script type="text/javascript"> 3 $(function(){ 4 var selectNum; 5 var hand = ["ぐー","ちょき","ぱー"]; 6 var shouhai = ["勝利!","引き分けだ!","負け!"]; 7 var hanteiHaitretu = [ 8 [shouhai[1],shouhai[0],shouhai[2]], 9 [shouhai[2],shouhai[1],shouhai[0]], 10 [shouhai[0],shouhai[2],shouhai[1]]]; 11 12 //勝敗関連 13 var aKachisu; 14 var bKachisu; 15 var hikiwakeSu; 16 var aRate; 17 var bRate; 18 var aRateText = document.getElementById('aKachiRate'); 19 var bRateText = document.getElementById('bKachiRate'); 20 21 //ページ読み込み時 22 $(window).on("load",function(){ 23 if(localStorage.getItem("a")){ 24 aKachisu = localStorage.getItem("a"); 25 } else { 26 aKachisu = 0; 27 } 28 29 if(localStorage.getItem("b")){ 30 bKachisu = localStorage.getItem("b"); 31 } else { 32 bKachisu = 0; 33 } 34 35 if(localStorage.getItem("hikiwake")){ 36 hikiwakeSu = localStorage.getItem("hikiwake"); 37 } else { 38 hikiwakeSu = 0; 39 } 40 41 if((aKachisu == 0)&&(bKachisu == 0)&&(hikiwakeSu == 0)){ 42 aRateText.innerHTML = 0; 43 bRateText.innerHTML = 0; 44 } else { 45 aRate = aKachisu/(aKachisu+bKachisu+hikiwakeSu)*100; 46 bRate = bKachisu/(aKachisu+bKachisu+hikiwakeSu)*100; 47 48 aRateText.innerHTML = aRate; 49 bRateText.innerHTML = bRate; 50 } 51 }); 52 53 //勝ち負け判定 54 function hanteiFunc(n) { 55 selectNum = Math.floor(Math.random() * 3); 56 $("#aHand").html(hand[n]); 57 $("#bHand").html(hand[selectNum]); 58 $("#kekka").html(hanteiHaitretu[n][selectNum]); 59 60 if((n-selectNum == -1) || (n-selectNum == 2)) { 61 aKachisu++; 62 }else if((n-selectNum == 1) || (n-selectNum == -2)) { 63 bKachisu++; 64 } else { 65 hikiwakeSu++; 66 } 67 68 localStorage.setItem("a",aKachisu); 69 localStorage.setItem("b",bKachisu); 70 localStorage.setItem("hikiwake",hikiwakeSu) 71 72 aRate = aKachisu/(aKachisu + bKachisu + hikiwakeSu)*100; //★ここのaKachisu + bKachisu + hikiwakeSuがうまく計算されません…! 73 bRate = bKachisu/(aKachisu + bKachisu + hikiwakeSu)*100; 74 75 aRateText.innerHTML = localStorage.getItem("a"); 76 bRateText.innerHTML = localStorage.getItem("b"); 77 } 78 79 $("#gu").click(function(){ 80 hanteiFunc(0); 81 }) 82 83 $("#choki").click(function(){ 84 hanteiFunc(1); 85 }) 86 87 $("#pa").click(function(){ 88 hanteiFunc(2); 89 }) 90 }); 91 </script> 92 <div>aの勝率:<span id="aKachiRate"></span>%</div> 93 <div id="aHand"></div> 94 <div>bの勝率:<span id="bKachiRate"></span>%</div> 95 <div id="bHand"></div> 96 <p>以下から選んでclick!!</p> 97 <div id="gu">gu</div> 98 <div id="choki">choki</div> 99 <div id="pa">pa</div> 100 <div id="kekka"></div> 101 102</body> 103
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/08 10:57
2015/08/08 11:20
2015/08/09 05:30