You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.2 KiB

#include "game.h"
extern GameEngine game;
void InitGameEngine() {
game.timerValue = game.turnTime;
game.countScores = true;
game.activePlayers = 0;
game.currentPlayer = 1;
game.turnTime = TIMER_MAX / 2;
game.timerValue = game.turnTime;
for (int i=0; i<MAX_PLAYERS+1; i++)
game.scores[i] = 999;
game.scores[1] = 0;
}
void DecrementTurnTime() {
if (game.turnTime > TIMER_STEP)
game.turnTime -= TIMER_STEP;
else
game.turnTime = TIMER_MAX;
game.timerValue = game.turnTime;
}
void IncrementTurnTime() {
if (game.turnTime + TIMER_STEP <= TIMER_MAX)
game.turnTime += TIMER_STEP;
else
game.turnTime = TIMER_STEP;
game.timerValue = game.turnTime;
}
void AddPlayer() {
if (game.activePlayers <= MAX_PLAYERS) {
game.scores[++game.activePlayers] = 0;
}
}
void RemovePlayer() {
if (game.activePlayers > 1) {
game.scores[--game.activePlayers] = -1;
}
}
void ChangeScore(int8_t delta) {
game.scores[game.currentPlayer] += delta;
}
void ResetTurnTimer() {
game.timerValue = game.turnTime;
}
void NextPlayer() {
game.currentPlayer = ((game.currentPlayer) % (game.activePlayers+1) + 1 );
ResetTurnTimer();
}