Updated extra feature

This commit is contained in:
Cavallium 2018-10-09 17:45:20 +02:00
parent d954190882
commit b90faa13b8
3 changed files with 83 additions and 7 deletions

View File

@ -2,11 +2,12 @@ package it.cavallium.warppi.extra.tetris;
public class TetrisGame { public class TetrisGame {
static final int WIDTH = 10, HEIGHT = 22; private static final int WIDTH = 10, HEIGHT = 22;
BlockType[] grid; private BlockType[] grid;
BlockType[] hovergrid; private BlockType[] hovergrid;
GameStatus gameStatus = GameStatus.INITIAL; private GameStatus gameStatus = GameStatus.INITIAL;
int score = 0; private int score = 0;
private double currentTime = 0;
public TetrisGame() { public TetrisGame() {
@ -16,6 +17,17 @@ public class TetrisGame {
grid = new BlockType[WIDTH * HEIGHT]; grid = new BlockType[WIDTH * HEIGHT];
hovergrid = new BlockType[WIDTH * HEIGHT]; hovergrid = new BlockType[WIDTH * HEIGHT];
score = 0; score = 0;
currentTime = 0;
gameStatus = GameStatus.PLAYING; gameStatus = GameStatus.PLAYING;
} }
public void gameTick(float dt, boolean leftPressed, boolean rightPressed, boolean downPressed, boolean okPressed,
boolean backPressed) {
currentTime += dt;
if (gameStatus == GameStatus.INITIAL) {
playAgain();
} else {
}
}
} }

View File

@ -18,6 +18,16 @@ public class TetrisScreen extends Screen {
private TetrisGame g; private TetrisGame g;
private boolean leftPressed;
private boolean rightPressed;
private boolean downPressed;
private boolean okPressed;
private boolean backPressed;
private GraphicEngine e; private GraphicEngine e;
private Renderer r; private Renderer r;
@ -50,6 +60,7 @@ public class TetrisScreen extends Screen {
@Override @Override
public void beforeRender(final float dt) { public void beforeRender(final float dt) {
Engine.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glClearColor(0xff000000); Engine.INSTANCE.getHardwareDevice().getDisplayManager().renderer.glClearColor(0xff000000);
g.gameTick(dt, leftPressed, rightPressed, downPressed, okPressed, backPressed);
} }
@Override @Override
@ -58,7 +69,60 @@ public class TetrisScreen extends Screen {
TetrisScreen.skin.use(e); TetrisScreen.skin.use(e);
} }
} }
@Override
public boolean onKeyPressed(KeyPressedEvent k) {
switch (k.getKey()) {
case LEFT: {
leftPressed = true;
return true;
}
case RIGHT: {
rightPressed = true;
return true;
}
case DOWN: {
downPressed = true;
return true;
}
case OK: {
okPressed = true;
return true;
}
case BACK: {
backPressed = true;
return true;
}
default: return false;
}
}
@Override
public boolean onKeyReleased(KeyReleasedEvent k) {
switch (k.getKey()) {
case LEFT: {
leftPressed = false;
return true;
}
case RIGHT: {
rightPressed = false;
return true;
}
case DOWN: {
downPressed = false;
return true;
}
case OK: {
okPressed = false;
return true;
}
case BACK: {
backPressed = false;
return true;
}
default: return false;
}
}
@Override @Override
public boolean mustBeRefreshed() { public boolean mustBeRefreshed() {
return true; return true;

View File

@ -19,7 +19,7 @@ import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.util.Utils; import it.cavallium.warppi.util.Utils;
public abstract class RFTFont implements BinaryFont { public abstract class RFTFont implements BinaryFont {
public boolean[][] rawchars; public boolean[][] rawchars;
public int[] chars32; public int[] chars32;
public int minBound = 10; public int minBound = 10;