view projects/tank_wars/game.h @ 287:4815ed0f21de prerelease

Makefile refactoring: - avoids recursive call to build with/without main - takes EXAMPLE parameter. Copies the examples/$(EXAMPLE) folder to projects/$(PROJECT) and $PROJECT defaults to exampleTestProject - you can now `make run` (TODO: currently re-links, should instead run without linking)
author Giulio Moro <giuliomoro@yahoo.it>
date Wed, 18 May 2016 01:46:32 +0100
parents 8d80eda512cd
children
line wrap: on
line source
/*
 * game.h
 *
 *  Created on: Nov 10, 2014
 *      Author: parallels
 */

#ifndef GAME_H_
#define GAME_H_

// Initialisation
void setupGame(int width, int height);
void restartGame();

// Update physics
void nextGameFrame();

// State updaters
void setTank1CannonAngle(float angle);
void setTank2CannonAngle(float angle);
void setTank1CannonStrength(float strength);
void setTank2CannonStrength(float strength);
void fireProjectile();

// State queries
bool gameStatusPlayer1Turn();
bool gameStatusProjectileInMotion();
int gameStatusWinner();
bool gameStatusCollisionOccurred();
bool gameStatusTankHitOccurred();
float gameStatusProjectileHeight();

// Render screen; returns length of buffer used
int drawGame(float *buffer, int bufferSize);

// Cleanup and memory release
void cleanupGame();

#endif /* GAME_H_ */