diff --git a/build/classes/java/main/dev/navo/game/Client/Client$1.class b/build/classes/java/main/dev/navo/game/Client/Client$1.class index b4d64c0..c9794e1 100644 Binary files a/build/classes/java/main/dev/navo/game/Client/Client$1.class and b/build/classes/java/main/dev/navo/game/Client/Client$1.class differ diff --git a/build/classes/java/main/dev/navo/game/Client/Client.class b/build/classes/java/main/dev/navo/game/Client/Client.class index 9ccef67..9c97ed0 100644 Binary files a/build/classes/java/main/dev/navo/game/Client/Client.class and b/build/classes/java/main/dev/navo/game/Client/Client.class differ diff --git a/build/classes/java/main/dev/navo/game/Client/ClientHandler.class b/build/classes/java/main/dev/navo/game/Client/ClientHandler.class index 55ec252..cd2c048 100644 Binary files a/build/classes/java/main/dev/navo/game/Client/ClientHandler.class and b/build/classes/java/main/dev/navo/game/Client/ClientHandler.class differ diff --git a/build/classes/java/main/dev/navo/game/Client/Room.class b/build/classes/java/main/dev/navo/game/Client/Room.class index 6c4e8b0..3c4dc63 100644 Binary files a/build/classes/java/main/dev/navo/game/Client/Room.class and b/build/classes/java/main/dev/navo/game/Client/Room.class differ diff --git a/build/classes/java/main/dev/navo/game/Screen/PlayScreen.class b/build/classes/java/main/dev/navo/game/Screen/PlayScreen.class index a7b258c..db11e98 100644 Binary files a/build/classes/java/main/dev/navo/game/Screen/PlayScreen.class and b/build/classes/java/main/dev/navo/game/Screen/PlayScreen.class differ diff --git a/build/classes/java/main/dev/navo/game/Screen/WaitScreen$1.class b/build/classes/java/main/dev/navo/game/Screen/WaitScreen$1.class index 1370112..945b176 100644 Binary files a/build/classes/java/main/dev/navo/game/Screen/WaitScreen$1.class and b/build/classes/java/main/dev/navo/game/Screen/WaitScreen$1.class differ diff --git a/build/classes/java/main/dev/navo/game/Screen/WaitScreen$2.class b/build/classes/java/main/dev/navo/game/Screen/WaitScreen$2.class index 02922d7..518a47f 100644 Binary files a/build/classes/java/main/dev/navo/game/Screen/WaitScreen$2.class and b/build/classes/java/main/dev/navo/game/Screen/WaitScreen$2.class differ diff --git a/build/classes/java/main/dev/navo/game/Screen/WaitScreen.class b/build/classes/java/main/dev/navo/game/Screen/WaitScreen.class index 3a72c54..c2844ee 100644 Binary files a/build/classes/java/main/dev/navo/game/Screen/WaitScreen.class and b/build/classes/java/main/dev/navo/game/Screen/WaitScreen.class differ diff --git a/build/classes/java/main/dev/navo/game/Sprites/Bullet.class b/build/classes/java/main/dev/navo/game/Sprites/Bullet.class index 4a5a544..5c67468 100644 Binary files a/build/classes/java/main/dev/navo/game/Sprites/Bullet.class and b/build/classes/java/main/dev/navo/game/Sprites/Bullet.class differ diff --git a/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D$1.class b/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D$1.class index 2072621..7bd9900 100644 Binary files a/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D$1.class and b/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D$1.class differ diff --git a/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D.class b/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D.class index 0709b3e..634f370 100644 Binary files a/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D.class and b/build/classes/java/main/dev/navo/game/Sprites/Character/Crewmate2D.class differ diff --git a/build/classes/java/main/dev/navo/game/Sprites/Character/CrewmateMulti.class b/build/classes/java/main/dev/navo/game/Sprites/Character/CrewmateMulti.class index b1e931c..09087a5 100644 Binary files a/build/classes/java/main/dev/navo/game/Sprites/Character/CrewmateMulti.class and b/build/classes/java/main/dev/navo/game/Sprites/Character/CrewmateMulti.class differ diff --git a/build/libs/core-1.0.jar b/build/libs/core-1.0.jar index 5603e01..4f45a48 100644 Binary files a/build/libs/core-1.0.jar and b/build/libs/core-1.0.jar differ diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt index 2cfcb14..c7c6dfb 100644 --- a/build/tmp/compileJava/source-classes-mapping.txt +++ b/build/tmp/compileJava/source-classes-mapping.txt @@ -3,48 +3,57 @@ dev/navo/game/Tools/FontGenerator.java dev/navo/game/Scenes/Result.java dev.navo.game.Scenes.Result dev.navo.game.Scenes.Result$1 -dev/navo/game/Sprites/Items/SpeedItem.java - dev.navo.game.Sprites.Items.SpeedItem +dev/navo/game/Buffer/EventBuffer.java + dev.navo.game.Buffer.EventBuffer dev/navo/game/Buffer/Buffer.java dev.navo.game.Buffer.Buffer dev/navo/game/Buffer/LoginBuffer.java dev.navo.game.Buffer.LoginBuffer -dev/navo/game/Sprites/Items/TrapItem.java - dev.navo.game.Sprites.Items.TrapItem -dev/navo/game/Client/ClientHandler.java - dev.navo.game.Client.ClientHandler -dev/navo/game/Sprites/Items/ItemSample.java - dev.navo.game.Sprites.Items.ItemSample -dev/navo/game/Sprites/Weapon.java - dev.navo.game.Sprites.Weapon dev/navo/game/Tools/Sounds.java dev.navo.game.Tools.Sounds -dev/navo/game/Sprites/InteractiveTileObject.java - dev.navo.game.Sprites.InteractiveTileObject dev/navo/game/Tools/B2WorldCreator.java dev.navo.game.Tools.B2WorldCreator -dev/navo/game/Sprites/Items/HpItem.java - dev.navo.game.Sprites.Items.HpItem +dev/navo/game/Sprites/Character/Crewmate2D.java + dev.navo.game.Sprites.Character.Crewmate2D + dev.navo.game.Sprites.Character.Crewmate2D$1 + dev.navo.game.Sprites.Character.Crewmate2D$State +dev/navo/game/Sprites/Weapon.java + dev.navo.game.Sprites.Weapon +dev/navo/game/Sprites/Bullet.java + dev.navo.game.Sprites.Bullet +dev/navo/game/Sprites/InteractiveTileObject.java + dev.navo.game.Sprites.InteractiveTileObject +dev/navo/game/Tools/Images.java + dev.navo.game.Tools.Images +dev/navo/game/Buffer/InGameBuffer.java + dev.navo.game.Buffer.InGameBuffer dev/navo/game/Client/ClientInitializer.java dev.navo.game.Client.ClientInitializer dev/navo/game/Sprites/Character/CrewmateMulti.java dev.navo.game.Sprites.Character.CrewmateMulti dev/navo/game/NavoGame.java dev.navo.game.NavoGame -dev/navo/game/Scenes/Hud.java - dev.navo.game.Scenes.Hud -dev/navo/game/Tools/Images.java - dev.navo.game.Tools.Images -dev/navo/game/Buffer/EventBuffer.java - dev.navo.game.Buffer.EventBuffer dev/navo/game/Tools/JsonParser.java dev.navo.game.Tools.JsonParser -dev/navo/game/Buffer/InGameBuffer.java - dev.navo.game.Buffer.InGameBuffer +dev/navo/game/Tools/Util.java + dev.navo.game.Tools.Util +dev/navo/game/Scenes/Hud.java + dev.navo.game.Scenes.Hud +dev/navo/game/Sprites/Items/SpeedItem.java + dev.navo.game.Sprites.Items.SpeedItem dev/navo/game/Sprites/Character/Cat.java dev.navo.game.Sprites.Character.Cat dev.navo.game.Sprites.Character.Cat$1 dev.navo.game.Sprites.Character.Cat$State +dev/navo/game/Sprites/Items/HpItem.java + dev.navo.game.Sprites.Items.HpItem +dev/navo/game/Sprites/Items/ItemSample.java + dev.navo.game.Sprites.Items.ItemSample +dev/navo/game/Sprites/Items/TrapItem.java + dev.navo.game.Sprites.Items.TrapItem +dev/navo/game/Client/ClientSocket.java + dev.navo.game.Client.ClientSocket + dev.navo.game.Client.ClientSocket$1 dev/navo/game/Screen/LoginScreen.java dev.navo.game.Screen.LoginScreen dev.navo.game.Screen.LoginScreen$1 @@ -52,11 +61,6 @@ dev/navo/game/Screen/LoginScreen.java dev.navo.game.Screen.LoginScreen$3 dev/navo/game/Client/Room.java dev.navo.game.Client.Room -dev/navo/game/Client/ClientSocket.java - dev.navo.game.Client.ClientSocket - dev.navo.game.Client.ClientSocket$1 -dev/navo/game/Tools/Util.java - dev.navo.game.Tools.Util dev/navo/game/Screen/IdPwFindScreen.java dev.navo.game.Screen.IdPwFindScreen dev.navo.game.Screen.IdPwFindScreen$1 @@ -65,16 +69,12 @@ dev/navo/game/Screen/IdPwFindScreen.java dev/navo/game/Client/Client.java dev.navo.game.Client.Client dev.navo.game.Client.Client$1 -dev/navo/game/Sprites/Bullet.java - dev.navo.game.Sprites.Bullet dev/navo/game/Screen/SignUpScreen.java dev.navo.game.Screen.SignUpScreen dev.navo.game.Screen.SignUpScreen$1 dev.navo.game.Screen.SignUpScreen$2 -dev/navo/game/Sprites/Character/Crewmate2D.java - dev.navo.game.Sprites.Character.Crewmate2D - dev.navo.game.Sprites.Character.Crewmate2D$1 - dev.navo.game.Sprites.Character.Crewmate2D$State +dev/navo/game/Client/ClientHandler.java + dev.navo.game.Client.ClientHandler dev/navo/game/Screen/WaitScreen.java dev.navo.game.Screen.WaitScreen dev.navo.game.Screen.WaitScreen$1 diff --git a/src/dev/navo/game/Client/Client.java b/src/dev/navo/game/Client/Client.java index 082fa9d..6e834e2 100644 --- a/src/dev/navo/game/Client/Client.java +++ b/src/dev/navo/game/Client/Client.java @@ -212,7 +212,21 @@ public void changeColor(JSONObject json) { System.out.println("Client 204: " + parentJson); channel.writeAndFlush(parentJson.toJSONString() + "\r\n"); } - + public void shoot(float x, float y, Crewmate2D.State state) { + JSONObject parentJson = new JSONObject(); + JSONObject childJson=new JSONObject(); + childJson.put("owner",Room.getRoom().getMyCrewmate().owner); + childJson.put("x",x); + childJson.put("y",y); + System.out.println("asdfasdf:"+state.toString()); + childJson.put("state",state.toString()); + parentJson.put("Header","Event"); + parentJson.put("Function","3"); + parentJson.put("roomCode",Room.getRoom().getRoomCode()); + parentJson.put("Body",childJson); + channel.writeAndFlush(parentJson.toJSONString() + "\r\n"); + System.out.println(parentJson); + } //업데이트 보내기 public void updateSender(final Crewmate2D user, final Room room) { System.out.println("updateSender set"); @@ -233,7 +247,7 @@ public void run() { System.out.println("send : "+parentJson.toJSONString()); channel.writeAndFlush(parentJson.toJSONString() + "\r\n"); try { - Thread.sleep(100); + Thread.sleep(75); } catch (InterruptedException e) { inGameThread = false; e.toString(); diff --git a/src/dev/navo/game/Client/ClientHandler.java b/src/dev/navo/game/Client/ClientHandler.java index b1cba97..9771f09 100644 --- a/src/dev/navo/game/Client/ClientHandler.java +++ b/src/dev/navo/game/Client/ClientHandler.java @@ -54,6 +54,9 @@ private void eventHandler(JSONObject json) { case "2": // 색 변경 Room.getRoom().changeUserColor((JSONObject)json.get("Body")); break; + case "3": + Room.getRoom().makeBullet((JSONObject)json.get("Body")); + break; case "4": Room.getRoom().deleteUser(json.get("Body").toString()); break; diff --git a/src/dev/navo/game/Client/Room.java b/src/dev/navo/game/Client/Room.java index 3f8b0f1..efcac5d 100644 --- a/src/dev/navo/game/Client/Room.java +++ b/src/dev/navo/game/Client/Room.java @@ -1,6 +1,8 @@ package dev.navo.game.Client; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.math.Vector2; +import dev.navo.game.Screen.PlayScreen; import dev.navo.game.Screen.WaitScreen; import dev.navo.game.Sprites.Bullet; import dev.navo.game.Sprites.Character.Crewmate2D; @@ -53,7 +55,33 @@ public static void setMyCrewmate(Crewmate2D crewmate) { myCrewmate = crewmate; Client.getInstance().enter(crewmate.getCrewmateEnterJson()); } + public void makeBullet(JSONObject json) { + if(!myCrewmate.owner.equals(json.get("owner").toString())) { + switch (json.get("state").toString()) { + case "UP": + bullets.add(new Bullet(PlayScreen.world, new Vector2(Float.parseFloat(json.get("x").toString()) + ,Float.parseFloat(json.get("y").toString())) + ,Crewmate2D.State.UP)); + break; + case "DOWN": + bullets.add(new Bullet(PlayScreen.world, new Vector2(Float.parseFloat(json.get("x").toString()) + ,Float.parseFloat(json.get("y").toString())) + ,Crewmate2D.State.DOWN)); + break; + case "RIGHT": + bullets.add(new Bullet(PlayScreen.world, new Vector2(Float.parseFloat(json.get("x").toString()) + ,Float.parseFloat(json.get("y").toString())) + ,Crewmate2D.State.RIGHT)); + break; + case "LEFT": + bullets.add(new Bullet(PlayScreen.world, new Vector2(Float.parseFloat(json.get("x").toString()) + ,Float.parseFloat(json.get("y").toString())) + ,Crewmate2D.State.LEFT)); + break; + } + } + } public void drawCrewmates(SpriteBatch batch, String user) { for(CrewmateMulti crewmate : crewmates) { if(!user.equals(crewmate.owner)) { diff --git a/src/dev/navo/game/Screen/PlayScreen.java b/src/dev/navo/game/Screen/PlayScreen.java index 3a26594..9e5f8f5 100644 --- a/src/dev/navo/game/Screen/PlayScreen.java +++ b/src/dev/navo/game/Screen/PlayScreen.java @@ -17,6 +17,7 @@ import com.badlogic.gdx.physics.box2d.*; import com.badlogic.gdx.utils.viewport.FitViewport; import com.badlogic.gdx.utils.viewport.Viewport; +import dev.navo.game.Client.Client; import dev.navo.game.Client.Room; import dev.navo.game.NavoGame; import dev.navo.game.Scenes.Hud; @@ -46,7 +47,7 @@ public class PlayScreen implements Screen { private TiledMap map; private OrthogonalTiledMapRenderer renderer; - private World world; + public static World world; private Box2DDebugRenderer b2dr; private Crewmate2D myCrewmate; @@ -136,7 +137,8 @@ public void handleInput ( float dt){ Util.moveInputHandle(myCrewmate, maxSpeed, moveSpeed); if (Gdx.input.isKeyJustPressed(Input.Keys.X) && myCrewmate.getAttackDelay() <= 0) { - myBullets.add(new Bullet(world, this, new Vector2(myCrewmate.getX(), myCrewmate.getY()), myCrewmate.currentState)); // 총알 생성 + myBullets.add(new Bullet(world, new Vector2(myCrewmate.getX(), myCrewmate.getY()), myCrewmate.currentState)); // 총알 생성 + Client.getInstance().shoot(myCrewmate.getX(),myCrewmate.getY(),myCrewmate.currentState); myCrewmate.setAttackDelay(0.3f);//공격 딜레이 설정 // To DO : Client.getInstance().shoot(); 쏘는 방향, x, y, type } @@ -186,16 +188,17 @@ public void update (float dt){ break; } } - }for(int i = 0; i < otherBullets.size() ; i++){ - bullet = otherBullets.get(i); - for (Rectangle block : blocks) { - if (bullet.getX() >= block.getX() - bullet.getWidth() && bullet.getX() <= block.getX() + block.getWidth()) - if (bullet.getY() >= block.getY() - bullet.getHeight() && bullet.getY() <= block.getY() + block.getHeight()) { - myBullets.remove(i--); - break; - } - } } +// for(int i = 0; i < otherBullets.size() ; i++){ +// bullet = otherBullets.get(i); +// for (Rectangle block : blocks) { +// if (bullet.getX() >= block.getX() - bullet.getWidth() && bullet.getX() <= block.getX() + block.getWidth()&&!myBullets.isEmpty()) +// if (bullet.getY() >= block.getY() - bullet.getHeight() && bullet.getY() <= block.getY() + block.getHeight()) { +// myBullets.remove(i--); +// break; +// } +// } +// } // Crewmate2D crewmate; //// for (int i = 0; i < bullets.size(); i++) { diff --git a/src/dev/navo/game/Sprites/Bullet.java b/src/dev/navo/game/Sprites/Bullet.java index 2794f0b..d5bbe57 100644 --- a/src/dev/navo/game/Sprites/Bullet.java +++ b/src/dev/navo/game/Sprites/Bullet.java @@ -20,7 +20,7 @@ public class Bullet extends Sprite { private final static float SPEED = 250f; // 이동 속도 private final static int RANGE = 150; // 총알 사거리 - public Bullet(World world, PlayScreen screen, Vector2 v, Crewmate2D.State crewmateState){ + public Bullet(World world, Vector2 v, Crewmate2D.State crewmateState){ // super(screen.getAtlas().findRegion("Bullet")); super(Images.mainAtlas.findRegion("Bullet")); isCollision = false;