Some random attempts at programming the retro console

Dependencies:   LCD_ST7735 mbed

Fork of RETRO_Pong_Mod by G. Andrew Duthie

Committer:
loop
Date:
Sat Feb 28 17:39:08 2015 +0000
Revision:
10:ba2dea5fffd1
Parent:
9:5c4a3e89a713
Remove some unused stuff

Who changed what in which revision?

UserRevisionLine numberNew contents of line
john_ghielec 1:cd8a3926f263 1 #include "mbed.h"
loop 7:c0f12f624832 2 #include "Color565.h"
loop 7:c0f12f624832 3 #include "font_IBM.h"
loop 7:c0f12f624832 4 #include "LCD_ST7735.h"
john_ghielec 1:cd8a3926f263 5 #pragma once
john_ghielec 1:cd8a3926f263 6
john_ghielec 1:cd8a3926f263 7 class Game {
john_ghielec 1:cd8a3926f263 8 static const char* LOSE_1;
john_ghielec 1:cd8a3926f263 9 static const char* LOSE_2;
john_ghielec 2:6ab46f2e851a 10 static const char* SPLASH_1;
john_ghielec 2:6ab46f2e851a 11 static const char* SPLASH_2;
devhammer 3:2f09c90a732d 12 static const char* LIVES;
devhammer 3:2f09c90a732d 13 static const char* SCORE;
john_ghielec 1:cd8a3926f263 14
loop 10:ba2dea5fffd1 15 static const int BALL_RADIUS = 2;
devhammer 3:2f09c90a732d 16 static const int BALL_STARTING_SPEED = 3;
john_ghielec 1:cd8a3926f263 17 static const int PADDLE_WIDTH = 38;
john_ghielec 1:cd8a3926f263 18 static const int PADDLE_HEIGHT = 4;
devhammer 3:2f09c90a732d 19 static const int PADDLE_SPEED = 5;
john_ghielec 1:cd8a3926f263 20 static const int BOUNCE_SOUND_TICKS = 2;
john_ghielec 2:6ab46f2e851a 21 static const char I2C_ADDR = 0x1C << 1;
loop 7:c0f12f624832 22
loop 7:c0f12f624832 23 static const int CHAR_WIDTH = 8;
loop 7:c0f12f624832 24 static const int CHAR_HEIGHT = 8;
loop 7:c0f12f624832 25 static const int CHAR_SPACING = 0;
john_ghielec 1:cd8a3926f263 26
loop 9:5c4a3e89a713 27 static const float MAX_SPEED = 6.0f;
loop 4:84be90860d7c 28 // Start with a ball.. let's see what becomes
john_ghielec 1:cd8a3926f263 29 int ballX;
john_ghielec 1:cd8a3926f263 30 int ballY;
loop 9:5c4a3e89a713 31 float ballSpeedX;
loop 9:5c4a3e89a713 32 float ballSpeedY;
loop 9:5c4a3e89a713 33 float ballAccelX;
loop 9:5c4a3e89a713 34 float ballAccelY;
john_ghielec 1:cd8a3926f263 35 int pwmTicksLeft;
john_ghielec 1:cd8a3926f263 36 int lives;
devhammer 3:2f09c90a732d 37 int score;
john_ghielec 2:6ab46f2e851a 38 bool lastUp;
john_ghielec 2:6ab46f2e851a 39 bool lastDown;
devhammer 3:2f09c90a732d 40 bool muted;
john_ghielec 2:6ab46f2e851a 41 unsigned short colors[3];
loop 9:5c4a3e89a713 42 unsigned short cCol;
john_ghielec 1:cd8a3926f263 43 DigitalIn left;
john_ghielec 1:cd8a3926f263 44 DigitalIn right;
john_ghielec 1:cd8a3926f263 45 DigitalIn down;
john_ghielec 1:cd8a3926f263 46 DigitalIn up;
john_ghielec 1:cd8a3926f263 47 DigitalIn square;
john_ghielec 1:cd8a3926f263 48 DigitalIn circle;
john_ghielec 1:cd8a3926f263 49 DigitalOut led1;
john_ghielec 1:cd8a3926f263 50 DigitalOut led2;
john_ghielec 1:cd8a3926f263 51 PwmOut pwm;
john_ghielec 1:cd8a3926f263 52 AnalogIn ain;
john_ghielec 1:cd8a3926f263 53 I2C i2c;
loop 7:c0f12f624832 54 LCD_ST7735 disp;
john_ghielec 1:cd8a3926f263 55
john_ghielec 2:6ab46f2e851a 56 void readRegisters(char address, char* buffer, int len);
john_ghielec 2:6ab46f2e851a 57 int writeRegister(char address, char value);
loop 9:5c4a3e89a713 58 void getXY(float& x, float& y);
loop 7:c0f12f624832 59
john_ghielec 2:6ab46f2e851a 60 double convert(char* buffer);
john_ghielec 2:6ab46f2e851a 61 void printDouble(double value, int x, int y);
john_ghielec 2:6ab46f2e851a 62
john_ghielec 1:cd8a3926f263 63 void initialize();
john_ghielec 1:cd8a3926f263 64 void initializeBall();
john_ghielec 1:cd8a3926f263 65
john_ghielec 1:cd8a3926f263 66 void drawString(const char* str, int y);
john_ghielec 1:cd8a3926f263 67 void clearBall();
john_ghielec 1:cd8a3926f263 68 void drawBall();
john_ghielec 1:cd8a3926f263 69 void updateBall();
loop 5:8a26ad9d9ea1 70 void readAccel();
loop 9:5c4a3e89a713 71 void bounce();
john_ghielec 2:6ab46f2e851a 72 void checkButtons();
john_ghielec 1:cd8a3926f263 73 void checkCollision();
john_ghielec 1:cd8a3926f263 74 void checkPwm();
john_ghielec 1:cd8a3926f263 75 void checkLives();
john_ghielec 1:cd8a3926f263 76
john_ghielec 1:cd8a3926f263 77 public:
john_ghielec 1:cd8a3926f263 78 Game();
john_ghielec 1:cd8a3926f263 79
john_ghielec 1:cd8a3926f263 80 void showSplashScreen();
john_ghielec 1:cd8a3926f263 81 void tick();
john_ghielec 1:cd8a3926f263 82 };