Chen Shuochen / Mbed 2 deprecated Battleship_2

Dependencies:   mbed Battleship

Committer:
mztkb
Date:
Mon May 06 10:17:43 2019 +0000
Revision:
0:340fb82a9149
code changed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mztkb 0:340fb82a9149 1 ///////// pre-processor directives ////////
mztkb 0:340fb82a9149 2 #include "mbed.h"
mztkb 0:340fb82a9149 3 #include "Gamepad.h"
mztkb 0:340fb82a9149 4 #include "N5110.h"
mztkb 0:340fb82a9149 5 //#include "PongEngine.h"
mztkb 0:340fb82a9149 6
mztkb 0:340fb82a9149 7 #ifdef WITH_TESTING
mztkb 0:340fb82a9149 8 # include "tests.h"
mztkb 0:340fb82a9149 9 #endif
mztkb 0:340fb82a9149 10
mztkb 0:340fb82a9149 11 #define PADDLE_WIDTH 2
mztkb 0:340fb82a9149 12 #define PADDLE_HEIGHT 8
mztkb 0:340fb82a9149 13 //#define BALL_SIZE 2
mztkb 0:340fb82a9149 14 //#define BALLspeed 3
mztkb 0:340fb82a9149 15
mztkb 0:340fb82a9149 16 /////////////// structs /////////////////
mztkb 0:340fb82a9149 17 //struct UserInput {
mztkb 0:340fb82a9149 18 // Direction d;
mztkb 0:340fb82a9149 19 // float mag;
mztkb 0:340fb82a9149 20 //};
mztkb 0:340fb82a9149 21 /////////////// objects ///////////////
mztkb 0:340fb82a9149 22 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
mztkb 0:340fb82a9149 23 Gamepad pad;
mztkb 0:340fb82a9149 24 //PongEngine pong;
mztkb 0:340fb82a9149 25
mztkb 0:340fb82a9149 26 ///////////// prototypes ///////////////
mztkb 0:340fb82a9149 27 void init();
mztkb 0:340fb82a9149 28 //void update_game(UserInput input);
mztkb 0:340fb82a9149 29 void render();
mztkb 0:340fb82a9149 30 void welcome();
mztkb 0:340fb82a9149 31 void update(Direction d, float mag);
mztkb 0:340fb82a9149 32 //uint8_t
mztkb 0:340fb82a9149 33 int y = 16;
mztkb 0:340fb82a9149 34 int speed = 0 ;
mztkb 0:340fb82a9149 35 uint8_t save[50]={0};
mztkb 0:340fb82a9149 36 int background[50][84]={
mztkb 0:340fb82a9149 37 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 38 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 39 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 40 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 41 {0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 42 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
mztkb 0:340fb82a9149 43 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
mztkb 0:340fb82a9149 44 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 45 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 46 {0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 47 {0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 48 {0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 49 {0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 50 {0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 51 {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 52 {0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 53 {0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 54 {0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
mztkb 0:340fb82a9149 55 {0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 56 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 57 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 58 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 59 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 60 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 61 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 62 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 63 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 64 {0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 65 {0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 66 {0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 67 {0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 68 {0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0},
mztkb 0:340fb82a9149 69 {0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0},
mztkb 0:340fb82a9149 70 {0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0},
mztkb 0:340fb82a9149 71 {0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0},
mztkb 0:340fb82a9149 72 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 73 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 74 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 75 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 76 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 77 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 78 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 79 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 80 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 81 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 82 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 83 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 84 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 85 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 86 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
mztkb 0:340fb82a9149 87 };
mztkb 0:340fb82a9149 88
mztkb 0:340fb82a9149 89 int Battlecuriser[5][8]={
mztkb 0:340fb82a9149 90 {1,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 91 {1,1,1,0,0,0,0,0},
mztkb 0:340fb82a9149 92 {1,1,1,1,1,0,0,0},
mztkb 0:340fb82a9149 93 {1,1,1,1,1,1,1,0},
mztkb 0:340fb82a9149 94 {0,0,0,0,0,0,0,0},
mztkb 0:340fb82a9149 95
mztkb 0:340fb82a9149 96 };
mztkb 0:340fb82a9149 97
mztkb 0:340fb82a9149 98
mztkb 0:340fb82a9149 99
mztkb 0:340fb82a9149 100 ///////////// functions ////////////////
mztkb 0:340fb82a9149 101 int main()
mztkb 0:340fb82a9149 102 {
mztkb 0:340fb82a9149 103 #ifdef WITH_TESTING
mztkb 0:340fb82a9149 104 int number_of_failures = run_all_tests();
mztkb 0:340fb82a9149 105
mztkb 0:340fb82a9149 106 if(number_of_failures > 0) return number_of_failures;
mztkb 0:340fb82a9149 107 #endif
mztkb 0:340fb82a9149 108
mztkb 0:340fb82a9149 109
mztkb 0:340fb82a9149 110 int a = 0;
mztkb 0:340fb82a9149 111 int count = 0;
mztkb 0:340fb82a9149 112
mztkb 0:340fb82a9149 113 init(); // initialise and then display welcome screen...
mztkb 0:340fb82a9149 114 welcome(); // waiting for the user to start
mztkb 0:340fb82a9149 115 lcd.clear();
mztkb 0:340fb82a9149 116 lcd.drawSprite(0,0,50,84,(int*)background);
mztkb 0:340fb82a9149 117 lcd.drawSprite(0,25,5,8,(int*)Battlecuriser);
mztkb 0:340fb82a9149 118 lcd.refresh();
mztkb 0:340fb82a9149 119 //render(); // first draw the initial frame
mztkb 0:340fb82a9149 120 wait(0.5); // and wait
mztkb 0:340fb82a9149 121
mztkb 0:340fb82a9149 122
mztkb 0:340fb82a9149 123 // game loop - read input, update the game state and render the display
mztkb 0:340fb82a9149 124 while (1)
mztkb 0:340fb82a9149 125 {
mztkb 0:340fb82a9149 126 //pong.read_input(pad);
mztkb 0:340fb82a9149 127 //pong.update(pad);
mztkb 0:340fb82a9149 128 Direction d = pad.get_direction();
mztkb 0:340fb82a9149 129 float mag = pad.get_mag();
mztkb 0:340fb82a9149 130 update(d,mag);
mztkb 0:340fb82a9149 131 lcd.clear();
mztkb 0:340fb82a9149 132 lcd.drawSprite(0,0,50,84,(int*)background);
mztkb 0:340fb82a9149 133 lcd.drawSprite(0,y,5,8,(int*)Battlecuriser);
mztkb 0:340fb82a9149 134 lcd.refresh();
mztkb 0:340fb82a9149 135 //render();
mztkb 0:340fb82a9149 136 // Get the final column
mztkb 0:340fb82a9149 137 for (a = 0; a < 50; a++)
mztkb 0:340fb82a9149 138 {
mztkb 0:340fb82a9149 139 save[a] = background[a][0];
mztkb 0:340fb82a9149 140 }
mztkb 0:340fb82a9149 141 // Move the background image one column to the left.
mztkb 0:340fb82a9149 142 for (a = 0; a < 50; a++)
mztkb 0:340fb82a9149 143 {
mztkb 0:340fb82a9149 144 for (count = 0; count < 84; count++)
mztkb 0:340fb82a9149 145 {
mztkb 0:340fb82a9149 146 background[a][count] = background[a][count + 1];
mztkb 0:340fb82a9149 147 }
mztkb 0:340fb82a9149 148 }
mztkb 0:340fb82a9149 149 // Set the final column
mztkb 0:340fb82a9149 150 for (a = 0; a < 50; a++)
mztkb 0:340fb82a9149 151 {
mztkb 0:340fb82a9149 152 background[a][83] = save[a];
mztkb 0:340fb82a9149 153 }
mztkb 0:340fb82a9149 154 if(background[0][y]==1)
mztkb 0:340fb82a9149 155 {
mztkb 0:340fb82a9149 156 pad.tone(750.0,0.1);
mztkb 0:340fb82a9149 157 break;
mztkb 0:340fb82a9149 158 }
mztkb 0:340fb82a9149 159 wait(0.5);
mztkb 0:340fb82a9149 160 }
mztkb 0:340fb82a9149 161 for(a = 0; a < 3; a++)
mztkb 0:340fb82a9149 162 {
mztkb 0:340fb82a9149 163 for(int b = 0; b < 50; b++)
mztkb 0:340fb82a9149 164 {
mztkb 0:340fb82a9149 165 for(count = 0; count < 84; count++)
mztkb 0:340fb82a9149 166 {
mztkb 0:340fb82a9149 167 if(background[b][count]== 1) {
mztkb 0:340fb82a9149 168 background[b][count] = 0;
mztkb 0:340fb82a9149 169 } else if(background[b][count]== 0) {
mztkb 0:340fb82a9149 170 background[b][count] = 1;
mztkb 0:340fb82a9149 171 }
mztkb 0:340fb82a9149 172
mztkb 0:340fb82a9149 173 }
mztkb 0:340fb82a9149 174 }
mztkb 0:340fb82a9149 175 lcd.drawSprite(0,0,50,84,(int*)background);
mztkb 0:340fb82a9149 176 lcd.refresh();
mztkb 0:340fb82a9149 177
mztkb 0:340fb82a9149 178 wait(0.5);
mztkb 0:340fb82a9149 179 }
mztkb 0:340fb82a9149 180 }
mztkb 0:340fb82a9149 181
mztkb 0:340fb82a9149 182 // initialies all classes and libraries
mztkb 0:340fb82a9149 183 void init()
mztkb 0:340fb82a9149 184 {
mztkb 0:340fb82a9149 185 // need to initialise LCD and Gamepad
mztkb 0:340fb82a9149 186 lcd.init();
mztkb 0:340fb82a9149 187 pad.init();
mztkb 0:340fb82a9149 188
mztkb 0:340fb82a9149 189 // initialise the game with correct ball and paddle sizes
mztkb 0:340fb82a9149 190 //pong.init(PADDLE_WIDTH,PADDLE_HEIGHT,BALL_SIZE,BALLspeed);
mztkb 0:340fb82a9149 191
mztkb 0:340fb82a9149 192 }
mztkb 0:340fb82a9149 193
mztkb 0:340fb82a9149 194 // this function draws each frame on the LCD
mztkb 0:340fb82a9149 195 void render()
mztkb 0:340fb82a9149 196 {
mztkb 0:340fb82a9149 197 // clear screen, re-draw and refresh
mztkb 0:340fb82a9149 198 lcd.clear();
mztkb 0:340fb82a9149 199 //pong.draw(lcd);
mztkb 0:340fb82a9149 200 lcd.refresh();
mztkb 0:340fb82a9149 201 }
mztkb 0:340fb82a9149 202
mztkb 0:340fb82a9149 203 // simple splash screen displayed on start-up
mztkb 0:340fb82a9149 204 void welcome() {
mztkb 0:340fb82a9149 205
mztkb 0:340fb82a9149 206 lcd.printString(" Battle! ",0,1);
mztkb 0:340fb82a9149 207 lcd.printString(" Start ",0,4);
mztkb 0:340fb82a9149 208 lcd.refresh();
mztkb 0:340fb82a9149 209
mztkb 0:340fb82a9149 210 // wait flashing LEDs until start button is pressed
mztkb 0:340fb82a9149 211 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
mztkb 0:340fb82a9149 212 pad.leds_on();
mztkb 0:340fb82a9149 213 wait(0.1);
mztkb 0:340fb82a9149 214 pad.leds_off();
mztkb 0:340fb82a9149 215 wait(0.1);
mztkb 0:340fb82a9149 216 }
mztkb 0:340fb82a9149 217
mztkb 0:340fb82a9149 218 }
mztkb 0:340fb82a9149 219
mztkb 0:340fb82a9149 220 void update(Direction d,float mag)
mztkb 0:340fb82a9149 221 {
mztkb 0:340fb82a9149 222 speed = int(mag*10.0f); // scale is arbitrary, could be changed in future
mztkb 0:340fb82a9149 223
mztkb 0:340fb82a9149 224 // update y value depending on direction of movement
mztkb 0:340fb82a9149 225 // North is decrement as origin is at the top-left so decreasing moves up
mztkb 0:340fb82a9149 226 if (d == N)
mztkb 0:340fb82a9149 227 {
mztkb 0:340fb82a9149 228 y-=speed;
mztkb 0:340fb82a9149 229 }
mztkb 0:340fb82a9149 230 else if (d == S)
mztkb 0:340fb82a9149 231 {
mztkb 0:340fb82a9149 232 y+=speed;
mztkb 0:340fb82a9149 233 }
mztkb 0:340fb82a9149 234 // check the y origin to ensure that the paddle doesn't go off screen
mztkb 0:340fb82a9149 235 // if (y < 1)
mztkb 0:340fb82a9149 236 // {
mztkb 0:340fb82a9149 237 // y = 1;
mztkb 0:340fb82a9149 238 // }
mztkb 0:340fb82a9149 239
mztkb 0:340fb82a9149 240 }