This package handles logic to create a scored Game with User health and life attributes. It provides helper functions to hook into common game logic such as handling score, decrementing health, losing life, game over, etc.
npm install game_score
To use this package, create an instance of both a user and a game.
var Game = createGame();
var User = createUser();
The create based functions return objects that contain suggested default attributes.
{
lives: 3, // integer
scoreIncrement: 1, // integer
healthDecrement: 25, // percentage based integer
difficulty: "easy", // string
userPlay: false, // boolean
gameComplete: false, // boolean
highScore: 0 // integer
};
{
name: "Sneaky Snek", // string
health: 100, // percentage based integer
currentScore: 0 // integer
};
Both createGame()
and createUser()
accept objects which can be used to overwrite default user/games values or add custom ones.
var Game = createGame({
lives: 4,
bonus: 100
});
var User = createUser({
name: "Solid State",
color: "blue"
});
The resulting user and game objects are as follows:
{
lives: 4, // default override
bonus: 100, // custom property
scoreIncrement: 1,
healthDecrement: 25,
difficulty: "easy",
userPlay: false,
gameComplete: false,
highScore: 0
};
{
name: "Solid State", // default override
color: "blue", // custom property
health: 100,
currentScore: 0
};
incrementScore();
This function will increment the score based on the increment value set in the Game
object.
It also returns an updated User
object.
decrementHealth(func);
This function will decrement the player's score based on the decrement value set in the Game
object and will automatically trigger loseLife()
and gameOver()
based on the game parameters set in the Game
object.
The decrementHealth()
function returns an updated User
object when called and accepts a callback function that is executed on game over as a parameter.
loseLife(func)
loseLife()
is automatically called when the health of a life has been decremented to 0. You can force the loss of a life by calling this function manually.
The loseLife()
function accepts a callback function that is executed on game over as a parameter.
gameOver(func);
gameOver()
is automatically called on the loss of the player's last life. The gameOver()
function can be called manually and accepts a callback function as a parameter.
resetGame();
resetGame()
is automatically called on game over. You can force a game reset by calling this function manually.