Some random attempts at programming the retro console
Fork of RETRO_Pong_Mod by
Game.h
- Committer:
- loop
- Date:
- 2015-02-25
- Revision:
- 5:8a26ad9d9ea1
- Parent:
- 4:84be90860d7c
- Child:
- 7:c0f12f624832
File content as of revision 5:8a26ad9d9ea1:
#include "mbed.h" #include "DisplayN18.h" #pragma once class Game { static const char* LOSE_1; static const char* LOSE_2; static const char* SPLASH_1; static const char* SPLASH_2; static const char* LIVES; static const char* SCORE; static const int BALL_RADIUS = 3; static const int BALL_STARTING_SPEED = 3; static const int PADDLE_WIDTH = 38; static const int PADDLE_HEIGHT = 4; static const int PADDLE_SPEED = 5; static const int BOUNCE_SOUND_TICKS = 2; static const int GRAPH_HEIGHT = 40; static const int GRAPH_SPACING = 2; static const char I2C_ADDR = 0x1C << 1; // Start with a ball.. let's see what becomes int ballX; int ballY; int ballSpeedX; int ballSpeedY; int ballAccelX; int ballAccelY; int pwmTicksLeft; int lives; int score; int graphX; bool mode; bool lastUp; bool lastDown; bool muted; unsigned short colors[3]; DigitalIn left; DigitalIn right; DigitalIn down; DigitalIn up; DigitalIn square; DigitalIn circle; DigitalOut led1; DigitalOut led2; PwmOut pwm; AnalogIn ain; I2C i2c; DisplayN18 disp; void readRegisters(char address, char* buffer, int len); int writeRegister(char address, char value); void getXYZ(double& x, double& y, double& z); double convert(char* buffer); void printDouble(double value, int x, int y); void drawAxes(); void drawPoint(int axis, double value); void checkGraphReset(); void initialize(); void initializeBall(); void drawString(const char* str, int y); void clearBall(); void drawBall(); void updateBall(); void readAccel(); void checkButtons(); void checkCollision(); void checkPwm(); void checkLives(); public: Game(); void showSplashScreen(); void tick(); };