From 7c432c94138dec98e19359a19969b6e81da84813 Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:03:38 -0400 Subject: [PATCH 1/7] Create Cards.java --- src/main/java/com/polymars/game/Cards.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/main/java/com/polymars/game/Cards.java diff --git a/src/main/java/com/polymars/game/Cards.java b/src/main/java/com/polymars/game/Cards.java new file mode 100644 index 0000000..632c188 --- /dev/null +++ b/src/main/java/com/polymars/game/Cards.java @@ -0,0 +1,13 @@ +package com.polymars.game; + +public class Cards { + + public static final int FIRE = 0; + public static final int WATER = 1; + public static final int SNOW = 2; + public static final int MIXED = 3; + + public static final int ORANGE = 1; + public static final int PURPLE = 5; + +} From b8717c3e187fe3d1f02fbd7bbe22eb002811761c Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:03:53 -0400 Subject: [PATCH 2/7] Update Bank.java --- src/main/java/com/polymars/game/Bank.java | 40 ++++++++--------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/polymars/game/Bank.java b/src/main/java/com/polymars/game/Bank.java index 6c4b6a9..ee55fc1 100644 --- a/src/main/java/com/polymars/game/Bank.java +++ b/src/main/java/com/polymars/game/Bank.java @@ -3,31 +3,19 @@ import java.util.ArrayList; public class Bank { - public static final int FIRE = 0; - public static final int WATER = 1; - public static final int SNOW = 2; - public static final int MIXED = 3; - - public static final int RED = 0; - public static final int ORANGE = 1; - public static final int YELLOW = 2; - public static final int GREEN = 3; - public static final int BLUE = 4; - public static final int PURPLE = 5; - final String[] elements = {"fire", "water", "snow"}; final String[] colors = {"red", "orange", "yellow", "green", "blue", "purple"}; - private ArrayList[] bank = new ArrayList[3]; + private final ArrayList[] bank = new ArrayList[3]; private int winningElement; private ArrayList winningColors; public Bank() { - winningColors = new ArrayList(); + winningColors = new ArrayList<>(); for (int i = 0; i < bank.length; i++) { - bank[i] = new ArrayList(); + bank[i] = new ArrayList<>(); } } @@ -70,9 +58,9 @@ public boolean hasWon() { for (int k = 0; k < bank[2].size(); k++) { - if (bank[0].get(i) != bank[1].get(j) && bank[1].get(j) != bank[2].get(k) && bank[2].get(k) != bank[0].get(i)) + if (!bank[0].get(i).equals(bank[1].get(j)) && !bank[1].get(j).equals(bank[2].get(k)) && !bank[2].get(k).equals(bank[0].get(i))) { - winningElement = MIXED; + winningElement = Cards.MIXED; winningColors.add(bank[0].get(i)); winningColors.add(bank[1].get(j)); winningColors.add(bank[2].get(k)); @@ -86,28 +74,28 @@ public boolean hasWon() public String getWinningComboAsString() { - String result = ""; + StringBuilder result = new StringBuilder(); if (winningElement < 3) { for (int i = 0; i < winningColors.size(); i++) { if (i == winningColors.size() - 1) { - result += "and " + colors[winningColors.get(i)] + " " + elements[winningElement]; + result.append("and ").append(colors[winningColors.get(i)]).append(" ").append(elements[winningElement]); } else { - result += colors[winningColors.get(i)] + " " + elements[winningElement] + ", "; + result.append(colors[winningColors.get(i)]).append(" ").append(elements[winningElement]).append(", "); } } - return result; + return result.toString(); } return colors[winningColors.get(0)] + " Fire, " + colors[winningColors.get(1)] + " Water, and " + colors[winningColors.get(2)] + " Snow"; } public String toString() { - String result = ""; + StringBuilder result = new StringBuilder(); int lastElement = bank.length - 1; while (lastElement >= 0 && bank[lastElement].isEmpty()) { @@ -126,19 +114,19 @@ public String toString() { if (i == firstElement && j == 0) { - result += colors[bank[i].get(j)] + " " + elements[i]; + result.append(colors[bank[i].get(j)]).append(" ").append(elements[i]); } else { - result += "and " + colors[bank[i].get(j)] + " " + elements[i]; + result.append("and ").append(colors[bank[i].get(j)]).append(" ").append(elements[i]); } } else { - result += colors[bank[i].get(j)] + " " + elements[i] + ", "; + result.append(colors[bank[i].get(j)]).append(" ").append(elements[i]).append(", "); } } } - return result; + return result.toString(); } } From 9ebb47d76e97abc03699a101901297ccfd20dfe4 Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:04:23 -0400 Subject: [PATCH 3/7] Update Card.java --- src/main/java/com/polymars/game/Card.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/main/java/com/polymars/game/Card.java b/src/main/java/com/polymars/game/Card.java index 924a13d..fdcf2d9 100644 --- a/src/main/java/com/polymars/game/Card.java +++ b/src/main/java/com/polymars/game/Card.java @@ -2,16 +2,6 @@ public class Card { - public static final int FIRE = 0; - public static final int WATER = 1; - public static final int SNOW = 2; - - public static final int RED = 0; - public static final int ORANGE = 1; - public static final int YELLOW = 2; - public static final int GREEN = 3; - public static final int BLUE = 4; - public static final int PURPLE = 5; final String[] elements = {"fire", "water", "snow"}; final String[] colors = {"red", "orange", "yellow", "green", "blue", "purple"}; @@ -59,7 +49,7 @@ public String getColorAsString() public String getArticle() { - if (color == ORANGE) + if (color == Cards.ORANGE) { return "an"; } From 6d204852fa05f1f30a1b7028c68ea5d1b8ee7a4e Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:04:39 -0400 Subject: [PATCH 4/7] Update Deck.java --- src/main/java/com/polymars/game/Deck.java | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/polymars/game/Deck.java b/src/main/java/com/polymars/game/Deck.java index 2319e73..6a82236 100644 --- a/src/main/java/com/polymars/game/Deck.java +++ b/src/main/java/com/polymars/game/Deck.java @@ -4,18 +4,7 @@ import java.util.Random; public class Deck { - public static final int FIRE = 0; - public static final int WATER = 1; - public static final int SNOW = 2; - - public static final int RED = 0; - public static final int ORANGE = 1; - public static final int YELLOW = 2; - public static final int GREEN = 3; - public static final int BLUE = 4; - public static final int PURPLE = 5; - - private ArrayList deck; + private final ArrayList deck; Random rand = new Random(); public Deck() @@ -27,9 +16,9 @@ public void createCards() { for (int value = 2; value <= 12; value++) { - for (int element = FIRE; element <= SNOW; element++) + for (int element = Cards.FIRE; element <= Cards.SNOW; element++) { - int color = rand.nextInt(PURPLE + 1); + int color = rand.nextInt(Cards.PURPLE + 1); Card card = new Card(element, value, color); deck.add(card); } From b191dfc174f3a0f4c5844def075ceca3bf3f1436 Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:04:52 -0400 Subject: [PATCH 5/7] Update Game.java --- src/main/java/com/polymars/game/Game.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/polymars/game/Game.java b/src/main/java/com/polymars/game/Game.java index 6fc82ed..a105bdd 100644 --- a/src/main/java/com/polymars/game/Game.java +++ b/src/main/java/com/polymars/game/Game.java @@ -1,26 +1,19 @@ package com.polymars.game; -import com.polymars.game.Bank; -import com.polymars.game.Deck; - import java.util.ArrayList; import java.util.Arrays; import java.util.Random; -import static java.lang.Float.NaN; public class Game { - public static final int FIRE = 0; - public static final int WATER = 1; - public static final int SNOW = 2; public static final int WIN = 0; public static final int LOSE = 1; public static final int TIE = 2; static final int MAX_HAND = 5; - static final ArrayList elements = new ArrayList(Arrays.asList("fire", "water", "snow")); + static final ArrayList elements = new ArrayList<>(Arrays.asList("fire", "water", "snow")); static boolean newGame = true; static boolean startMatch = false; @@ -97,8 +90,8 @@ else if (input.equals("no")) { return "You currently have " + playerHand.toString() + " in your hand."; } - String args[] = input.split("\\s+"); - if (args.length == 2 && elements.contains(args[0].toLowerCase()) && Integer.parseInt(args[1]) != NaN && Integer.parseInt(args[1]) > 1 && Integer.parseInt(args[1]) < 13) + String[] args = input.split("\\s+"); + if (args.length == 2 && elements.contains(args[0].toLowerCase()) && !Float.isNaN(Integer.parseInt(args[1])) && Integer.parseInt(args[1]) > 1 && Integer.parseInt(args[1]) < 13) { currentPlayerCard = playerHand.useCard(elements.indexOf(args[0].toLowerCase()), Integer.parseInt(args[1])); if (currentPlayerCard == null) @@ -177,6 +170,6 @@ static int wonRound(Card playerCard, Card opponentCard) static boolean isTypeAdvantage(int elementX, int elementY) { - return (elementX == FIRE && elementY == SNOW) || (elementX == WATER && elementY == FIRE) || (elementX == SNOW && elementY == WATER); + return (elementX == Cards.FIRE && elementY == Cards.SNOW) || (elementX == Cards.WATER && elementY == Cards.FIRE) || (elementX == Cards.SNOW && elementY == Cards.WATER); } } From 1ea977e540a5c8978de5160864066f1aa0095fcb Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:05:06 -0400 Subject: [PATCH 6/7] Update Hand.java --- src/main/java/com/polymars/game/Hand.java | 30 +++++++---------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/polymars/game/Hand.java b/src/main/java/com/polymars/game/Hand.java index db5461e..9f00569 100644 --- a/src/main/java/com/polymars/game/Hand.java +++ b/src/main/java/com/polymars/game/Hand.java @@ -3,22 +3,12 @@ import java.util.ArrayList; public class Hand { - public static final int FIRE = 0; - public static final int WATER = 1; - public static final int SNOW = 2; - public static final int RED = 0; - public static final int ORANGE = 1; - public static final int YELLOW = 2; - public static final int GREEN = 3; - public static final int BLUE = 4; - public static final int PURPLE = 5; - - private ArrayList hand; + private final ArrayList hand; public Hand() { - hand = new ArrayList(); + hand = new ArrayList<>(); } public void addCard(Card card) @@ -28,11 +18,9 @@ public void addCard(Card card) public Card getCard(int element, int value) { - for (int i = 0; i < hand.size(); i++) - { - if (hand.get(i).getElement() == element && hand.get(i).getValue() == value) - { - return hand.get(i); + for (Card card : hand) { + if (card.getElement() == element && card.getValue() == value) { + return card; } } return null; @@ -58,18 +46,18 @@ public Card useCard(int index) public String toString() { - String result = ""; + StringBuilder result = new StringBuilder(); for (int i = 0; i < hand.size(); i++) { if (i == hand.size() - 1) { - result += "and " + hand.get(i).getArticle() + " " + hand.get(i).toString(); + result.append("and ").append(hand.get(i).getArticle()).append(" ").append(hand.get(i).toString()); } else { - result += hand.get(i).getArticle() + " " + hand.get(i).toString() + ", "; + result.append(hand.get(i).getArticle()).append(" ").append(hand.get(i).toString()).append(", "); } } - return result; + return result.toString(); } } From ba5d3aa468ef3f6d7bb982caaee8d02cd2a14700 Mon Sep 17 00:00:00 2001 From: Anton Ego Date: Mon, 7 Jun 2021 17:05:31 -0400 Subject: [PATCH 7/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81af11d..1af823f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Card-Jitsu Voice +# Card-Jitsu Voice Optimized Version Card-Jitsu Voice is a remake of [Card-Jitsu](https://clubpenguin.fandom.com/wiki/Card-Jitsu) for the Amazon Alexa, made using Java and the [Alexa Skills Kit SDK](https://developer.amazon.com/en-US/docs/alexa/alexa-skills-kit-sdk-for-java/overview.html).