- script.js
JavaScript
let gameRuleset = {
diceNumber: 2,
maxAttempts: 3
};
let firstCat = {
name: 'Cupcake',
points: 0
};
let secondCat = {
name: 'Rodolfo',
points: 0
};
let cats = [firstCat, secondCat];
let runGame = function (ruleset, players) {
for (let currentAttempt = 1; currentAttempt <= ruleset.maxAttempts; currentAttempt++) {
for (let i = 0; i < players.length; i++) {
let throwResult = keks.throwDice(ruleset.diceNumber, ruleset.diceNumber * 6);
players[i].points += throwResult;
console.log(players[i].name + ' sacó ' + players[i].points);
}
}
return players;
};
let getWinners = function (players) {
let winners = [];
let max = players[0];
for (let i = 0; i < players.length; i++) {
let currentPlayer = players[i];
if (currentPlayer.points > max.points) {
max = currentPlayer;
console.log('Nuevo récord: ' + currentPlayer.points);
}
}
return winners;
};
cats = runGame(gameRuleset, cats);
console.log(cats);
let tops = getWinners(cats);
console.log(tops);
Resultado de la ejecución
ObjetivosRealizado
0
- En la condición que detecta un nuevo campeón, después de
max = currentPlayer, asigna awinnersun arreglo con un solo elemento:max. - Elimina la impresión del mensaje sobre el nuevo récord.
- Agrega una rama
elsea la condición. - Dentro de
else, escribe unifanidado que compruebe si el participante actual y el campeón tienen los mismos puntos. Usa la comparación estricta===. - Si se cumple esa condición, agrega al participante actual al arreglo de ganadores con
push.