javascript - 计算手头卡
问题描述
该代码应该创建一个函数,通过添加手头所有卡片的值来计算并返回卡片的分数。手头的八张或更少的牌应从 52 个数组元素中随机选择。但是,Jack、Queen 或 King 的值是 10。
我已经能够遍历卡片并随机选择 8 张卡片。但是,我无法将 Jack、King 和 Queen 的值替换为每次出现的 10。
function showHand(){
var suits = ['spades', 'hearts', 'diamonds', 'clubs'];
var cards = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'Jack', 'Queen', 'King'];
var deal = [];
for(suit in suits){
for(card in cards){
deal.push(cards[card]);
}
}
var handCard = deal.splice(Math.floor(Math.random() * deal.length), 8);
var getGolfScore = golfScore(handCard);
document.getElementById('dvShowHand').innerHTML = list + '<br>' + getGolfScore;
}
function golfScore(hand){
var sumCardInHand = 0;
for(hands in hand){
if(hand[hands] == 'Jack' || hand[hands] == 'King' || hand[hands] == 'Queen'){
hand[hands] = 10;
}
sumCardInHand += hand[hands];
}
return sumCardInHand;
}
例如,如果手是这个数组:[5, 2, "King", 3, 1, "Queen"],则 golfScore 函数将返回 31。
解决方案
推荐阅读
- javascript - ApostropheCMS - 在快速路由中呈现完整的 HTML 页面
- javascript - 网页在正常加载之前闪烁/显示一秒钟
- python - 使用 OpenCV 从图像中裁剪框 - 轮廓(Python)
- azure - “用于连接的原则必须对目标数据库具有控制数据库权限”在prem sql到azure迁移时出错
- php - Laravel 不支持获取方法
- silverstripe - Silverstripe 自定义前端表单未呈现
- java - Java,Jackson,将对象转换为 xml,无效字符问题
- bash - 具有可变原因文件且数据为空的 Grep
- azure-devops - 如何限制对 Azure DevOps 组织设置和用户列表的访问?
- spring - 如何在 html 页面中刷新 thymeleaf 变量?