From e95bb798f477c10116bd92be48f4cb9bdf25d245 Mon Sep 17 00:00:00 2001 From: Nilstrieb Date: Tue, 15 Dec 2020 15:00:59 +0100 Subject: [PATCH] fixed Turret and DebugPos --- src/main/java/core/math/Vector2D.java | 2 +- src/main/java/core/objects/base/DebugPos.java | 1 + .../java/core/objects/core/GameObject.java | 9 +++++++-- src/main/java/objects/ships/Turret.java | 9 ++++----- target/classes/BasicEx$1.class | Bin 660 -> 0 bytes target/classes/BasicEx.class | Bin 2155 -> 0 bytes target/classes/core/Master.class | Bin 6573 -> 6608 bytes target/classes/objects/DebugPos.class | Bin 876 -> 0 bytes target/classes/objects/ships/BattleShip.class | Bin 2304 -> 2309 bytes target/classes/objects/ships/Shell.class | Bin 991 -> 996 bytes target/classes/objects/ships/Turret.class | Bin 4048 -> 3906 bytes target/classes/objects/world/Grid.class | Bin 1155 -> 1160 bytes 12 files changed, 13 insertions(+), 8 deletions(-) delete mode 100644 target/classes/BasicEx$1.class delete mode 100644 target/classes/BasicEx.class delete mode 100644 target/classes/objects/DebugPos.class diff --git a/src/main/java/core/math/Vector2D.java b/src/main/java/core/math/Vector2D.java index fa8050c..a2faefb 100644 --- a/src/main/java/core/math/Vector2D.java +++ b/src/main/java/core/math/Vector2D.java @@ -4,7 +4,7 @@ package core.math; import java.awt.*; /** - * A 2-dimensional Vector that can be used to store position or velocity + * A 2-dimensional Vector that can be used to store position or velocity or size or whatever */ public class Vector2D { diff --git a/src/main/java/core/objects/base/DebugPos.java b/src/main/java/core/objects/base/DebugPos.java index 3299c63..d13c840 100644 --- a/src/main/java/core/objects/base/DebugPos.java +++ b/src/main/java/core/objects/base/DebugPos.java @@ -1,5 +1,6 @@ package core.objects.base; +import core.math.Coords; import core.math.Vector2D; import core.objects.core.GameObject; diff --git a/src/main/java/core/objects/core/GameObject.java b/src/main/java/core/objects/core/GameObject.java index 3ebe307..5bb79a4 100644 --- a/src/main/java/core/objects/core/GameObject.java +++ b/src/main/java/core/objects/core/GameObject.java @@ -9,7 +9,7 @@ import java.awt.*; /** * The GameObject class is the superclass of every GameObject that can be displayed on screen. It has the 2 - * {@link #update()} and {@link #draw(Graphics2D)} methods that have to be + * {@link #update()} and {@link #draw(Graphics2D)} methods that have to be overridden */ public abstract class GameObject implements Drawable { @@ -99,7 +99,12 @@ public abstract class GameObject implements Drawable { Vector2D abs; - abs = (arg.contains("center")) ? Coords.getWorldCoords(getCenterPosition()) : Coords.getWorldCoords(position); + if(arg.contains("center")){ + abs = Coords.getWorldCoords(new Vector2D(position.x - size.x / 2, position.y - size.y / 2)); + } else { + abs = Coords.getWorldCoords(position); + } + Vector2D sizeAbs = Coords.getWorldCoords(size); g2d.setPaint(mainColor); diff --git a/src/main/java/objects/ships/Turret.java b/src/main/java/objects/ships/Turret.java index 86e480d..a80ca15 100644 --- a/src/main/java/objects/ships/Turret.java +++ b/src/main/java/objects/ships/Turret.java @@ -81,8 +81,8 @@ public class Turret extends GameObject { Point msLoc = master.getMouseLocation(); Vector2D mouseRel = Coords.getMapCoordsFromWorld(Vector2D.fromPoint(msLoc)); //100 correct - Vector2D center = battleShip.getMapCoords(getCenterPosition()); - double targetRotation = -Math.atan2(center.x - mouseRel.x, center.y - mouseRel.y); + Vector2D centerMap = battleShip.getMapCoords(getCenterPosition()); + double targetRotation = -Math.atan2(centerMap.x - mouseRel.x, centerMap.y - mouseRel.y); rotation = ExMath.angleLerp(rotation, targetRotation, ROTATION_SPEED); @@ -98,10 +98,9 @@ public class Turret extends GameObject { lastShot = System.currentTimeMillis(); Vector2D shellVel = Vector2D.getUnitVector(rotation).negative().multiply(SHELL_SPEED); - master.debugPos(battleShip.getMapCoords(center)); - master.debugPos(center); + master.debugPos(centerMap); Vector2D pos = Vector2D.rotateAround( - battleShip.getMapCoords(center), + centerMap, spawnPosNR, rotation); diff --git a/target/classes/BasicEx$1.class b/target/classes/BasicEx$1.class deleted file mode 100644 index fd3f4b91be4be388cc75c6af3a78569475cf0c10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmX^0Z`VEs1_mnz4Ne9o24;2!79Ivx1~x_pPN&4;%w*RJ6+=b_wvvp@Vif~M22LNS zs5KV@2LmTN0~ZeiHv%Gw%o*GuyS6X{YrC_Qj0{i zEiUoMFD_wZ;PK4MOD%HFNh~f-EoM+)U}E54U|?Vr5CFv&0|NsS0|Ns$g9HO3gCqk3 zgB=4CScFSUdn*H@)^-N=jbJrW3=9lx42%p64Dt-p3=9ln5LFB^46+O$zy&sqk%5sx zoIwt1mNNq*SQWR{76!&G47}SIgb{{ufu)ofxEPd?4CICz$ju`hfK6CzhA!r)FMPcpc(`T2xd@}`0+6KGXyX)a22PPgk=_ICV?V_MI#ENM1~=V zhani0h}er#(~44yGZ-0Iobyvs85#I}GV@aXN^_G^i$XwdV`LBl#Y0Y5Vo@fD4;5r7 z$;d2bWZ;D72u22$+{8?<7o)L7JR<{3Vo`cABZDv&X+{R#oW$IultdMf87hX13{0sN zj0`+b!MxOR6$3^Fd5i#uh%#2;W~(CmXGf}$~`vLF>%Iq{MZEAi_^PO(svofC6%f-_4}tpyko_}Li> zKCfH;E$0|Nsq10$%~U|?hjVPIg01@jpgl(n`q zFludMVAtBsz!NDTptXyEkAY!3gV0t6QLQZuqT3iGH-e1|Wnf?sV_;=qVBlq7Vc=un zVBlwvW)NafVi0BsV_;z5VPIrnU{GcVXNUl+=VoAoTGhzF0+zGZ+RY#nxt&37D}%h2 z))of&Z4AocT0-jE7&Ns6*&GC!TedOiYB6qOFw|n(#$c+oo53L{6OC=LFt2mfuWqClA)SG5&-JV_*?)0 diff --git a/target/classes/core/Master.class b/target/classes/core/Master.class index e0c9a966bfc347574001c976f913239a25eec841..4100c4a4e7f8695921d2656dbbdc4b205fb89a72 100644 GIT binary patch delta 124 zcmZ2$e8HIG)W2Q(7#J9=H*(}Nawux}BQDCPk=Q(mQIuIo3e3+>%1TWxDb`O) zEKZ%go<)j730dJ2mZ^+vGGK+1{dvSUPh{KA%xF3}kV|axdM;M5S@m4!7}@0@hHv)g HiQ@$T_@yV8 delta 88 zcmca$yw;fG)W2Q(7#J9=Hge=MGRtWAOn$&3v3WY9C^LsZeo|Iya!K*zeJoPUvKl^{ oAF!-tWE7wLfJJ=sDz^R1lOJ+{I1-!Za-Cyjl7#5&;&I~z07rZt2mk;8 diff --git a/target/classes/objects/DebugPos.class b/target/classes/objects/DebugPos.class deleted file mode 100644 index 1dfedb2beabc7aae4dd400993a44f5a99c619e51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 876 zcmX^0Z`VEs1_mnzV=e|J24;2!79Ivx1~x_pq2&CcRQ=qB_o3fHZwUH#2F;m86fNW<@H%eh-5QR7m6evjUWn^G0El5c$No8c<3eGPrN=|jl z1UZZsW~Uw~z!(%61Q|FOK!BNn5tJqv7#UO<7#PwRm>HNE7#L)TG9V*V@g% z6uF&&cPoQ{)+PqAtqd|785kIt7}OXT7=##D7#J9M88{jE7(^KO8KfBm7}OaU7!)98 zFlaDnf~;VWVbEd_WncuE%b?95%D}|H$e_cZ3$@dMfti7cfq{WTOIt{O8-pUkd{DY# zU=U$oXAlLOD+W;qHGJ~Nw5(-U^XMv2u21& HuxE?_G!wGU diff --git a/target/classes/objects/ships/BattleShip.class b/target/classes/objects/ships/BattleShip.class index 431889524f545f62be0d0109726e01c7ede5cc46..8afe0468ceefdb5fa9e95be2f1ff924f28c34478 100644 GIT binary patch delta 33 pcmZn=Y8B!*^>5cc1_lP}i5xo_MJ665cc1_lPJi5xo_JtrP&VHDr&!?=?j0G6K#_W%F@ diff --git a/target/classes/objects/ships/Shell.class b/target/classes/objects/ships/Shell.class index 5c94f50dbb685bf3694ea5916da29a1b9ab3cff4..d603cab0c87c16b50300eb7707b2400699762c69 100644 GIT binary patch delta 102 zcmcc5{)Aor)W2Q(7#J9=8BDntm>8JZ8CZB2SQ*$D8Dx_4i&FJBN8JZ8CZB2SQ*$D8N@frKV#w*WME?uV&G;FW)NZ! dnJmN{%__mb${;zph&hl|mVuu^Zt@9c82}R^40Zqj diff --git a/target/classes/objects/ships/Turret.class b/target/classes/objects/ships/Turret.class index 47a3d557913e05b9d301f3310af01e093e7b746d..9ed69a8457e6178ad6cdaec13fbb44ce1e73c869 100644 GIT binary patch delta 2384 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 diff --git a/target/classes/objects/world/Grid.class b/target/classes/objects/world/Grid.class index c26fd1ec5ac4ace63db08fc0404f249b813e597e..488ac1a3802f0a77b5a20698efd14ccf897ee01d 100644 GIT binary patch delta 40 vcmZqX?BJ9?^>5cc1_lOe274|BCI)791{NL$Rt7dk2ASmiqE!8jQkg6Ozsv|# delta 35 qcmeC+Z03|Y^>5cc1_lNz274|BCI)791{NL$Rt7dk2JwyZnJfU8X9jlw