我正在用HTML,CSS和JavaScript製作一個二十一點遊戲,這是我迄今爲止所應該做的就是讓玩家和計算機初步掌握和打印到屏幕上。但手的價值總是返回爲0,我不知道爲什麼...任何幫助將不勝感激,這裏是它的小提琴:http://jsfiddle.net/KR9jJ/值總是返回爲0並且不知道爲什麼
//當窗口加載時,將畫布放置到中心屏幕垂直地和水平
window.onload = window.onresize = function() {
var canvas = document.getElementById('canvas');
var viewportWidth = window.innerWidth;
var viewportHeight = window.innerHeight;
var canvasWidth = viewportWidth * 0.8;
var canvasHeight = canvasWidth/2;
canvas.style.position = "absolute";
canvas.setAttribute("width", canvasWidth);
canvas.setAttribute("height", canvasHeight);
canvas.style.top = (viewportHeight - canvasHeight)/2 + "px";
canvas.style.left = (viewportWidth - canvasWidth)/2 + "px";
};
//用於隨機數生成器函數的1-13
function random() {
var number = (Math.random()*13)+1;
return number;
}
function rank() {
var randomCard = random();
var output = "randomCard";
switch (randomCard) {
case 1:
output = "Ace";
break;
case 2:
output = "Two";
break;
case 3:
output = "Three";
break;
case 4:
output = "Four";
break;
case 5:
output = "Five";
break;
case 6:
output = "Six";
break;
case 7:
output = "Seven";
break;
case 8:
output = "Eight";
break;
case 9:
output = "Nine";
break;
case 10:
output = "Ten";
break;
case 11:
output = "Jack";
break;
case 12:
output = "Queen";
break;
case 13:
output = "King";
break;
}
return output;
}
//函數返回卡的基於隨機結果的值
function value(randomCard) {
var output = 0;
if (randomCard === ("Ace")) {
output = 11;
}
if (randomCard === ("Two")) {
output = 2;
}
if (randomCard === ("Three")) {
output = 3;
}
if (randomCard === ("Four")) {
output = 4;
}
if (randomCard === ("Five")) {
output = 5;
}
if (randomCard === ("Six")) {
output = 6;
}
if (randomCard === ("Seven")) {
output = 7;
}
if (randomCard === ("Eight")) {
output = 8;
}
if (randomCard === ("Nine")) {
output = 9;
}
if (randomCard === ("Ten")) {
output = 10;
}
if (randomCard === ("Jack")) {
output = 10;
}
if (randomCard === ("Queen")) {
output = 10;
}
if (randomCard === ("King")) {
output = 10;
}
return output;
}
//指定播放器和電腦默認的手
var playerHand = 0;
var compHand = 0;
//處理初始手中電腦和播放器
var playerFirstCard = rank();
var playerCardOne = value(playerFirstCard);
var compFirstCard = rank();
var compCardOne = value(compFirstCard);
var playerSecondCard = rank();
var playerCardTwo = value(playerSecondCard);
playerHand = playerHand + (playerCardOne+playerCardTwo);
var compSecondCard = rank();
var compCardTwo = value(compSecondCard);
compHand = compHand + (compCardOne+compCardTwo);
//顯示玩家和譜曲手
document.getElementById('p').innerHTML = playerHand;
document.getElementById('c').innerHTML = compHand;
請注意:請不要使用jQuery建議。
你需要將其分解爲單位,然後測試單位。並且稍後纔將已經測試過的單元放在一起。 –
即時通訊不知道爲什麼你得到0的問題。但我猜測Math.floor((Math.random()* 13)+1)將幫助你 –