KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
blocks.cpp
Go to the documentation of this file.
1/* KallistiOS ##version##
2 examples/dreamcast/raylib/tetris/src/blocks/blocks.cpp
3 Copyright (C) 2024 Cole Hall
4*/
5
6#include "block.h"
9
10class LBlock : public Block{
11 public:
12 LBlock(){
13 id = 1;
14 vmuIcon = vmuL;
15 cells[0] = {Position(0, 2), Position(1, 0), Position(1, 1), Position(1, 2)};
16 cells[1] = {Position(0, 1), Position(1, 1), Position(2, 1), Position(2, 2)};
17 cells[2] = {Position(1, 0), Position(1, 1), Position(1, 2), Position(2, 0)};
18 cells[3] = {Position(0, 0), Position(0, 1), Position(1, 1), Position(2, 1)};
19 Move(0, 3);
20 }
21};
22
23class JBlock : public Block{
24 public:
25 JBlock(){
26 id = 2;
27 vmuIcon = vmuJ;
28 cells[0] = {Position(0, 0), Position(1, 0), Position(1, 1), Position(1, 2)};
29 cells[1] = {Position(0, 1), Position(0, 2), Position(1, 1), Position(2, 1)};
30 cells[2] = {Position(1, 0), Position(1, 1), Position(1, 2), Position(2, 2)};
31 cells[3] = {Position(0, 1), Position(1, 1), Position(2, 0), Position(2, 1)};
32 Move(0, 3);
33 }
34};
35
36class IBlock : public Block{
37 public:
38 IBlock(){
39 id = 3;
40 vmuIcon = vmuI;
41 cells[0] = {Position(1, 0), Position(1, 1), Position(1, 2), Position(1, 3)};
42 cells[1] = {Position(0, 2), Position(1, 2), Position(2, 2), Position(3, 2)};
43 cells[2] = {Position(2, 0), Position(2, 1), Position(2, 2), Position(2, 3)};
44 cells[3] = {Position(0, 1), Position(1, 1), Position(2, 1), Position(3, 1)};
45 Move(-1, 3);
46 }
47};
48
49class OBlock : public Block{
50 public:
51 OBlock(){
52 id = 4;
53 vmuIcon = vmuO;
54 cells[0] = {Position(0, 0), Position(0, 1), Position(1, 0), Position(1, 1)};
55 Move(0, 4);
56 }
57};
58
59class SBlock : public Block{
60 public:
61 SBlock(){
62 id = 5;
63 vmuIcon = vmuS;
64 cells[0] = {Position(0, 1), Position(0, 2), Position(1, 0), Position(1, 1)};
65 cells[1] = {Position(0, 1), Position(1, 1), Position(1, 2), Position(2, 2)};
66 cells[2] = {Position(1, 1), Position(1, 2), Position(2, 0), Position(2, 1)};
67 cells[3] = {Position(0, 0), Position(1, 0), Position(1, 1), Position(2, 1)};
68 Move(0, 3);
69 }
70};
71
72class TBlock : public Block{
73 public:
74 TBlock(){
75 id = 6;
76 vmuIcon = vmuT;
77 cells[0] = {Position(0, 1), Position(1, 0), Position(1, 1), Position(1, 2)};
78 cells[1] = {Position(0, 1), Position(1, 1), Position(1, 2), Position(2, 1)};
79 cells[2] = {Position(1, 0), Position(1, 1), Position(1, 2), Position(2, 1)};
80 cells[3] = {Position(0, 1), Position(1, 0), Position(1, 1), Position(2, 1)};
81 Move(0, 3);
82 }
83};
84
85class ZBlock : public Block{
86 public:
87 ZBlock(){
88 id = 7;
89 vmuIcon = vmuZ;
90 cells[0] = {Position(0, 0), Position(0, 1), Position(1, 1), Position(1, 2)};
91 cells[1] = {Position(0, 2), Position(1, 1), Position(1, 2), Position(2, 1)};
92 cells[2] = {Position(1, 0), Position(1, 1), Position(2, 1), Position(2, 2)};
93 cells[3] = {Position(0, 1), Position(1, 0), Position(1, 1), Position(2, 0)};
94 Move(0, 3);
95 }
96};
97
98class NullBlock : public Block{
99 public:
100 NullBlock(){
101 id = -1;
103 }
104};
Definition block.h:13
std::map< int, std::vector< Position > > cells
Definition block.h:24
void Move(int rows, int columns)
Definition block.cpp:32
const char * vmuIcon
Definition block.h:25
Definition position.h:8
const char * vmuT
Definition vmuIcons.cpp:77
const char * vmuI
Definition vmuIcons.cpp:7
const char * vmuZ
Definition vmuIcons.cpp:217
const char * vmuL
Definition vmuIcons.cpp:112
const char * vmuNULL
Definition vmuIcons.cpp:253
const char * vmuJ
Definition vmuIcons.cpp:146
const char * vmuS
Definition vmuIcons.cpp:181
const char * vmuO
Definition vmuIcons.cpp:42