X-Git-Url: http://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FGameProc.java;h=e4d12b285c025e31233b09217875c32567f1a09e;hp=25658c165421870f9d3868e08f16f4bd96a2e847;hb=bea2a3c5b967bcd90ccd83e08e833d58449e963a;hpb=3fb849898964a43a51cc6483ac72f5e3abbd01f0 diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameProc.java b/core/src/ru/deadsoftware/cavecraft/game/GameProc.java index 25658c1..e4d12b2 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/GameProc.java +++ b/core/src/ru/deadsoftware/cavecraft/game/GameProc.java @@ -17,7 +17,7 @@ import ru.deadsoftware.cavecraft.misc.Assets; import java.io.Serializable; import java.util.ArrayList; -public class GameProc implements Serializable{ +public class GameProc implements Serializable { public static double RUN_TIME = 0; @@ -46,39 +46,39 @@ public class GameProc implements Serializable{ public GameProc() { world = new GameWorld(); - world.generate(1024,256); + world.generate(1024, 256); player = new Player(world.getSpawnPoint()); drops = new ArrayList(); mobs = new ArrayList(); - for (int i=0; i<16; i++) { - mobs.add(new Pig(i*256, 196*16)); + for (int i = 0; i < 16; i++) { + mobs.add(new Pig(i * 256, 196 * 16)); } physics = new GamePhysics(this); if (CaveGame.TOUCH) { - renderer = new GameRenderer(this,320, - 320*((float)GameScreen.getHeight()/GameScreen.getWidth())); + renderer = new GameRenderer(this, 320, + 320 * ((float) GameScreen.getHeight() / GameScreen.getWidth())); } else { ctrlMode = 1; - renderer = new GameRenderer(this,480, - 480*((float)GameScreen.getHeight()/GameScreen.getWidth())); + renderer = new GameRenderer(this, 480, + 480 * ((float) GameScreen.getHeight() / GameScreen.getWidth())); } - maxCreativeScroll = Items.ITEMS.size()/8; + maxCreativeScroll = Items.ITEMS.size() / 8; GameSaver.save(this); } public void resetRenderer() { if (CaveGame.TOUCH) { - renderer = new GameRenderer(this,320, - 320*((float)GameScreen.getHeight()/GameScreen.getWidth())); + renderer = new GameRenderer(this, 320, + 320 * ((float) GameScreen.getHeight() / GameScreen.getWidth())); } else { - renderer = new GameRenderer(this,480, - 480*((float)GameScreen.getHeight()/GameScreen.getWidth())); + renderer = new GameRenderer(this, 480, + 480 * ((float) GameScreen.getHeight() / GameScreen.getWidth())); } } private boolean isAutoselectable(int x, int y) { - return (world.getForeMap(x,y)>0 && - Items.BLOCKS.getValueAt(world.getForeMap(x,y)).collision); + return (world.getForeMap(x, y) > 0 && + Items.BLOCKS.getValueAt(world.getForeMap(x, y)).collision); } private void moveCursor() { @@ -86,7 +86,7 @@ public class GameProc implements Serializable{ if (ctrlMode == 0 && CaveGame.TOUCH) { cursorX = (int) (player.position.x + player.texWidth / 2) / 16; if (player.dir == 0) cursorX--; - else cursorX++; + else cursorX++; cursorY = (int) (player.position.y + player.texWidth) / 16; if (!isAutoselectable(cursorX, cursorY)) { cursorY++; @@ -98,249 +98,251 @@ public class GameProc implements Serializable{ if (player.dir == 0) cursorX++; else cursorX--; } - } else if (!CaveGame.TOUCH){ - cursorX = (int)(Gdx.input.getX()* - (renderer.camera.viewportWidth/GameScreen.getWidth())+renderer.camera.position.x)/16; - cursorY = (int)(Gdx.input.getY()* - (renderer.camera.viewportHeight/GameScreen.getHeight())+renderer.camera.position.y)/16; - if ((Gdx.input.getX()* - (renderer.camera.viewportWidth/GameScreen.getWidth())+renderer.camera.position.x)<0) + } else if (!CaveGame.TOUCH) { + cursorX = (int) (Gdx.input.getX() * + (renderer.camera.viewportWidth / GameScreen.getWidth()) + renderer.camera.position.x) / 16; + cursorY = (int) (Gdx.input.getY() * + (renderer.camera.viewportHeight / GameScreen.getHeight()) + renderer.camera.position.y) / 16; + if ((Gdx.input.getX() * + (renderer.camera.viewportWidth / GameScreen.getWidth()) + renderer.camera.position.x) < 0) cursorX--; } - if (pastX!=cursorX || pastY!=cursorY) blockDmg = 0; + if (pastX != cursorX || pastY != cursorY) blockDmg = 0; } private void checkCursorBounds() { if (cursorY < 0) cursorY = 0; - if (cursorY >= world.getHeight()) cursorY = world.getHeight()-1; - if (ctrlMode==1) { - if (cursorX*16+8player.position.x+player.texWidth/2) - player.dir=1; + if (cursorY >= world.getHeight()) cursorY = world.getHeight() - 1; + if (ctrlMode == 1) { + if (cursorX * 16 + 8 < player.position.x + player.texWidth / 2) + player.dir = 0; + if (cursorX * 16 + 8 > player.position.x + player.texWidth / 2) + player.dir = 1; } } private void updateFluids(int x, int y) { - if (Items.isWater(world.getForeMap(x, y)) && world.getForeMap(x, y)!=8) { - if (world.getForeMap(x, y)==60) { + if (Items.isWater(world.getForeMap(x, y)) && world.getForeMap(x, y) != 8) { + if (world.getForeMap(x, y) == 60) { if (!Items.isWater(world.getForeMap(x, y - 1))) world.setForeMap(x, y, world.getForeMap(x, y) + 1); - } else if ((!Items.isWater(world.getForeMap(x-1,y)) || - (Items.isWater(world.getForeMap(x,y)) && world.getForeMap(x-1, y)>=world.getForeMap(x, y))) && - (!Items.isWater(world.getForeMap(x+1,y)) || - (Items.isWater(world.getForeMap(x,y)) && world.getForeMap(x+1, y)>=world.getForeMap(x, y)))){ - world.setForeMap(x, y, world.getForeMap(x, y)+1); + } else if ((!Items.isWater(world.getForeMap(x - 1, y)) || + (Items.isWater(world.getForeMap(x, y)) && world.getForeMap(x - 1, y) >= world.getForeMap(x, y))) && + (!Items.isWater(world.getForeMap(x + 1, y)) || + (Items.isWater(world.getForeMap(x, y)) && world.getForeMap(x + 1, y) >= world.getForeMap(x, y)))) { + world.setForeMap(x, y, world.getForeMap(x, y) + 1); } - if (world.getForeMap(x, y)>63) world.setForeMap(x, y, 0); + if (world.getForeMap(x, y) > 63) world.setForeMap(x, y, 0); } if (world.getForeMap(x, y) == 8 || world.getForeMap(x, y) == 60) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=61 && world.getForeMap(x, y+1)<=63) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,60); - updateBlock(x, y+2); - } else if (Items.isLava(world.getForeMap(x, y+1))) { - if (world.getForeMap(x, y+1)>9) world.setForeMap(x, y+1, 4); - else world.setForeMap(x, y+1, 68); - } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - if (world.getForeMap(x+1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x+1, y)).collision && !Items.isFluid(world.getForeMap(x+1, y))) || - (Items.isWater(world.getForeMap(x+1, y)) && world.getForeMap(x+1, y)>61)) { - world.setForeMap(x+1,y,61); - updateBlock(x+1, y+1); - } else if (Items.isLava(world.getForeMap(x+1, y))) { - if (world.getForeMap(x+1, y)>9) world.setForeMap(x+1, y, 4); - else world.setForeMap(x+1, y, 68); - } else if (world.getForeMap(x+1, y)==61 && (world.getForeMap(x+2, y)==8 || world.getForeMap(x+2, y)==60)) world.setForeMap(x+1, y, 8); - - if (world.getForeMap(x-1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x-1, y)).collision && !Items.isFluid(world.getForeMap(x-1, y))) || - (Items.isWater(world.getForeMap(x-1, y)) && world.getForeMap(x-1, y)>61)) { - world.setForeMap(x-1,y,61); - updateBlock(x-1, y+1); - } else if (Items.isLava(world.getForeMap(x-1, y))) { - if (world.getForeMap(x-1, y)>9) world.setForeMap(x-1, y, 4); - else world.setForeMap(x-1, y, 68); - } else if (world.getForeMap(x-1, y)==61 && (world.getForeMap(x-2, y)==8 || world.getForeMap(x-2, y)==60)) world.setForeMap(x-1, y, 8); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 61 && world.getForeMap(x, y + 1) <= 63) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 60); + updateBlock(x, y + 2); + } else if (Items.isLava(world.getForeMap(x, y + 1))) { + if (world.getForeMap(x, y + 1) > 9) world.setForeMap(x, y + 1, 4); + else world.setForeMap(x, y + 1, 68); + } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + if (world.getForeMap(x + 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x + 1, y)).collision && !Items.isFluid(world.getForeMap(x + 1, y))) || + (Items.isWater(world.getForeMap(x + 1, y)) && world.getForeMap(x + 1, y) > 61)) { + world.setForeMap(x + 1, y, 61); + updateBlock(x + 1, y + 1); + } else if (Items.isLava(world.getForeMap(x + 1, y))) { + if (world.getForeMap(x + 1, y) > 9) world.setForeMap(x + 1, y, 4); + else world.setForeMap(x + 1, y, 68); + } else if (world.getForeMap(x + 1, y) == 61 && (world.getForeMap(x + 2, y) == 8 || world.getForeMap(x + 2, y) == 60)) + world.setForeMap(x + 1, y, 8); + + if (world.getForeMap(x - 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x - 1, y)).collision && !Items.isFluid(world.getForeMap(x - 1, y))) || + (Items.isWater(world.getForeMap(x - 1, y)) && world.getForeMap(x - 1, y) > 61)) { + world.setForeMap(x - 1, y, 61); + updateBlock(x - 1, y + 1); + } else if (Items.isLava(world.getForeMap(x - 1, y))) { + if (world.getForeMap(x - 1, y) > 9) world.setForeMap(x - 1, y, 4); + else world.setForeMap(x - 1, y, 68); + } else if (world.getForeMap(x - 1, y) == 61 && (world.getForeMap(x - 2, y) == 8 || world.getForeMap(x - 2, y) == 60)) + world.setForeMap(x - 1, y, 8); } return; } if (world.getForeMap(x, y) == 61) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=61 && world.getForeMap(x, y+1)<=63) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,60); - updateBlock(x, y+2); - } else if (Items.isLava(world.getForeMap(x, y+1))) { - if (world.getForeMap(x, y+1)>9) world.setForeMap(x, y+1, 4); - else world.setForeMap(x, y+1, 68); - } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - if (world.getForeMap(x+1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x+1, y)).collision && !Items.isFluid(world.getForeMap(x+1, y))) || - (Items.isWater(world.getForeMap(x+1, y)) && world.getForeMap(x+1, y)>62)){ - world.setForeMap(x+1,y,62); - updateBlock(x+1, y+1); - } else if (Items.isLava(world.getForeMap(x+1, y))) { - if (world.getForeMap(x+1, y)>9) world.setForeMap(x+1, y, 4); - else world.setForeMap(x+1, y, 68); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 61 && world.getForeMap(x, y + 1) <= 63) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 60); + updateBlock(x, y + 2); + } else if (Items.isLava(world.getForeMap(x, y + 1))) { + if (world.getForeMap(x, y + 1) > 9) world.setForeMap(x, y + 1, 4); + else world.setForeMap(x, y + 1, 68); + } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + if (world.getForeMap(x + 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x + 1, y)).collision && !Items.isFluid(world.getForeMap(x + 1, y))) || + (Items.isWater(world.getForeMap(x + 1, y)) && world.getForeMap(x + 1, y) > 62)) { + world.setForeMap(x + 1, y, 62); + updateBlock(x + 1, y + 1); + } else if (Items.isLava(world.getForeMap(x + 1, y))) { + if (world.getForeMap(x + 1, y) > 9) world.setForeMap(x + 1, y, 4); + else world.setForeMap(x + 1, y, 68); } - if (world.getForeMap(x-1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x-1, y)).collision && !Items.isFluid(world.getForeMap(x-1, y))) || - (Items.isWater(world.getForeMap(x-1, y)) && world.getForeMap(x-1, y)>62)){ - world.setForeMap(x-1,y,62); - updateBlock(x-1, y+1); - } else if (Items.isLava(world.getForeMap(x-1, y))) { - if (world.getForeMap(x-1, y)>9) world.setForeMap(x-1, y, 4); - else world.setForeMap(x-1, y, 68); + if (world.getForeMap(x - 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x - 1, y)).collision && !Items.isFluid(world.getForeMap(x - 1, y))) || + (Items.isWater(world.getForeMap(x - 1, y)) && world.getForeMap(x - 1, y) > 62)) { + world.setForeMap(x - 1, y, 62); + updateBlock(x - 1, y + 1); + } else if (Items.isLava(world.getForeMap(x - 1, y))) { + if (world.getForeMap(x - 1, y) > 9) world.setForeMap(x - 1, y, 4); + else world.setForeMap(x - 1, y, 68); } } return; } if (world.getForeMap(x, y) == 62) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=61 && world.getForeMap(x, y+1)<=63) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,60); - updateBlock(x, y+2); - } else if (Items.isLava(world.getForeMap(x, y+1))) { - if (world.getForeMap(x, y+1)>9) world.setForeMap(x, y+1, 4); - else world.setForeMap(x, y+1, 68); - } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - if (world.getForeMap(x+1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x+1, y)).collision && !Items.isFluid(world.getForeMap(x+1, y))) ){ - world.setForeMap(x+1,y,63); - updateBlock(x+1, y+1); - } else if (Items.isLava(world.getForeMap(x+1, y))) { - if (world.getForeMap(x+1, y)>9) world.setForeMap(x+1, y, 4); - else world.setForeMap(x+1, y, 68); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 61 && world.getForeMap(x, y + 1) <= 63) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 60); + updateBlock(x, y + 2); + } else if (Items.isLava(world.getForeMap(x, y + 1))) { + if (world.getForeMap(x, y + 1) > 9) world.setForeMap(x, y + 1, 4); + else world.setForeMap(x, y + 1, 68); + } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + if (world.getForeMap(x + 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x + 1, y)).collision && !Items.isFluid(world.getForeMap(x + 1, y)))) { + world.setForeMap(x + 1, y, 63); + updateBlock(x + 1, y + 1); + } else if (Items.isLava(world.getForeMap(x + 1, y))) { + if (world.getForeMap(x + 1, y) > 9) world.setForeMap(x + 1, y, 4); + else world.setForeMap(x + 1, y, 68); } - if (world.getForeMap(x-1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x-1, y)).collision && !Items.isFluid(world.getForeMap(x-1, y))) ){ - world.setForeMap(x-1,y,63); - updateBlock(x-1, y+1); - } else if (Items.isLava(world.getForeMap(x-1, y))) { - if (world.getForeMap(x-1, y)>9) world.setForeMap(x-1, y, 4); - else world.setForeMap(x-1, y, 68); + if (world.getForeMap(x - 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x - 1, y)).collision && !Items.isFluid(world.getForeMap(x - 1, y)))) { + world.setForeMap(x - 1, y, 63); + updateBlock(x - 1, y + 1); + } else if (Items.isLava(world.getForeMap(x - 1, y))) { + if (world.getForeMap(x - 1, y) > 9) world.setForeMap(x - 1, y, 4); + else world.setForeMap(x - 1, y, 68); } } return; } if (world.getForeMap(x, y) == 63) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=61 && world.getForeMap(x, y+1)<=63) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,60); - updateBlock(x, y+2); - } else if (Items.isLava(world.getForeMap(x, y+1))) { - if (world.getForeMap(x, y+1)>9) world.setForeMap(x, y+1, 4); - else world.setForeMap(x, y+1, 68); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 61 && world.getForeMap(x, y + 1) <= 63) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 60); + updateBlock(x, y + 2); + } else if (Items.isLava(world.getForeMap(x, y + 1))) { + if (world.getForeMap(x, y + 1) > 9) world.setForeMap(x, y + 1, 4); + else world.setForeMap(x, y + 1, 68); } return; } - if (Items.isLava(world.getForeMap(x, y)) && world.getForeMap(x, y)!=9) { - if (world.getForeMap(x, y)==64) { + if (Items.isLava(world.getForeMap(x, y)) && world.getForeMap(x, y) != 9) { + if (world.getForeMap(x, y) == 64) { if (!Items.isLava(world.getForeMap(x, y - 1))) world.setForeMap(x, y, world.getForeMap(x, y) + 1); - } else if ((!Items.isLava(world.getForeMap(x,y-1))) && - (!Items.isLava(world.getForeMap(x-1,y)) || - (Items.isLava(world.getForeMap(x,y)) && world.getForeMap(x-1, y)>=world.getForeMap(x, y))) && - (!Items.isLava(world.getForeMap(x+1,y)) || - (Items.isLava(world.getForeMap(x,y)) && world.getForeMap(x+1, y)>=world.getForeMap(x, y)))){ - world.setForeMap(x, y, world.getForeMap(x, y)+1); + } else if ((!Items.isLava(world.getForeMap(x, y - 1))) && + (!Items.isLava(world.getForeMap(x - 1, y)) || + (Items.isLava(world.getForeMap(x, y)) && world.getForeMap(x - 1, y) >= world.getForeMap(x, y))) && + (!Items.isLava(world.getForeMap(x + 1, y)) || + (Items.isLava(world.getForeMap(x, y)) && world.getForeMap(x + 1, y) >= world.getForeMap(x, y)))) { + world.setForeMap(x, y, world.getForeMap(x, y) + 1); } - if (world.getForeMap(x, y)>67) world.setForeMap(x, y, 0); + if (world.getForeMap(x, y) > 67) world.setForeMap(x, y, 0); } if (world.getForeMap(x, y) == 9 || world.getForeMap(x, y) == 64) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=65 && world.getForeMap(x, y+1)<=67) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,64); - updateBlock(x, y+2); - } else if (Items.isWater(world.getForeMap(x, y+1))) { - world.setForeMap(x, y+1, 1); - } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - if (world.getForeMap(x+1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x+1, y)).collision && !Items.isFluid(world.getForeMap(x+1, y))) || - (Items.isLava(world.getForeMap(x+1, y)) && world.getForeMap(x+1, y)>65)) { - world.setForeMap(x+1,y,65); - updateBlock(x+1, y+1); - } else if (Items.isWater(world.getForeMap(x+1, y))) { - world.setForeMap(x+1, y, 1); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 65 && world.getForeMap(x, y + 1) <= 67) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 64); + updateBlock(x, y + 2); + } else if (Items.isWater(world.getForeMap(x, y + 1))) { + world.setForeMap(x, y + 1, 1); + } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + if (world.getForeMap(x + 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x + 1, y)).collision && !Items.isFluid(world.getForeMap(x + 1, y))) || + (Items.isLava(world.getForeMap(x + 1, y)) && world.getForeMap(x + 1, y) > 65)) { + world.setForeMap(x + 1, y, 65); + updateBlock(x + 1, y + 1); + } else if (Items.isWater(world.getForeMap(x + 1, y))) { + world.setForeMap(x + 1, y, 1); } - if (world.getForeMap(x-1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x-1, y)).collision && !Items.isFluid(world.getForeMap(x-1, y))) || - (Items.isLava(world.getForeMap(x-1, y)) && world.getForeMap(x-1, y)>65)) { - world.setForeMap(x-1,y,65); - updateBlock(x-1, y+1); - } else if (Items.isWater(world.getForeMap(x-1, y))) { - world.setForeMap(x-1, y, 1); + if (world.getForeMap(x - 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x - 1, y)).collision && !Items.isFluid(world.getForeMap(x - 1, y))) || + (Items.isLava(world.getForeMap(x - 1, y)) && world.getForeMap(x - 1, y) > 65)) { + world.setForeMap(x - 1, y, 65); + updateBlock(x - 1, y + 1); + } else if (Items.isWater(world.getForeMap(x - 1, y))) { + world.setForeMap(x - 1, y, 1); } } return; } if (world.getForeMap(x, y) == 65) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=65 && world.getForeMap(x, y+1)<=67) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,64); - updateBlock(x, y+2); - } else if (Items.isWater(world.getForeMap(x, y+1))) { - world.setForeMap(x, y+1, 1); - } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - if (world.getForeMap(x+1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x+1, y)).collision && !Items.isFluid(world.getForeMap(x+1, y))) || - (Items.isLava(world.getForeMap(x+1, y)) && world.getForeMap(x+1, y)>66)){ - world.setForeMap(x+1,y,66); - updateBlock(x+1, y+1); - } else if (Items.isWater(world.getForeMap(x+1, y))) { - world.setForeMap(x+1, y, 1); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 65 && world.getForeMap(x, y + 1) <= 67) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 64); + updateBlock(x, y + 2); + } else if (Items.isWater(world.getForeMap(x, y + 1))) { + world.setForeMap(x, y + 1, 1); + } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + if (world.getForeMap(x + 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x + 1, y)).collision && !Items.isFluid(world.getForeMap(x + 1, y))) || + (Items.isLava(world.getForeMap(x + 1, y)) && world.getForeMap(x + 1, y) > 66)) { + world.setForeMap(x + 1, y, 66); + updateBlock(x + 1, y + 1); + } else if (Items.isWater(world.getForeMap(x + 1, y))) { + world.setForeMap(x + 1, y, 1); } - if (world.getForeMap(x-1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x-1, y)).collision && !Items.isFluid(world.getForeMap(x-1, y))) || - (Items.isLava(world.getForeMap(x-1, y)) && world.getForeMap(x-1, y)>66)){ - world.setForeMap(x-1,y,66); - updateBlock(x-1, y+1); - } else if (Items.isWater(world.getForeMap(x-1, y))) { - world.setForeMap(x-1, y, 1); + if (world.getForeMap(x - 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x - 1, y)).collision && !Items.isFluid(world.getForeMap(x - 1, y))) || + (Items.isLava(world.getForeMap(x - 1, y)) && world.getForeMap(x - 1, y) > 66)) { + world.setForeMap(x - 1, y, 66); + updateBlock(x - 1, y + 1); + } else if (Items.isWater(world.getForeMap(x - 1, y))) { + world.setForeMap(x - 1, y, 1); } } return; } if (world.getForeMap(x, y) == 66) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=65 && world.getForeMap(x, y+1)<=67) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,64); - updateBlock(x, y+2); - } else if (Items.isWater(world.getForeMap(x, y+1))) { - world.setForeMap(x, y+1, 1); - } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - if (world.getForeMap(x+1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x+1, y)).collision && !Items.isFluid(world.getForeMap(x+1, y))) ){ - world.setForeMap(x+1,y,67); - updateBlock(x+1, y+1); - } else if (Items.isWater(world.getForeMap(x+1, y))) { - world.setForeMap(x+1, y, 1); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 65 && world.getForeMap(x, y + 1) <= 67) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 64); + updateBlock(x, y + 2); + } else if (Items.isWater(world.getForeMap(x, y + 1))) { + world.setForeMap(x, y + 1, 1); + } else if (Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + if (world.getForeMap(x + 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x + 1, y)).collision && !Items.isFluid(world.getForeMap(x + 1, y)))) { + world.setForeMap(x + 1, y, 67); + updateBlock(x + 1, y + 1); + } else if (Items.isWater(world.getForeMap(x + 1, y))) { + world.setForeMap(x + 1, y, 1); } - if (world.getForeMap(x-1, y)==0 || - (!Items.BLOCKS.getValueAt(world.getForeMap(x-1, y)).collision && !Items.isFluid(world.getForeMap(x-1, y))) ){ - world.setForeMap(x-1,y,67); - updateBlock(x-1, y+1); - } else if (Items.isWater(world.getForeMap(x-1, y))) { - world.setForeMap(x-1, y, 1); + if (world.getForeMap(x - 1, y) == 0 || + (!Items.BLOCKS.getValueAt(world.getForeMap(x - 1, y)).collision && !Items.isFluid(world.getForeMap(x - 1, y)))) { + world.setForeMap(x - 1, y, 67); + updateBlock(x - 1, y + 1); + } else if (Items.isWater(world.getForeMap(x - 1, y))) { + world.setForeMap(x - 1, y, 1); } } return; } if (world.getForeMap(x, y) == 67) { - if (world.getForeMap(x, y+1)==0 || (world.getForeMap(x, y+1)>=65 && world.getForeMap(x, y+1)<=67) || - (!Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision && !Items.isFluid(world.getForeMap(x, y+1)))) { - world.setForeMap(x,y+1,64); - updateBlock(x, y+2); - } else if (Items.isWater(world.getForeMap(x, y+1))) { - world.setForeMap(x, y+1, 1); + if (world.getForeMap(x, y + 1) == 0 || (world.getForeMap(x, y + 1) >= 65 && world.getForeMap(x, y + 1) <= 67) || + (!Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision && !Items.isFluid(world.getForeMap(x, y + 1)))) { + world.setForeMap(x, y + 1, 64); + updateBlock(x, y + 2); + } else if (Items.isWater(world.getForeMap(x, y + 1))) { + world.setForeMap(x, y + 1, 1); } return; } @@ -348,40 +350,40 @@ public class GameProc implements Serializable{ private void updateBlock(int x, int y) { if (world.getForeMap(x, y) == 10) { - if (world.getForeMap(x, y+1)==0 || !Items.BLOCKS.getValueAt(world.getForeMap(x,y+1)).collision) { + if (world.getForeMap(x, y + 1) == 0 || !Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { world.setForeMap(x, y, 0); - mobs.add(new FallingSand(x*16, y*16)); - updateBlock(x, y-1); + mobs.add(new FallingSand(x * 16, y * 16)); + updateBlock(x, y - 1); } } if (world.getForeMap(x, y) == 11) { - if (world.getForeMap(x, y+1)==0 || !Items.BLOCKS.getValueAt(world.getForeMap(x,y+1)).collision) { + if (world.getForeMap(x, y + 1) == 0 || !Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { world.setForeMap(x, y, 0); - mobs.add(new FallingGravel(x*16, y*16)); - updateBlock(x, y-1); + mobs.add(new FallingGravel(x * 16, y * 16)); + updateBlock(x, y - 1); } } if (world.getForeMap(x, y) == 59) { - if (world.getForeMap(x, y+1)==0 || !Items.BLOCKS.getValueAt(world.getForeMap(x, y+1)).collision) { - world.setForeMap(x,y,0); - updateBlock(x, y-1); + if (world.getForeMap(x, y + 1) == 0 || !Items.BLOCKS.getValueAt(world.getForeMap(x, y + 1)).collision) { + world.setForeMap(x, y, 0); + updateBlock(x, y - 1); } } if (world.getForeMap(x, y) == 2) { - if (world.getForeMap(x, y-1)>0 && (Items.BLOCKS.getValueAt(world.getForeMap(x, y-1)).collision || - Items.isFluid(world.getForeMap(x, y-1)))) { + if (world.getForeMap(x, y - 1) > 0 && (Items.BLOCKS.getValueAt(world.getForeMap(x, y - 1)).collision || + Items.isFluid(world.getForeMap(x, y - 1)))) { world.setForeMap(x, y, 3); } } } public void useItem(int x, int y, int id, boolean bg) { - if (id>0 && Items.ITEMS.get(id).getType()==0) { + if (id > 0 && Items.ITEMS.get(id).getType() == 0) { if (!bg) world.placeToForeground(x, y, Items.ITEMS.get(id).getBlock()); - else world.placeToBackground(x, y, Items.ITEMS.get(id).getBlock()); + else world.placeToBackground(x, y, Items.ITEMS.get(id).getBlock()); } } @@ -389,15 +391,15 @@ public class GameProc implements Serializable{ RUN_TIME += delta; if (DO_UPD) { - for (int y=UPD_Y; y 0 && - Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getHp()>=0){// || world.getBackMap(cursorX, cursorY) > 0) { + Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getHp() >= 0) {// || world.getBackMap(cursorX, cursorY) > 0) { blockDmg++; - if (blockDmg>=Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getHp()) { - if (Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getDrop()>0) - drops.add(new Drop(cursorX*16+4, cursorY*16+4, Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getDrop())); + if (blockDmg >= Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getHp()) { + if (Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getDrop() > 0) + drops.add(new Drop(cursorX * 16 + 4, cursorY * 16 + 4, Items.BLOCKS.getValueAt(world.getForeMap(cursorX, cursorY)).getDrop())); world.placeToForeground(cursorX, cursorY, 0); - blockDmg=0; + blockDmg = 0; } } } if (isTouchDown && TimeUtils.timeSinceMillis(touchDownTime) > 500) { - if (touchDownButton== Input.Buttons.RIGHT) { + if (touchDownButton == Input.Buttons.RIGHT) { useItem(cursorX, cursorY, player.inventory[invSlot], true); isTouchDown = false; - } else if (touchDownY< Assets.invBar.getRegionHeight() && - touchDownX>renderer.camera.viewportWidth/2-Assets.invBar.getRegionWidth()/2 && - touchDownX renderer.camera.viewportWidth / 2 - Assets.invBar.getRegionWidth() / 2 && + touchDownX < renderer.camera.viewportWidth / 2 + Assets.invBar.getRegionWidth() / 2) { CaveGame.STATE = AppState.GAME_CREATIVE_INV; isTouchDown = false; }