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:
Wed Jun 03 16:44:09 2020 +0000
Revision:
22:403759d2f093
Parent:
15:68114eae4053
Child:
23:cbfa9d1ee3db
line clears when full

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 22:403759d2f093 21 void clearline(N5110 &lcd, int iB);
el18rs 4:7ddd287a5d28 22 //void play_game();
el18rs 3:522c6f850e91 23
el18rs 15:68114eae4053 24 // private:
el18rs 3:522c6f850e91 25
el18rs 6:39cbec524483 26 void check_wall_collision(Gamepad &pad, N5110 &lcd);
el18rs 6:39cbec524483 27 void check_tetromino_collisions(Gamepad &pad, N5110 &lcd);
el18rs 4:7ddd287a5d28 28 // void check_score(Gamepad &pad);
el18rs 4:7ddd287a5d28 29
el18rs 6:39cbec524483 30 void cancel_line(N5110 &lcd);
el18rs 6:39cbec524483 31 void exit_game(N5110 &lcd);
el18rs 3:522c6f850e91 32
el18rs 6:39cbec524483 33 // Tetromino _p1;
el18rs 3:522c6f850e91 34
el18rs 22:403759d2f093 35 int count;
el18rs 15:68114eae4053 36 volatile int X[50];
el18rs 15:68114eae4053 37 volatile int Y[50];
el18rs 22:403759d2f093 38 volatile int Z[50];
el18rs 15:68114eae4053 39 volatile int floor_hit_flag;
el18rs 22:403759d2f093 40 volatile int clear_line_flag;
el18rs 15:68114eae4053 41 volatile int a;
el18rs 15:68114eae4053 42 volatile int b;
el18rs 22:403759d2f093 43 volatile int c;
el18rs 11:0183a52c1077 44 int _px;
el18rs 11:0183a52c1077 45 int _py;
el18rs 15:68114eae4053 46 int x0;
el18rs 15:68114eae4053 47 int y0;
el18rs 22:403759d2f093 48 int z0;
el18rs 11:0183a52c1077 49 // int _tetromino_height;
el18rs 11:0183a52c1077 50 // int _tetromino_width;
el18rs 3:522c6f850e91 51 int _speed;
el18rs 3:522c6f850e91 52
el18rs 3:522c6f850e91 53 Tetromino _tetromino;
el18rs 3:522c6f850e91 54
el18rs 3:522c6f850e91 55 Direction _d;
el18rs 3:522c6f850e91 56 float _mag;
el18rs 3:522c6f850e91 57 };
el18rs 3:522c6f850e91 58
el18rs 3:522c6f850e91 59 #endif