From e194609df0816eaebcbcd61a9bde685fc5422852 Mon Sep 17 00:00:00 2001 From: fdai4616 Date: Thu, 9 Feb 2023 20:08:05 +0100 Subject: [PATCH 1/5] refactoring: --- .idea/hellsgamers.iml | 2 +- pom.xml | 5 ++ .../java/test_AIGridGUI.java} | 2 +- .../java/test_BShip.java} | 2 +- .../java/test_CollisionChecker.java} | 2 +- .../java/test_Ship.java} | 2 +- .../java/test_Snake.java} | 2 +- .../surefire-reports/TEST-test_AIGridGUI.xml | 65 +++++++++++++++++ target/surefire-reports/TEST-test_BShip.xml | 61 ++++++++++++++++ .../TEST-test_CollisionChecker.xml | 69 +++++++++++++++++++ target/surefire-reports/TEST-test_Ship.xml | 61 ++++++++++++++++ target/surefire-reports/TEST-test_Snake.xml | 63 +++++++++++++++++ target/surefire-reports/test_AIGridGUI.txt | 4 ++ target/surefire-reports/test_BShip.txt | 4 ++ .../test_CollisionChecker.txt | 4 ++ target/surefire-reports/test_Ship.txt | 4 ++ target/surefire-reports/test_Snake.txt | 4 ++ 17 files changed, 350 insertions(+), 6 deletions(-) rename src/{test_/java/AIGridGUITest.java => Test/java/test_AIGridGUI.java} (97%) rename src/{test_/java/BShipTest.java => Test/java/test_BShip.java} (94%) rename src/{test_/java/CollisionCheckerTest.java => Test/java/test_CollisionChecker.java} (99%) rename src/{test_/java/ShipTest.java => Test/java/test_Ship.java} (96%) rename src/{test_/java/SnakeTest.java => Test/java/test_Snake.java} (99%) create mode 100644 target/surefire-reports/TEST-test_AIGridGUI.xml create mode 100644 target/surefire-reports/TEST-test_BShip.xml create mode 100644 target/surefire-reports/TEST-test_CollisionChecker.xml create mode 100644 target/surefire-reports/TEST-test_Ship.xml create mode 100644 target/surefire-reports/TEST-test_Snake.xml create mode 100644 target/surefire-reports/test_AIGridGUI.txt create mode 100644 target/surefire-reports/test_BShip.txt create mode 100644 target/surefire-reports/test_CollisionChecker.txt create mode 100644 target/surefire-reports/test_Ship.txt create mode 100644 target/surefire-reports/test_Snake.txt diff --git a/.idea/hellsgamers.iml b/.idea/hellsgamers.iml index 74774b6..6aac235 100644 --- a/.idea/hellsgamers.iml +++ b/.idea/hellsgamers.iml @@ -7,7 +7,7 @@ - + diff --git a/pom.xml b/pom.xml index 45a3e86..9b00264 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,12 @@ 3.0.0-M5 false + + test_* + + + diff --git a/src/test_/java/AIGridGUITest.java b/src/Test/java/test_AIGridGUI.java similarity index 97% rename from src/test_/java/AIGridGUITest.java rename to src/Test/java/test_AIGridGUI.java index 9325f89..533bef0 100644 --- a/src/test_/java/AIGridGUITest.java +++ b/src/Test/java/test_AIGridGUI.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; -public class AIGridGUITest { +public class test_AIGridGUI { AIGridGUI aiGridGUI = new AIGridGUI(10, 10); diff --git a/src/test_/java/BShipTest.java b/src/Test/java/test_BShip.java similarity index 94% rename from src/test_/java/BShipTest.java rename to src/Test/java/test_BShip.java index 9b5813a..462592c 100644 --- a/src/test_/java/BShipTest.java +++ b/src/Test/java/test_BShip.java @@ -3,7 +3,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; -class BShipTest { +class test_BShip { @Test public void testStartGame() { BShip bShip = new BShip(); diff --git a/src/test_/java/CollisionCheckerTest.java b/src/Test/java/test_CollisionChecker.java similarity index 99% rename from src/test_/java/CollisionCheckerTest.java rename to src/Test/java/test_CollisionChecker.java index 767bda1..306449a 100644 --- a/src/test_/java/CollisionCheckerTest.java +++ b/src/Test/java/test_CollisionChecker.java @@ -8,7 +8,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; - class CollisionCheckerTest { + class test_CollisionChecker { CollisionChecker collisionChecker; @BeforeEach diff --git a/src/test_/java/ShipTest.java b/src/Test/java/test_Ship.java similarity index 96% rename from src/test_/java/ShipTest.java rename to src/Test/java/test_Ship.java index 83efd75..1ea4cdc 100644 --- a/src/test_/java/ShipTest.java +++ b/src/Test/java/test_Ship.java @@ -3,7 +3,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; -class ShipTest { +class test_Ship { @Test void counter() { diff --git a/src/test_/java/SnakeTest.java b/src/Test/java/test_Snake.java similarity index 99% rename from src/test_/java/SnakeTest.java rename to src/Test/java/test_Snake.java index 6c79afc..0128f5a 100644 --- a/src/test_/java/SnakeTest.java +++ b/src/Test/java/test_Snake.java @@ -7,7 +7,7 @@ import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; -class SnakeTest { +class test_Snake { @Test public void testReset() { int gridSize = 20; diff --git a/target/surefire-reports/TEST-test_AIGridGUI.xml b/target/surefire-reports/TEST-test_AIGridGUI.xml new file mode 100644 index 0000000..7ee725b --- /dev/null +++ b/target/surefire-reports/TEST-test_AIGridGUI.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/TEST-test_BShip.xml b/target/surefire-reports/TEST-test_BShip.xml new file mode 100644 index 0000000..ce21295 --- /dev/null +++ b/target/surefire-reports/TEST-test_BShip.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/TEST-test_CollisionChecker.xml b/target/surefire-reports/TEST-test_CollisionChecker.xml new file mode 100644 index 0000000..bdd729a --- /dev/null +++ b/target/surefire-reports/TEST-test_CollisionChecker.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/TEST-test_Ship.xml b/target/surefire-reports/TEST-test_Ship.xml new file mode 100644 index 0000000..e9b29f9 --- /dev/null +++ b/target/surefire-reports/TEST-test_Ship.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/TEST-test_Snake.xml b/target/surefire-reports/TEST-test_Snake.xml new file mode 100644 index 0000000..37abb54 --- /dev/null +++ b/target/surefire-reports/TEST-test_Snake.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/test_AIGridGUI.txt b/target/surefire-reports/test_AIGridGUI.txt new file mode 100644 index 0000000..2cadde1 --- /dev/null +++ b/target/surefire-reports/test_AIGridGUI.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: test_AIGridGUI +------------------------------------------------------------------------------- +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.84 s - in test_AIGridGUI diff --git a/target/surefire-reports/test_BShip.txt b/target/surefire-reports/test_BShip.txt new file mode 100644 index 0000000..eee48a9 --- /dev/null +++ b/target/surefire-reports/test_BShip.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: test_BShip +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.7 s - in test_BShip diff --git a/target/surefire-reports/test_CollisionChecker.txt b/target/surefire-reports/test_CollisionChecker.txt new file mode 100644 index 0000000..38af80f --- /dev/null +++ b/target/surefire-reports/test_CollisionChecker.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: test_CollisionChecker +------------------------------------------------------------------------------- +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 s - in test_CollisionChecker diff --git a/target/surefire-reports/test_Ship.txt b/target/surefire-reports/test_Ship.txt new file mode 100644 index 0000000..25106b9 --- /dev/null +++ b/target/surefire-reports/test_Ship.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: test_Ship +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in test_Ship diff --git a/target/surefire-reports/test_Snake.txt b/target/surefire-reports/test_Snake.txt new file mode 100644 index 0000000..a76f835 --- /dev/null +++ b/target/surefire-reports/test_Snake.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: test_Snake +------------------------------------------------------------------------------- +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s - in test_Snake From ff5c8b98320ac3878d71616d6b5822c11290708d Mon Sep 17 00:00:00 2001 From: fdai4616 Date: Thu, 9 Feb 2023 20:12:02 +0100 Subject: [PATCH 2/5] refactoring: --- src/main/java/PingPong/Score.java | 8 ++++++-- target/hellsgamers-1.0-SNAPSHOT.jar | Bin 49930 -> 49642 bytes target/maven-archiver/pom.properties | 2 +- .../compile/default-compile/createdFiles.lst | 1 - .../default-testCompile/createdFiles.lst | 5 +++++ .../default-testCompile/inputFiles.lst | 5 +++++ target/test-classes/ShipTest.class | Bin 816 -> 0 bytes ...GridGUITest.class => test_AIGridGUI.class} | Bin 1606 -> 1609 bytes .../{BShipTest.class => test_BShip.class} | Bin 737 -> 740 bytes ...Test.class => test_CollisionChecker.class} | Bin 3271 -> 3274 bytes target/test-classes/test_Ship.class | Bin 0 -> 819 bytes .../{SnakeTest.class => test_Snake.class} | Bin 2071 -> 2074 bytes team.md | 4 +++- 13 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 target/test-classes/ShipTest.class rename target/test-classes/{AIGridGUITest.class => test_AIGridGUI.class} (73%) rename target/test-classes/{BShipTest.class => test_BShip.class} (50%) rename target/test-classes/{CollisionCheckerTest.class => test_CollisionChecker.class} (60%) create mode 100644 target/test-classes/test_Ship.class rename target/test-classes/{SnakeTest.class => test_Snake.class} (79%) diff --git a/src/main/java/PingPong/Score.java b/src/main/java/PingPong/Score.java index 7068698..9b60491 100644 --- a/src/main/java/PingPong/Score.java +++ b/src/main/java/PingPong/Score.java @@ -16,8 +16,8 @@ public class Score extends Rectangle { } public void draw(Graphics g) { - g.setColor(Color.white); - g.setFont(new Font("Consolas", Font.BOLD,50)); + ScoreColor(g); + g.setFont(new Font("Consolas", Font.BOLD,50)); g.drawLine(FRAME_WIDTH/2, 0, FRAME_WIDTH/2, FRAME_HEIGHT); g.drawOval((FRAME_WIDTH/2)-(COURT_CIRCLE/2), (FRAME_HEIGHT/2) - (COURT_CIRCLE/2), COURT_CIRCLE,COURT_CIRCLE); g.fillOval((FRAME_WIDTH/2)-(CENTER_DOT/2), (FRAME_HEIGHT/2) - (CENTER_DOT/2), CENTER_DOT,CENTER_DOT); @@ -25,4 +25,8 @@ public class Score extends Rectangle { g.drawString(String.valueOf(player_2/10) + String.valueOf(player_2%10), (FRAME_WIDTH/2)+ 20, 50); } + + private static void ScoreColor(Graphics g) { + g.setColor(Color.white); + } } diff --git a/target/hellsgamers-1.0-SNAPSHOT.jar b/target/hellsgamers-1.0-SNAPSHOT.jar index 0adfec424c4efa8fc2388d0284c4db00ebd6c3d2..359ee6ad96aa14ddaa3bb78ba3b1cf1e2b09b1b7 100644 GIT binary patch delta 17278 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 delta 17620 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 diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index a3f66d2..aa0aa9b 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Wed Feb 08 21:32:53 CET 2023 +#Thu Feb 09 20:07:26 CET 2023 groupId=Hellsgamers artifactId=hellsgamers version=1.0-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index c11ae49..699554d 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -4,7 +4,6 @@ BattleShip\BSButton.class Snake\Window.class PingPong\GamePanel$AL.class Snake\Controller$1.class -MenuPanel$GameFrame.class BattleShip\Ship.class PingPong\Ball.class BattleShip\BShip$NewGameListener.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..4e2114b --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,5 @@ +test_BShip.class +test_AIGridGUI.class +test_Snake.class +test_CollisionChecker.class +test_Ship.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..7cdc2e8 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,5 @@ +C:\Users\Laura\IdeaProjects\hellsgamers\src\test\java\test_CollisionChecker.java +C:\Users\Laura\IdeaProjects\hellsgamers\src\test\java\test_Snake.java +C:\Users\Laura\IdeaProjects\hellsgamers\src\test\java\test_BShip.java +C:\Users\Laura\IdeaProjects\hellsgamers\src\test\java\test_Ship.java +C:\Users\Laura\IdeaProjects\hellsgamers\src\test\java\test_AIGridGUI.java diff --git a/target/test-classes/ShipTest.class b/target/test-classes/ShipTest.class deleted file mode 100644 index 2f2488427eda818c10f276932641b2477fc05521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 zcmZuve^1j;6g`jq=+<>?OdJeRrl4+2sY>D>q9$NO7aK_2QX>Dojpukv*Ut9U?`2|y zNa6?ZLmBUDM@W=5x$QmgopaB<@BRMs^A~_u*fueTjDf6$9P$j+G5^YKkNYG0a4;4_ z#gKm~eW_kEWLj<4K!KsM$CdI#?^I509SSfR3VjhNotZFTX}K~(z14ND6niR^{%EJ| z>Ma!uRV)xsMjxc-iIb$jv56a4G;q^G9ZL+&ARO7_m<&*yN+m*@Po=#ZMIux(@FRv2 zPm+D^MS>yQI&Ql~(r;K;!7YZOA5RWHzn6-(vaXiDZQ%~q7_5}|_Df7uhFq)LO|9Lv za8Fw^hC%F8Nln_Ya9&MO3pF z#NklvOYNn6S#C?83z~R97eGHc(iH$hi~el-GL3AWfqhGs+Z6S(j++#%bOSngL>Xvg zc@oj&3uF_yqYD_H^0nd_N>1ko=Fd^fbiQNx9IKQzk7ii*8Z7reww|A1S9YGGOyx|J z=&g~V70hD|73!&qEkd^G;9g)6dvuxJVF?FVhKojGzn)s0*)PGtW8yICJZg=U& diff --git a/target/test-classes/AIGridGUITest.class b/target/test-classes/test_AIGridGUI.class similarity index 73% rename from target/test-classes/AIGridGUITest.class rename to target/test-classes/test_AIGridGUI.class index 50abe400f8ff72bc7d3ff3debf8bbc84effcb23d..8d3c0f5980b76cb1f734a5cfa114adf6dc3ff450 100644 GIT binary patch delta 68 zcmX@cbCPF52|r&+YH>-tqo;dOW{P{L=f);hCIJB-RKdy9m=5p@ql#@#VSdB}05E+Q Awg3PC delta 65 zcmX@fbBt#~2_LVcr+ZOmihHPMNNRD(#%5L~etsVmvB@)-4)6(~2yIShe#8U-(IFN& diff --git a/target/test-classes/BShipTest.class b/target/test-classes/test_BShip.class similarity index 50% rename from target/test-classes/BShipTest.class rename to target/test-classes/test_BShip.class index 277a7c9bad9156ce7ca6c1712a3d14589ac80fdf..aedf091dcfece143c2762df859fa301c621c18c1 100644 GIT binary patch delta 56 tcmaFJ`h<0ZB_lUiNosLPyi;&SX2E1A0&ZR#tLqJBtARSEdU>76F~p~ delta 53 scmaFD`jB;lB_kK7Q*cIRK}c$G$z&Hsb8c=Q1iziJf{PEquc}j9Zj+kgkYH>-tbAC=vW^rbIo^wWOa&~Ib#>QSIad984a+_6{Z!?QYVV4tO H-^>aCCx9Xp delta 87 zcmX>ld0cWrj;M%peojtiab|v=b4F@%c4|>bYH`WNrd}p7F&}JFo7I?aGmA=Ml@e#) G%nAUlSRj`G diff --git a/target/test-classes/test_Ship.class b/target/test-classes/test_Ship.class new file mode 100644 index 0000000000000000000000000000000000000000..5631c9ce2c07e03c6a677f8dd8fe4b62093757a4 GIT binary patch literal 819 zcmZuve^1j;6g`jq=+>2OOdJeR=I@OuRZ09q)C7#+Vgrd=O5`8&HlE`xT|3)Xzn6&- zB8eZs4`sZsT_91~z4O$NVd|J?@X}gTYt~ z6+`}|^rd>ukZHAD0|kc44p+((y%RaLbtu4ODD*|7bY{YUrRC-s>aDJGsn}DY^haB5 zS8u6UsA7S5GI}pPPaG!&j!ay`qJirc>R4iE2I0sa$7F!wR4NhLd@AkjC=#KPfgdrH zc#`aLFA@yd)=}Fnl77R&3T`kI{djWl`JGg>m36iJO$)cM#$ctyw_jqSGUQs_Zffne zg*)1sF$`j#N@~(Q3-`4lGbQ!ISQvOn@`~F2r2D4YZ-Qg8P;sO$_T$Mwgnd5n2&p;2 zkb5ooOB8ezbT5$duF)cMdkQq4`HB>d{J*h9}Sv#KzBetI?^owLyP`w`ZA5IpMrf$mfIBdvX1K%t#kuActja! zYIzdT^1DfQX;f$|w@na+1CpJA2K=HU#>UV-KQ$L{85*rlE4n5S|k zO7zyq&m_~87-QY Date: Thu, 9 Feb 2023 20:12:49 +0100 Subject: [PATCH 3/5] refactoring: --- src/main/java/PingPong/Score.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/PingPong/Score.java b/src/main/java/PingPong/Score.java index 9b60491..4630cff 100644 --- a/src/main/java/PingPong/Score.java +++ b/src/main/java/PingPong/Score.java @@ -18,14 +18,18 @@ public class Score extends Rectangle { public void draw(Graphics g) { ScoreColor(g); g.setFont(new Font("Consolas", Font.BOLD,50)); - g.drawLine(FRAME_WIDTH/2, 0, FRAME_WIDTH/2, FRAME_HEIGHT); - g.drawOval((FRAME_WIDTH/2)-(COURT_CIRCLE/2), (FRAME_HEIGHT/2) - (COURT_CIRCLE/2), COURT_CIRCLE,COURT_CIRCLE); + drawScoreLine(g); + g.drawOval((FRAME_WIDTH/2)-(COURT_CIRCLE/2), (FRAME_HEIGHT/2) - (COURT_CIRCLE/2), COURT_CIRCLE,COURT_CIRCLE); g.fillOval((FRAME_WIDTH/2)-(CENTER_DOT/2), (FRAME_HEIGHT/2) - (CENTER_DOT/2), CENTER_DOT,CENTER_DOT); g.drawString(String.valueOf(player_1/10) + String.valueOf(player_1%10), (FRAME_WIDTH/2)- 75, 50); g.drawString(String.valueOf(player_2/10) + String.valueOf(player_2%10), (FRAME_WIDTH/2)+ 20, 50); } + private static void drawScoreLine(Graphics g) { + g.drawLine(FRAME_WIDTH/2, 0, FRAME_WIDTH/2, FRAME_HEIGHT); + } + private static void ScoreColor(Graphics g) { g.setColor(Color.white); } From f3850499b3ce027642da9c06c2956dd42b180f69 Mon Sep 17 00:00:00 2001 From: fdai4616 Date: Thu, 9 Feb 2023 20:18:38 +0100 Subject: [PATCH 4/5] refactoring: --- src/main/java/PingPong/Score.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/PingPong/Score.java b/src/main/java/PingPong/Score.java index 4630cff..faa3d60 100644 --- a/src/main/java/PingPong/Score.java +++ b/src/main/java/PingPong/Score.java @@ -19,13 +19,17 @@ public class Score extends Rectangle { ScoreColor(g); g.setFont(new Font("Consolas", Font.BOLD,50)); drawScoreLine(g); - g.drawOval((FRAME_WIDTH/2)-(COURT_CIRCLE/2), (FRAME_HEIGHT/2) - (COURT_CIRCLE/2), COURT_CIRCLE,COURT_CIRCLE); - g.fillOval((FRAME_WIDTH/2)-(CENTER_DOT/2), (FRAME_HEIGHT/2) - (CENTER_DOT/2), CENTER_DOT,CENTER_DOT); + drawScoreOval(g); + g.fillOval((FRAME_WIDTH/2)-(CENTER_DOT/2), (FRAME_HEIGHT/2) - (CENTER_DOT/2), CENTER_DOT,CENTER_DOT); g.drawString(String.valueOf(player_1/10) + String.valueOf(player_1%10), (FRAME_WIDTH/2)- 75, 50); g.drawString(String.valueOf(player_2/10) + String.valueOf(player_2%10), (FRAME_WIDTH/2)+ 20, 50); } + private void drawScoreOval(Graphics g) { + g.drawOval((FRAME_WIDTH/2)-(COURT_CIRCLE/2), (FRAME_HEIGHT/2) - (COURT_CIRCLE/2), COURT_CIRCLE,COURT_CIRCLE); + } + private static void drawScoreLine(Graphics g) { g.drawLine(FRAME_WIDTH/2, 0, FRAME_WIDTH/2, FRAME_HEIGHT); } From bc61cef69b0687728c55aba33ba3f084ea94ea9b Mon Sep 17 00:00:00 2001 From: fdai4616 Date: Thu, 9 Feb 2023 20:20:39 +0100 Subject: [PATCH 5/5] refactoring: --- src/main/java/PingPong/Paddle.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/PingPong/Paddle.java b/src/main/java/PingPong/Paddle.java index 34cad3f..2338524 100644 --- a/src/main/java/PingPong/Paddle.java +++ b/src/main/java/PingPong/Paddle.java @@ -22,11 +22,19 @@ public class Paddle extends Rectangle { } else if (id == 2) { y2 = y; } - this.width = width; - this.height = height; + PaddleWidth(width); + PaddleHeight(height); this.id = id; } + private void PaddleHeight(int height) { + this.height = height; + } + + private void PaddleWidth(int width) { + this.width = width; + } + public void released(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_W) {