Jump to content

gabefgonc

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About gabefgonc

  1. gabefgonc

    Nao consigo criar jar na IntelliJ idea

    Olá, quando tento fazer um jar com os códigos a seguir, e abro o executável, ele lança a seguinte exceção: java.io.FileNotFoundException: res/world/world1.txt (Arquivo ou diretório inexistente) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:219) at java.base/java.io.FileInputStream.(FileInputStream.java:157) at java.base/java.io.FileInputStream.(FileInputStream.java:112) at java.base/java.io.FileReader.(FileReader.java:60) at br.gabefgonc.javaxswingtests.utils.Utils.loadFileAsString(Utils.java:13) at br.gabefgonc.javaxswingtests.worlds.World.loadWorld(World.java:68) at br.gabefgonc.javaxswingtests.worlds.World.(World.java:25) at br.gabefgonc.javaxswingtests.main.states.GameState.(GameState.java:20) at br.gabefgonc.javaxswingtests.main.Game.init(Game.java:95) at br.gabefgonc.javaxswingtests.main.Game.run(Game.java:45) at java.base/java.lang.Thread.run(Thread.java:834) java.lang.NumberFormatException: For input string: “” at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.base/java.lang.Integer.parseInt(Integer.java:662) at java.base/java.lang.Integer.parseInt(Integer.java:770) at br.gabefgonc.javaxswingtests.utils.Utils.parseInt(Utils.java:26) at br.gabefgonc.javaxswingtests.worlds.World.loadWorld(World.java:71) at br.gabefgonc.javaxswingtests.worlds.World.(World.java:25) at br.gabefgonc.javaxswingtests.main.states.GameState.(GameState.java:20) at br.gabefgonc.javaxswingtests.main.Game.init(Game.java:95) at br.gabefgonc.javaxswingtests.main.Game.run(Game.java:45) at java.base/java.lang.Thread.run(Thread.java:834) Exception in thread “Thread-0” java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at br.gabefgonc.javaxswingtests.worlds.World.loadWorld(World.java:72) at br.gabefgonc.javaxswingtests.worlds.World.(World.java:25) at br.gabefgonc.javaxswingtests.main.states.GameState.(GameState.java:20) at br.gabefgonc.javaxswingtests.main.Game.init(Game.java:95) at br.gabefgonc.javaxswingtests.main.Game.run(Game.java:45) at java.base/java.lang.Thread.run(Thread.java:834) códigos: World.java: package br.gabefgonc.javaxswingtests.worlds; import br.gabefgonc.javaxswingtests.entities.EntityManager; import br.gabefgonc.javaxswingtests.entities.Player; import br.gabefgonc.javaxswingtests.entities.Tree; import br.gabefgonc.javaxswingtests.inventory.Inventory; import br.gabefgonc.javaxswingtests.items.Item; import br.gabefgonc.javaxswingtests.items.ItemManager; import br.gabefgonc.javaxswingtests.main.Game; import br.gabefgonc.javaxswingtests.main.Handler; import br.gabefgonc.javaxswingtests.main.tiles.Tile; import br.gabefgonc.javaxswingtests.utils.Utils; import java.awt.*; public class World { private int width, height, spawnX,spawnY; private int[][] tiles; private Handler handler; private EntityManager entityManager; private ItemManager itemManager; public World(Handler handler, String path){ this.handler = handler; entityManager = new EntityManager(handler, new Player(handler, 0, 0)); loadWorld(path); entityManager.getPlayer().setX(spawnX); entityManager.getPlayer().setY(spawnY); itemManager = new ItemManager(this.handler); } public void tick(){ entityManager.tick(); itemManager.tick(); } public void render(Graphics g){ int xStart = (int) Math.max(0, handler.getCamera().getxOffset() / Tile.TILE_WIDTH); int xEnd = (int) Math.min(width, (handler.getCamera().getxOffset() + handler.getWidth()) / Tile.TILE_WIDTH + 1); int yStart = (int) Math.max(0, handler.getCamera().getyOffset() / Tile.TILE_HEIGHT); int yEnd = (int) Math.min(height, (handler.getCamera().getyOffset() + handler.getHeight()) / Tile.TILE_HEIGHT + 1); for(int y = yStart; y < yEnd; y++){ for(int x = xStart; x < xEnd; x++){ getTile(x, y).render(g, (int) (x * Tile.TILE_WIDTH - handler.getCamera().getxOffset()), (int) (y * Tile.TILE_HEIGHT - handler.getCamera().getyOffset())); } } itemManager.render(g); entityManager.render(g); } public Tile getTile(int x, int y){ Tile t; if(x < width && y < height) t = Tile.tiles[tiles[x][y]]; else t = null; if(t == null){ return Tile.grassTile; } return t; } private void loadWorld(String path){ String file = Utils.loadFileAsString(path); String[] tokens = file.split("\\s+"); System.out.println(tokens[0]); width = Utils.parseInt(tokens[0]); height = Utils.parseInt(tokens[1]); spawnX = Utils.parseInt(tokens[2]); spawnY = Utils.parseInt(tokens[3]); tiles = new int[width][height]; for(int y = 0; y < height; y++){ for(int x = 0; x < width; x++){ tiles[x][y] = Utils.parseInt(tokens[(x + y * width) + 4]); if(Utils.parseInt(tokens[(x + y * width) + 4]) == 5){ entityManager.addEntity(new Tree(handler, x * Tile.TILE_WIDTH, y * Tile.TILE_HEIGHT)); } } } } public int getWidth() { return width; } public int getHeight() { return height; } public EntityManager getEntityManager(){ return entityManager; } public Handler getHandler() { return handler; } public void setHandler(Handler handler) { this.handler = handler; } public ItemManager getItemManager() { return itemManager; } public void setItemManager(ItemManager itemManager) { this.itemManager = itemManager; } } Utils.java: package br.gabefgonc.javaxswingtests.utils; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Utils { public static String loadFileAsString(String path){ StringBuilder builder = new StringBuilder(); ClassLoader classLoader = ClassLoader.getSystemClassLoader(); try { BufferedReader br = new BufferedReader(new FileReader(path)); String line; while((line = br.readLine()) != null){ builder.append(line + "\n"); } }catch(IOException e){ e.printStackTrace(); } return builder.toString(); } public static int parseInt(String number){ try{ return Integer.parseInt(number); }catch(NumberFormatException e){ e.printStackTrace(); return 0; } } } GameState.java: package br.gabefgonc.javaxswingtests.main.states; import br.gabefgonc.javaxswingtests.entities.EntityManager; import br.gabefgonc.javaxswingtests.entities.Player; import br.gabefgonc.javaxswingtests.entities.Tree; import br.gabefgonc.javaxswingtests.gfx.ImageLoader; import br.gabefgonc.javaxswingtests.gfx.SpriteSheet; import br.gabefgonc.javaxswingtests.main.Game; import br.gabefgonc.javaxswingtests.main.Handler; import br.gabefgonc.javaxswingtests.main.tiles.Tile; import br.gabefgonc.javaxswingtests.worlds.World; import java.awt.*; public class GameState extends State { private World world; public GameState(Handler handler){ super(handler); world = new World(handler, "res/world/world1.txt"); handler.setWorld(world); } public void tick() { world.tick(); } public void render(Graphics g) { world.render(g); } } classPath: /home/gabriel/Programacao/Games/JavaxSwingTests/res Obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.