【发布时间】:2016-02-08 22:36:10
【问题描述】:
我在使用外部 Javascript 文件创建要在 HTML 页面中显示的 Blackjack 程序时遇到问题。
我不需要标记我的牌,并且我创建了一个总分在 17-21 之间的荷官。
我不确定我的代码的哪些部分完全错误,哪些部分需要稍作调整。我相信我做了一些破坏程序的事情。
编辑:我已经编辑了一些你们很多人帮助过的修复,我在运行程序时遇到的一个错误是,如果我确实使用警报来显示分数/结果, 运行时不会出现警报。
我的目标是将我的 Javascript 代码中的分数/卡片显示到我的 HTML 代码中,如下所示:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Blackjack</title>
<link rel="stylesheet" type="text/css" href="CSSedit.css">
</head>
<body>
<script type="text/javascript" src="Blackjack.js">
</script>
<h1>Javascript Blackjack</h1>
<p>Player's Hand: </p>
<br>
<p>Dealer's Score: </p>
<p>Player's Score: </p>
<br>
<p>Game Results: </p>
</body>
</html>
我的 javascript 代码:
//function that returns a random card
var deal = function() {
card = Math.floor(Math.random()*52+1);
return card;
};
//function that returns dealers hand between 17-21
var dealerhand = function(x, y) {
cardDealer = Math.floor(Math.random()*(21 - 17 + 1)+17);
return cardDealer;
}
//declaring variables
var card1 = deal();
var card2 = deal();
var dealer = dealerhand();
var x = 17;
var y = 21;
//retrieving the value of the cards from the deal function
var getValue = function(card) {
if(card % 13 === 0 || card % 13 === 11 || card % 13 === 12){
return 10;
}
if(card % 13 === 1){
return 11;
}
else{
return card % 13;
}
}
//scoring the cards dealt and determining the outcome
//using the if and else if statements
function score() {
if ((getValue(card1) + getValue(card2)) > 22){
return "Busted!";
}
else if (getValue(cardDealer) > getValue(card1) + getValue(card2)){
return "You lose!";
}
else if (getValue(cardDealer) === getValue(card1) + getValue(card2)){
return "Draw!";
}
else{
return getValue(card1) + getValue(card2);
}
}
//Need to display results onto HTML page
//alert("You have card " + card1 + " / " + card2 +
// " Score: " + score(card1, card2);
【问题讨论】:
-
那么问题出在哪里?您是否收到错误或意外行为?请用运行代码时发生的情况更新您的问题。
标签: javascript html blackjack