chore: Added lava
Co-authored-by: jull <sefljulie@gmail.com> Co-committed-by: jull <sefljulie@gmail.com>
This commit is contained in:
@ -14,6 +14,7 @@ public class SpriteLoader {
|
||||
// Blocks
|
||||
AIR,
|
||||
WATER,
|
||||
LAVA,
|
||||
DIRT,
|
||||
GRASS,
|
||||
STONE,
|
||||
@ -142,6 +143,7 @@ public class SpriteLoader {
|
||||
// Block
|
||||
SPRITES_MAP.put(SPRITES.AIR, new Air());
|
||||
SPRITES_MAP.put(SPRITES.WATER, new Water());
|
||||
SPRITES_MAP.put(SPRITES.LAVA, new Lava());
|
||||
SPRITES_MAP.put(SPRITES.DIRT, new SimpleSprite("dirt.ans"));
|
||||
SPRITES_MAP.put(SPRITES.GRASS, new SimpleSprite("grass.ans"));
|
||||
SPRITES_MAP.put(SPRITES.STONE, new SimpleSprite("stone.ans"));
|
||||
|
62
src/main/java/cz/jzitnik/game/sprites/Lava.java
Normal file
62
src/main/java/cz/jzitnik/game/sprites/Lava.java
Normal file
@ -0,0 +1,62 @@
|
||||
package cz.jzitnik.game.sprites;
|
||||
|
||||
import cz.jzitnik.tui.ResourceLoader;
|
||||
import cz.jzitnik.tui.Sprite;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class Lava extends Sprite {
|
||||
public enum LavaState {
|
||||
FIRST,
|
||||
SECOND,
|
||||
THIRD,
|
||||
FOURTH,
|
||||
FIFTH;
|
||||
|
||||
public static LavaState get(int x) {
|
||||
return switch (x) {
|
||||
case 5 -> FIRST;
|
||||
case 4 -> SECOND;
|
||||
case 3 -> THIRD;
|
||||
case 2 -> FOURTH;
|
||||
case 1 -> FIFTH;
|
||||
default -> throw new IllegalStateException("Unexpected value: " + x);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public String getSprite() {
|
||||
return getSprite(LavaState.FIRST);
|
||||
}
|
||||
|
||||
public String getSprite(Enum e) {
|
||||
String[] resource = ResourceLoader.loadResource("lava.ans").split("\n");
|
||||
|
||||
int numberFormTop = switch (e) {
|
||||
case LavaState.FIRST -> 0;
|
||||
case LavaState.SECOND -> 5;
|
||||
case LavaState.THIRD -> 10;
|
||||
case LavaState.FOURTH -> 15;
|
||||
case LavaState.FIFTH -> 20;
|
||||
default -> throw new IllegalStateException("Unexpected value: " + e);
|
||||
};
|
||||
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < 25; i++) {
|
||||
if (i < numberFormTop) {
|
||||
stringBuilder.append("\033[49m ".repeat(50));
|
||||
} else {
|
||||
stringBuilder.append(resource[i]);
|
||||
}
|
||||
stringBuilder.append("\n");
|
||||
}
|
||||
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Class<LavaState>> getStates() {
|
||||
return Optional.of(LavaState.class);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user