javascript - 计算 "Memory Game' s"分数,根据尝试次数、花费时间和剩余牌数

标签 javascript jquery html algorithm calculus

我正在用 javascript 开发内存游戏(基于本教程:http://www.developphp.com/view.php?tid=1393),现在我需要根据以下条件计算公平分数: - 游戏由 4x4 张卡片组成(这意味着有 16 张卡片)因此,它至少需要 8 次尝试(每翻转 2 张卡片算作一次尝试) - 游戏有 45 秒的倒计时

所以,简而言之,最好的最终成绩将是: - 8 次尝试,耗时约 10 秒,剩下 0 张牌待找。 对于每一次进一步的尝试、耗时或/和剩余的卡片,分数都会减少

我怎样才能完成这样的事情?

下面是我到目前为止编写的代码:

nrTries =8;
time = 35;
tilesLeft = 0;

function calcScore(){
  var triesBonus = (nrTries * 700) / 8;
  var timeBonus = ((45 - time) == 0) ? 10 : (45 - time);
  //timeBonus = (timeBonus*500) / 10;
  console.log((triesBonus+'|'+timeBonus));
    //score += score - ((tilesLeft / 2)*6);
    //return score;
}

//console.log(calcScore());
calcScore();

提前致谢!

最佳答案

假设一个完美的游戏包括 10 秒内尝试 8 次且没有剩余牌,并且完美得分的值为 1000 分。然后你可以这样做:

function calcScore(){
    var tilesbonus = (16 - tilesleft) * 20; // 20 points for each successful tile=320 pts
    var timebonus = (45 - time) * 8;  // 8 points for each second = 280 pts
    var triesbonus = (48 - nrTries) * 10;  // (deduct) 10 points for each try = 400 pts
    if (tilesbonus <0) { tilesbonus = 0; }
    if (timebonus <0) { timebonus = 0; }
    if (triesbonus <0) { triesbonus = 0; }
    return tilesbonus + timebonus + triesbonus;
}

这些数字只是一个建议,您可以随意修改它们以更改特定因素的得分。

关于javascript - 计算 "Memory Game' s"分数,根据尝试次数、花费时间和剩余牌数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086790/

相关文章:

javascript - 将 PointText 放置在 Canvas 中心

javascript - 动态加载组合框值

javascript - 如何水平居中两列列表项(有或没有 Bootstrap)?

php - 在线输入 PHP 函数,查询(通过 PDO)MySql 输出 JSON

html - 如何设置 ionic 选择项的默认值?

javascript - 我怎样才能设置这样的背景图像?

javascript - 正则表达式检查是否存在空格?

javascript - 如何使用 jQuery 查询字符串?

html - 多步表单 - 在样式单选按钮之间切换

javascript - 为什么 jquery 的 .position() 和 css 的 position 不一样?