Dot eater

This commit is contained in:
Matt Low 2019-12-24 22:56:31 +04:00
parent 124f665232
commit ea4426f0a0
3 changed files with 20 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package com.me.pacman.entity; package com.me.pacman.entity;
import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.me.pacman.level.LevelTile;
import com.me.pacman.state.PlayState; import com.me.pacman.state.PlayState;
public class Pacman extends MovableEntity { public class Pacman extends MovableEntity {
@ -10,6 +11,8 @@ public class Pacman extends MovableEntity {
private PlayState state; private PlayState state;
private int counter = 1; private int counter = 1;
private int freezeFrames = 0;
public Pacman(PlayState state) { public Pacman(PlayState state) {
super(state, 14, 7.5f, 7.5f, true, Direction.EAST, 0.3f); super(state, 14, 7.5f, 7.5f, true, Direction.EAST, 0.3f);
this.state = state; this.state = state;
@ -38,11 +41,23 @@ public class Pacman extends MovableEntity {
@Override @Override
public void update(float dt) { public void update(float dt) {
if (freezeFrames > 0) {
freezeFrames--;
return;
}
super.update(dt); super.update(dt);
if (!state.paused && canMove && age % 4 == 0) { if (!state.paused && canMove && age % 4 == 0) {
counter += 1; counter += 1;
} }
switch (state.level.getComponent(x, y)) {
case PELLET:
state.level.setComponent(x, y, LevelTile.EMPTY);
freezeFrames = 1;
break;
}
} }
} }

View File

@ -36,6 +36,10 @@ public class Level {
components[y][x] = component; components[y][x] = component;
} }
public void setComponent(float x, float y, LevelTile component) {
setComponent((int) x, (int) y, component);
}
public void render(int offsetX, int offsetY) { public void render(int offsetX, int offsetY) {
for (int i = 0; i < components.length; i++) { for (int i = 0; i < components.length; i++) {
LevelTile[] row = components[i]; LevelTile[] row = components[i];

View File

@ -10,7 +10,7 @@ public class DesktopLauncher {
config.title = PacDude.TITLE + " - " + PacDude.VERSION; config.title = PacDude.TITLE + " - " + PacDude.VERSION;
config.width = PacDude.LEVEL_WIDTH * 2; config.width = PacDude.LEVEL_WIDTH * 2;
config.height = PacDude.LEVEL_HEIGHT * 2; config.height = PacDude.LEVEL_HEIGHT * 2;
config.resizable = true; config.resizable = false;
new LwjglApplication(new PacDude(), config); new LwjglApplication(new PacDude(), config);
} }
} }