Estoy usando un objeto de juego que tiene diferentes captadores y métodos dentro de él. Uno de los parámetros de mi tarea es que el método "playerDies" tiene que restar 1 de las vidas si es mayor que cero y no puede bajar de 0 (entonces no puede ser -1 que es lo que está pasando ahora). Este tema es bastante nuevo para mí, así que no estoy seguro de qué puedo hacer para ejecutar la resta solo cuando hay un valor específico. Intenté usar una declaración if-else pero eso resultó en que el código no funcionaba. Mi código:
var game = { lives: 3, coins: 0, get points() { return this.coins * 10; }, playerDies: function() { return this.lives -= 1; }, newGame: function() { this.lives = 3; this.coins = 0; }, }; console.log("lives = " + game.lives); // should be 3 console.log("coins = " + game.coins); // should be 0 console.log("points = " + game.points); // should be 0 game.coins = 0; console.log("points = " + game.points); // should be 20 game.playerDies(); console.log("lives = " + game.lives); // should be 2 game.playerDies(); game.playerDies(); game.playerDies(); console.log("lives = " + game.lives); // should be 0 game.newGame(); console.log("lives = " + game.lives); // should be 3 console.log("coins = " + game.coins); // should be 0Puede poner la declaración if en su método playerDies
playerDies: function() { if (this.lives > 0) { return this.lives -= 1 } return 0 }