All there but errors need fixing

Dependencies:   mbed

Overview:

Rookie Tetris is a jigsaw style game based on the classic Tetris.

A block will appear at the top of the screen, you must move it (your options for movement are left, right and down - you cannot move up the board). The block will stop when it if placed either on the floor of the board or on-top of another block.

Your goal is to fill a complete row of the board with the blocks; when you do so the row will delete and the pattern above it will drop down. The game is over when your pattern is tall enough to reach to the top of the board!

Controls:

Use the joystick to move your block! Your block cannot move out of the parameters of the board.

Pot 2 controls the contrast of the screen.

Committer:
el18rs
Date:
Tue Jun 02 21:07:17 2020 +0000
Revision:
15:68114eae4053
Parent:
14:bd8c59a4b641
Child:
22:403759d2f093
works/compiles

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el18rs 3:522c6f850e91 1 #ifndef TETRISGAME_H
el18rs 3:522c6f850e91 2 #define TETRISGAME_H
el18rs 3:522c6f850e91 3
el18rs 3:522c6f850e91 4 #include "mbed.h"
el18rs 3:522c6f850e91 5 #include "N5110.h"
el18rs 3:522c6f850e91 6 #include "Gamepad.h"
el18rs 3:522c6f850e91 7 #include "Tetromino.h"
el18rs 3:522c6f850e91 8
el18rs 3:522c6f850e91 9 class TetrisGame
el18rs 3:522c6f850e91 10 {
el18rs 3:522c6f850e91 11
el18rs 3:522c6f850e91 12 public:
el18rs 3:522c6f850e91 13 TetrisGame();
el18rs 3:522c6f850e91 14 ~TetrisGame();
el18rs 3:522c6f850e91 15
el18rs 11:0183a52c1077 16 void init(int speed);
el18rs 3:522c6f850e91 17 void read_input(Gamepad &pad);
el18rs 6:39cbec524483 18 void update(Gamepad &pad, N5110 &lcd);
el18rs 3:522c6f850e91 19 void draw(N5110 &lcd);
el18rs 15:68114eae4053 20 void fallenblocks(N5110 &lcd, int iH);
el18rs 4:7ddd287a5d28 21 //void play_game();
el18rs 3:522c6f850e91 22
el18rs 15:68114eae4053 23 // private:
el18rs 3:522c6f850e91 24
el18rs 6:39cbec524483 25 void check_wall_collision(Gamepad &pad, N5110 &lcd);
el18rs 6:39cbec524483 26 void check_tetromino_collisions(Gamepad &pad, N5110 &lcd);
el18rs 4:7ddd287a5d28 27 // void check_score(Gamepad &pad);
el18rs 4:7ddd287a5d28 28
el18rs 6:39cbec524483 29 void cancel_line(N5110 &lcd);
el18rs 6:39cbec524483 30 void exit_game(N5110 &lcd);
el18rs 3:522c6f850e91 31
el18rs 6:39cbec524483 32 // Tetromino _p1;
el18rs 3:522c6f850e91 33
el18rs 15:68114eae4053 34 volatile int X[50];
el18rs 15:68114eae4053 35 volatile int Y[50];
el18rs 15:68114eae4053 36 volatile int floor_hit_flag;
el18rs 15:68114eae4053 37 volatile int a;
el18rs 15:68114eae4053 38 volatile int b;
el18rs 11:0183a52c1077 39 int _px;
el18rs 11:0183a52c1077 40 int _py;
el18rs 15:68114eae4053 41 int x0;
el18rs 15:68114eae4053 42 int y0;
el18rs 11:0183a52c1077 43 // int _tetromino_height;
el18rs 11:0183a52c1077 44 // int _tetromino_width;
el18rs 3:522c6f850e91 45 int _speed;
el18rs 3:522c6f850e91 46
el18rs 3:522c6f850e91 47 Tetromino _tetromino;
el18rs 3:522c6f850e91 48
el18rs 3:522c6f850e91 49 Direction _d;
el18rs 3:522c6f850e91 50 float _mag;
el18rs 3:522c6f850e91 51 };
el18rs 3:522c6f850e91 52
el18rs 3:522c6f850e91 53 #endif