根据尝试次数、花费的时间和剩余的卡片计算“记忆游戏”的分数
Calculate "Memory Game's" score, based on the number of attempts, time spent and cards left
我正在用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;
}
这些数字只是一个建议,您可以弄乱它们以更改特定因素的分数。
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 根据元素和容器大小计算边距
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 使用D3.js计算带有字母间距的文本长度
- 如何有效地将游戏数据存储在URL查询字符串中
- 根据尝试次数、花费的时间和剩余的卡片计算“记忆游戏”的分数
- 在记忆游戏中翻转砖块
- 简单的记忆游戏;t更新其状态.糟糕的游戏循环
- 计算内存游戏的持续时间并将其发送到数据库
- 在记忆游戏中点击后从0开始计时
- 记忆游戏-如何得到两个卡图像显示之前的警报弹出
- jQuery记忆技巧游戏setTimeout()问题
- 记忆游戏用角
- 比较记忆游戏中的元素
- 在构建HTML5游戏书中开发游戏时,冲突是如何计算的
- 画布游戏-存储/计算位置/迭代粒子/项目符号/游戏元素的最有效方法
- 正在游戏控制器中获取计算属性
- 生命的游戏:试图用新的算法来提高计算效率,但没有成功.为什么?
- 在记忆游戏中翻牌
- 你好,我正在做一个记忆游戏与javascript