KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
game.h
Go to the documentation of this file.
1/* KallistiOS ##version##
2 examples/dreamcast/raylib/raytris/src/game/game.h
3 Copyright (C) 2024 Cole Hall
4*/
5
6#pragma once
7#include "../grid/grid.h"
10#include "../vmu/vmuManager.h"
11#include <kos.h>
12
13class Game{
14 public:
15 Game();
16 void Draw();
17 void DrawBlockAtPosition(Block &block, int offsetX, int offsetY, int offsetXAdjustment, int offsetYAdjustment);
18 void DrawHeld(int offsetX, int offsetY);
19 void HandleInput();
20 void MoveBlockDown();
21 void DrawNext(int offsetX, int offsetY);
22 bool Running();
24 int score;
25
26 private:
27 double lastHeldMoveTime;
28 double floorContactTime = 0;
29 double timeSinceLastRotation;
30 bool IsBlockOutside();
31 bool canHoldBlock = true;
32 void RotateBlock(bool clockwise);
33 void LockBlock();
34 bool BlockFits();
35 void Reset();
36 void UpdateScore(int linesCleared, int moveDownPoints);
37 void MoveBlockLeft();
38 void MoveBlockRight();
39 void HardDrop();
40 void HoldBlock();
41 std::vector<Block> GetAllBlocks();
42 std::vector<Block> blocks;
43 Block currentBlock;
44 Block heldBlock = NullBlock();
45 Block nextBlock;
46 Block GetRandomBlock();
47 Grid grid;
48 uint16_t prev_buttons;
49 uint16_t prev_triggers;
50 bool running = true;
51 const double moveThreshold = 0.075;
52 const double timerGraceBig = 2;
53 const double timerGraceSmall = 0.4;
54 static const int moves[15][2];
55 SoundManager soundManager = SoundManager();
56 VmuManager vmuManager = VmuManager();
57};
Definition block.h:13
Definition game.h:13
bool gameOver
Definition game.h:23
void DrawNext(int offsetX, int offsetY)
Definition game.cpp:76
void DrawHeld(int offsetX, int offsetY)
Definition game.cpp:72
bool Running()
Definition game.cpp:80
void HandleInput()
Definition game.cpp:84
void Draw()
Definition game.cpp:58
void DrawBlockAtPosition(Block &block, int offsetX, int offsetY, int offsetXAdjustment, int offsetYAdjustment)
Definition game.cpp:63
void MoveBlockDown()
Definition game.cpp:222
Game()
Definition game.cpp:32
int score
Definition game.h:24
Definition grid.h:10
Definition soundManager.h:11
Definition vmuManager.h:11
Include everything KOS has to offer!
static uint8_t block[4096]
Definition mke2fs.c:45