From 48735f0077e51457a215427b53232964d0a8cacb Mon Sep 17 00:00:00 2001 From: Casalisa123 Date: Wed, 29 Oct 2025 15:23:09 +0000 Subject: [PATCH 1/4] first working version --- src/main/java/TennisGame2.java | 188 ++++++++++++++++++++------------- 1 file changed, 117 insertions(+), 71 deletions(-) diff --git a/src/main/java/TennisGame2.java b/src/main/java/TennisGame2.java index 7485c29..fe429fa 100644 --- a/src/main/java/TennisGame2.java +++ b/src/main/java/TennisGame2.java @@ -1,9 +1,8 @@ -public class TennisGame2 implements TennisGame -{ +public class TennisGame2 implements TennisGame { public int P1point = 0; public int P2point = 0; - + public String P1res = ""; public String P2res = ""; private String player1Name; @@ -14,115 +13,162 @@ public TennisGame2(String player1Name, String player2Name) { this.player2Name = player2Name; } - public String getScore(){ + /* + * - Spiel vorbei: mind. 4 punkte, mind. 2 Unterschied + * - 4 Punkte erreicht, aber nicht vorbei -> Advantage / Douce + * - noch nicht 4 punkte erreicht: Unentschieden / nicht unentschieden + * + * if unentschieden + * - douce + * - Love / Fifteen / Thirty All + * + * sonst + * - vorbei + * - advantage + * - normaler score + */ + + public String getScore() { + if (scoreIsGameOver(P1point, P2point)) { + return "Win for " + getLeadingPlayerName(P1point, P2point); + } else if (scoreIsTied(P1point, P2point)) { + if (P1point <= 2) { + return translatePoint(P1point) + "-All"; + } + else { + return "Deuce"; + } + } else if (scoreIsAdvantage(P1point, P2point)) { + return "Advantage " + getLeadingPlayerName(P1point, P2point); + } else { + return translatePoint(P1point) + "-" + translatePoint(P2point); + } + } + + private boolean scoreIsGameOver(int P1point, int P2point) { + return Math.max(P1point, P2point) >= 4 && Math.abs(P1point - P2point) >= 2; + } + + private boolean scoreIsTied(int P1point, int P2point) { + return P1point == P2point; + } + + private boolean scoreIsAdvantage(int P1Point, int P2point) { + return Math.max(P1Point, P2point) >= 4 && Math.abs(P1Point - P2point) == 1; + } + + private String translatePoint(int point) { + return switch(point) { + case 0 -> "Love"; + case 1 -> "Fifteen"; + case 2 -> "Thirty"; + case 3 -> "Forty"; + default -> ""; + }; + } + + private String getLeadingPlayerName(int P1point, int P2point) { + return P1point > P2point ? "player1" : "player2"; + } + + public String getScoreOld() { String score = ""; - if (P1point == P2point && P1point < 4) - { - if (P1point==0) + if (P1point == P2point && P1point < 4) { + if (P1point == 0) score = "Love"; - if (P1point==1) + if (P1point == 1) score = "Fifteen"; - if (P1point==2) + if (P1point == 2) score = "Thirty"; score += "-All"; } - if (P1point==P2point && P1point>=3) + if (P1point == P2point && P1point >= 3) score = "Deuce"; - - if (P1point > 0 && P2point==0) - { - if (P1point==1) + + if (P1point > 0 && P2point == 0) { + if (P1point == 1) P1res = "Fifteen"; - if (P1point==2) + if (P1point == 2) P1res = "Thirty"; - if (P1point==3) + if (P1point == 3) P1res = "Forty"; - + P2res = "Love"; score = P1res + "-" + P2res; } - if (P2point > 0 && P1point==0) - { - if (P2point==1) + if (P2point > 0 && P1point == 0) { + if (P2point == 1) P2res = "Fifteen"; - if (P2point==2) + if (P2point == 2) P2res = "Thirty"; - if (P2point==3) + if (P2point == 3) P2res = "Forty"; - + P1res = "Love"; score = P1res + "-" + P2res; } - - if (P1point>P2point && P1point < 4) - { - if (P1point==2) - P1res="Thirty"; - if (P1point==3) - P1res="Forty"; - if (P2point==1) - P2res="Fifteen"; - if (P2point==2) - P2res="Thirty"; + + if (P1point > P2point && P1point < 4) { + if (P1point == 2) + P1res = "Thirty"; + if (P1point == 3) + P1res = "Forty"; + if (P2point == 1) + P2res = "Fifteen"; + if (P2point == 2) + P2res = "Thirty"; score = P1res + "-" + P2res; } - if (P2point>P1point && P2point < 4) - { - if (P2point==2) - P2res="Thirty"; - if (P2point==3) - P2res="Forty"; - if (P1point==1) - P1res="Fifteen"; - if (P1point==2) - P1res="Thirty"; + if (P2point > P1point && P2point < 4) { + if (P2point == 2) + P2res = "Thirty"; + if (P2point == 3) + P2res = "Forty"; + if (P1point == 1) + P1res = "Fifteen"; + if (P1point == 2) + P1res = "Thirty"; score = P1res + "-" + P2res; } - - if (P1point > P2point && P2point >= 3) - { + + if (P1point > P2point && P2point >= 3) { score = "Advantage player1"; } - - if (P2point > P1point && P1point >= 3) - { + + if (P2point > P1point && P1point >= 3) { score = "Advantage player2"; } - - if (P1point>=4 && P2point>=0 && (P1point-P2point)>=2) - { + + if (P1point >= 4 && P2point >= 0 && (P1point - P2point) >= 2) { score = "Win for player1"; } - if (P2point>=4 && P1point>=0 && (P2point-P1point)>=2) - { + if (P2point >= 4 && P1point >= 0 && (P2point - P1point) >= 2) { score = "Win for player2"; } return score; } - - public void SetP1Score(int number){ - - for (int i = 0; i < number; i++) - { + + public void SetP1Score(int number) { + + for (int i = 0; i < number; i++) { P1Score(); } - + } - - public void SetP2Score(int number){ - - for (int i = 0; i < number; i++) - { + + public void SetP2Score(int number) { + + for (int i = 0; i < number; i++) { P2Score(); } - + } - - public void P1Score(){ + + public void P1Score() { P1point++; } - - public void P2Score(){ + + public void P2Score() { P2point++; } From 69098bfa419a322f13531ba54d16cd8e3ed5fe0c Mon Sep 17 00:00:00 2001 From: Casalisa123 Date: Wed, 29 Oct 2025 15:29:37 +0000 Subject: [PATCH 2/4] more wip --- src/main/java/ScoreTranslator.java | 36 +++++++++ src/main/java/TennisGame2.java | 119 +---------------------------- 2 files changed, 40 insertions(+), 115 deletions(-) create mode 100644 src/main/java/ScoreTranslator.java diff --git a/src/main/java/ScoreTranslator.java b/src/main/java/ScoreTranslator.java new file mode 100644 index 0000000..393a9af --- /dev/null +++ b/src/main/java/ScoreTranslator.java @@ -0,0 +1,36 @@ +public class ScoreTranslator { + + public static String translateGameOver(int P1point, int P2point) { + return "Win for " + getLeadingPlayerName(P1point, P2point); + } + + public static String translateTied(int points) { + if (points <= 2) { + return translatePoint(points) + "-All"; + } else { + return "Deuce"; + } + } + + public static String translateAdvantage(int P1point, int P2point) { + return "Advantage " + getLeadingPlayerName(P1point, P2point); + } + + public static String translateRegular(int P1point, int P2point) { + return translatePoint(P1point) + "-" + translatePoint(P2point); + } + + private static String translatePoint(int point) { + return switch (point) { + case 0 -> "Love"; + case 1 -> "Fifteen"; + case 2 -> "Thirty"; + case 3 -> "Forty"; + default -> ""; + }; + } + + private static String getLeadingPlayerName(int P1point, int P2point) { + return P1point > P2point ? "player1" : "player2"; + } +} diff --git a/src/main/java/TennisGame2.java b/src/main/java/TennisGame2.java index fe429fa..1beeb50 100644 --- a/src/main/java/TennisGame2.java +++ b/src/main/java/TennisGame2.java @@ -13,35 +13,15 @@ public TennisGame2(String player1Name, String player2Name) { this.player2Name = player2Name; } - /* - * - Spiel vorbei: mind. 4 punkte, mind. 2 Unterschied - * - 4 Punkte erreicht, aber nicht vorbei -> Advantage / Douce - * - noch nicht 4 punkte erreicht: Unentschieden / nicht unentschieden - * - * if unentschieden - * - douce - * - Love / Fifteen / Thirty All - * - * sonst - * - vorbei - * - advantage - * - normaler score - */ - public String getScore() { if (scoreIsGameOver(P1point, P2point)) { - return "Win for " + getLeadingPlayerName(P1point, P2point); + return ScoreTranslator.translateGameOver(P1point, P2point); } else if (scoreIsTied(P1point, P2point)) { - if (P1point <= 2) { - return translatePoint(P1point) + "-All"; - } - else { - return "Deuce"; - } + return ScoreTranslator.translateTied(P1point); } else if (scoreIsAdvantage(P1point, P2point)) { - return "Advantage " + getLeadingPlayerName(P1point, P2point); + return ScoreTranslator.translateAdvantage(P1point, P2point); } else { - return translatePoint(P1point) + "-" + translatePoint(P2point); + return ScoreTranslator.translateRegular(P1point, P2point); } } @@ -57,97 +37,6 @@ private boolean scoreIsAdvantage(int P1Point, int P2point) { return Math.max(P1Point, P2point) >= 4 && Math.abs(P1Point - P2point) == 1; } - private String translatePoint(int point) { - return switch(point) { - case 0 -> "Love"; - case 1 -> "Fifteen"; - case 2 -> "Thirty"; - case 3 -> "Forty"; - default -> ""; - }; - } - - private String getLeadingPlayerName(int P1point, int P2point) { - return P1point > P2point ? "player1" : "player2"; - } - - public String getScoreOld() { - String score = ""; - if (P1point == P2point && P1point < 4) { - if (P1point == 0) - score = "Love"; - if (P1point == 1) - score = "Fifteen"; - if (P1point == 2) - score = "Thirty"; - score += "-All"; - } - if (P1point == P2point && P1point >= 3) - score = "Deuce"; - - if (P1point > 0 && P2point == 0) { - if (P1point == 1) - P1res = "Fifteen"; - if (P1point == 2) - P1res = "Thirty"; - if (P1point == 3) - P1res = "Forty"; - - P2res = "Love"; - score = P1res + "-" + P2res; - } - if (P2point > 0 && P1point == 0) { - if (P2point == 1) - P2res = "Fifteen"; - if (P2point == 2) - P2res = "Thirty"; - if (P2point == 3) - P2res = "Forty"; - - P1res = "Love"; - score = P1res + "-" + P2res; - } - - if (P1point > P2point && P1point < 4) { - if (P1point == 2) - P1res = "Thirty"; - if (P1point == 3) - P1res = "Forty"; - if (P2point == 1) - P2res = "Fifteen"; - if (P2point == 2) - P2res = "Thirty"; - score = P1res + "-" + P2res; - } - if (P2point > P1point && P2point < 4) { - if (P2point == 2) - P2res = "Thirty"; - if (P2point == 3) - P2res = "Forty"; - if (P1point == 1) - P1res = "Fifteen"; - if (P1point == 2) - P1res = "Thirty"; - score = P1res + "-" + P2res; - } - - if (P1point > P2point && P2point >= 3) { - score = "Advantage player1"; - } - - if (P2point > P1point && P1point >= 3) { - score = "Advantage player2"; - } - - if (P1point >= 4 && P2point >= 0 && (P1point - P2point) >= 2) { - score = "Win for player1"; - } - if (P2point >= 4 && P1point >= 0 && (P2point - P1point) >= 2) { - score = "Win for player2"; - } - return score; - } - public void SetP1Score(int number) { for (int i = 0; i < number; i++) { From b5d9da4502439711d0c470d7d10e575f8a51220e Mon Sep 17 00:00:00 2001 From: Casalisa123 Date: Wed, 29 Oct 2025 15:33:50 +0000 Subject: [PATCH 3/4] done --- src/main/java/ScoreTranslator.java | 24 +++++++++++++++++------- src/main/java/TennisGame2.java | 14 ++++++-------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/main/java/ScoreTranslator.java b/src/main/java/ScoreTranslator.java index 393a9af..433a6f3 100644 --- a/src/main/java/ScoreTranslator.java +++ b/src/main/java/ScoreTranslator.java @@ -1,10 +1,20 @@ public class ScoreTranslator { - public static String translateGameOver(int P1point, int P2point) { + private String player1Name; + private String player2Name; + + + public ScoreTranslator(String player1Name, String player2Name) { + this.player1Name = player1Name; + this.player2Name = player2Name; + + } + + public String translateGameOver(int P1point, int P2point) { return "Win for " + getLeadingPlayerName(P1point, P2point); } - public static String translateTied(int points) { + public String translateTied(int points) { if (points <= 2) { return translatePoint(points) + "-All"; } else { @@ -12,15 +22,15 @@ public static String translateTied(int points) { } } - public static String translateAdvantage(int P1point, int P2point) { + public String translateAdvantage(int P1point, int P2point) { return "Advantage " + getLeadingPlayerName(P1point, P2point); } - public static String translateRegular(int P1point, int P2point) { + public String translateRegular(int P1point, int P2point) { return translatePoint(P1point) + "-" + translatePoint(P2point); } - private static String translatePoint(int point) { + private String translatePoint(int point) { return switch (point) { case 0 -> "Love"; case 1 -> "Fifteen"; @@ -30,7 +40,7 @@ private static String translatePoint(int point) { }; } - private static String getLeadingPlayerName(int P1point, int P2point) { - return P1point > P2point ? "player1" : "player2"; + private String getLeadingPlayerName(int P1point, int P2point) { + return P1point > P2point ? player1Name : player2Name; } } diff --git a/src/main/java/TennisGame2.java b/src/main/java/TennisGame2.java index 1beeb50..e0a5b14 100644 --- a/src/main/java/TennisGame2.java +++ b/src/main/java/TennisGame2.java @@ -5,23 +5,21 @@ public class TennisGame2 implements TennisGame { public String P1res = ""; public String P2res = ""; - private String player1Name; - private String player2Name; + private ScoreTranslator scoreTranslator; public TennisGame2(String player1Name, String player2Name) { - this.player1Name = player1Name; - this.player2Name = player2Name; + this.scoreTranslator = new ScoreTranslator(player1Name, player2Name); } public String getScore() { if (scoreIsGameOver(P1point, P2point)) { - return ScoreTranslator.translateGameOver(P1point, P2point); + return scoreTranslator.translateGameOver(P1point, P2point); } else if (scoreIsTied(P1point, P2point)) { - return ScoreTranslator.translateTied(P1point); + return scoreTranslator.translateTied(P1point); } else if (scoreIsAdvantage(P1point, P2point)) { - return ScoreTranslator.translateAdvantage(P1point, P2point); + return scoreTranslator.translateAdvantage(P1point, P2point); } else { - return ScoreTranslator.translateRegular(P1point, P2point); + return scoreTranslator.translateRegular(P1point, P2point); } } From 3298a9f20eed9c80f1dcbe5eb5bae32076db17db Mon Sep 17 00:00:00 2001 From: Casalisa123 Date: Wed, 29 Oct 2025 15:34:07 +0000 Subject: [PATCH 4/4] formatting --- src/main/java/ScoreTranslator.java | 1 - src/main/java/TennisGame2.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/ScoreTranslator.java b/src/main/java/ScoreTranslator.java index 433a6f3..43b55b0 100644 --- a/src/main/java/ScoreTranslator.java +++ b/src/main/java/ScoreTranslator.java @@ -3,7 +3,6 @@ public class ScoreTranslator { private String player1Name; private String player2Name; - public ScoreTranslator(String player1Name, String player2Name) { this.player1Name = player1Name; this.player2Name = player2Name; diff --git a/src/main/java/TennisGame2.java b/src/main/java/TennisGame2.java index e0a5b14..fc7e426 100644 --- a/src/main/java/TennisGame2.java +++ b/src/main/java/TennisGame2.java @@ -5,7 +5,7 @@ public class TennisGame2 implements TennisGame { public String P1res = ""; public String P2res = ""; - private ScoreTranslator scoreTranslator; + private ScoreTranslator scoreTranslator; public TennisGame2(String player1Name, String player2Name) { this.scoreTranslator = new ScoreTranslator(player1Name, player2Name);