feat: add elapsed time, fix bugs

This commit is contained in:
Martin Prokoph
2025-06-29 18:24:02 +02:00
parent 39c290e22f
commit 7671bdec04
9 changed files with 54 additions and 15 deletions

View File

@@ -6,6 +6,7 @@ import eu.midnightdust.yaytris.ui.TetrisUI;
import eu.midnightdust.yaytris.util.SoundUtil;
import javax.swing.*;
import java.time.LocalTime;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
@@ -16,6 +17,7 @@ public class Tetris {
private static Timer timer;
private static TetrisUI ui;
private static TimerTask gravityTask;
private static LocalTime startTime;
public static void main(String[] args) {
try {
@@ -42,10 +44,12 @@ public class Tetris {
public static void startGame() {
SoundUtil.playMusic("/music/theme.wav", true);
space.spawnTetromino();
startTime = LocalTime.now();
gravityTask = new TimerTask() {
@Override
public void run() {
if (space.getCurrentTetromino() != null) {
updateTime();
space.getCurrentTetromino().fall();
ui.getGamePanel().repaint();
}
@@ -65,4 +69,7 @@ public class Tetris {
public static void updateScore(int score) {
if (ui.getMenuPanel() instanceof ScoreMenu) ((ScoreMenu) ui.getMenuPanel()).updateScore(score);
}
public static void updateTime() {
if (ui.getMenuPanel() instanceof ScoreMenu) ((ScoreMenu) ui.getMenuPanel()).updateTime(startTime);
}
}