diff --git a/src/main/java/cz/jzitnik/game/sprites/ui/Font.java b/src/main/java/cz/jzitnik/game/sprites/ui/Font.java index fd40dfd..f7a93ac 100644 --- a/src/main/java/cz/jzitnik/game/sprites/ui/Font.java +++ b/src/main/java/cz/jzitnik/game/sprites/ui/Font.java @@ -6,19 +6,10 @@ public class Font { private final String[] lines = ResourceLoader.loadResource("ui/font.ans").split("\n"); private final int HEIGHT = 7; - public String getChar(char character, String color) { - if (character == ' ') { - return ("\033[49m ".repeat(12) + "\n").repeat(HEIGHT); - } - - boolean upper = Character.isUpperCase(character); - int width = upper ? 14 : 12; - int startY = (upper ? 0 : 1) * HEIGHT; - int startX = (upper ? character - 'A' : character - 'a') * width; - + private String get(int startY, int startX, int height, int width, String color) { StringBuilder stringBuilder = new StringBuilder(); - for (int y = startY; y < startY + HEIGHT; y++) { + for (int y = startY; y < startY + height; y++) { String[] line = lines[y].split("\033"); for (int x = startX; x < startX + width - 1; x++) { @@ -31,6 +22,37 @@ public class Font { return stringBuilder.toString(); } + private String getDigit(char digit, String color) { + int num = Integer.valueOf(digit); + int width = 12; + int startY = HEIGHT; + int left = 26 * width; + int startX = left + (num - '1') * width; + + if (num == '0') { + startX = (26 + 9) * width; + } + + return get(startY, startX, HEIGHT, width, color); + } + + public String getChar(char character, String color) { + if (character == ' ') { + return ("\033[49m ".repeat(12) + "\n").repeat(HEIGHT); + } + + if (Character.isDigit(character)) { + return getDigit(character, color); + } + + boolean upper = Character.isUpperCase(character); + int width = upper ? 14 : 12; + int startY = (upper ? 0 : 1) * HEIGHT; + int startX = (upper ? character - 'A' : character - 'a') * width; + + return get(startY, startX, HEIGHT, width, color); + } + public String getLine(String text) { char[] chars = text.toCharArray(); diff --git a/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java b/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java index 6b862b6..6efcdfd 100644 --- a/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java +++ b/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java @@ -91,10 +91,10 @@ public class InputHandlerThread extends Thread { game.setWindow(Window.ESC); } screenRenderer.render(game); - System.out.println("Exiting game..."); - isRunning[0] = false; - game.getGameStates().dependencies.gameSaver.save(game); - System.exit(0); + // System.out.println("Exiting game..."); + // isRunning[0] = false; + // game.getGameStates().dependencies.gameSaver.save(game); + // System.exit(0); } default -> { } diff --git a/src/main/java/cz/jzitnik/game/ui/Escape.java b/src/main/java/cz/jzitnik/game/ui/Escape.java index c4200d4..aed55c6 100644 --- a/src/main/java/cz/jzitnik/game/ui/Escape.java +++ b/src/main/java/cz/jzitnik/game/ui/Escape.java @@ -7,7 +7,7 @@ import cz.jzitnik.game.sprites.ui.Font; public class Escape { public static void render(StringBuilder buffer, Terminal terminal) { Font font = new Font(); - String character = font.getLine("Hello world"); + String character = font.getLine("Never gonna give you up never gonna let you down"); buffer.append(character); } diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index d756505..9bd3754 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -10,7 +10,7 @@ 30 - 500MB + 100MB diff --git a/src/main/resources/textures/ui/font.ans b/src/main/resources/textures/ui/font.ans index 3972c0f..1ef17c7 100644 --- a/src/main/resources/textures/ui/font.ans +++ b/src/main/resources/textures/ui/font.ans @@ -1,14 +1,14 @@ -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                        -                                                                                                                                                                                                                                                                                                                                                                        -                                                                                                                                                                                                                                                                                                                                                                        -                                                                                                                                                                                                                                                                                                                                                                        -                                                                                                                                                                                                                                                                                                                                                                        -                                                                                                                                                                                                                                                                                                                                                                        -                                                                                                                                                                                                                                                                                                                                                                        +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +                                                                                                                                                                                                                                                                                                                                                                                                                                              +