diff --git a/pom.xml b/pom.xml
index 6fdc4ce0..a5f71f56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,33 +68,6 @@
opencsv
5.4
-
-
- org.deeplearning4j
- deeplearning4j-nn
- 1.0.0-alpha
-
-
-
- org.deeplearning4j
- deeplearning4j-datasets
- ${dl4j-master.version}
-
-
- org.datavec
- datavec-api
- 1.0.0-alpha
-
-
- org.deeplearning4j
- deeplearning4j-datavec-iterators
- 1.0.0-alpha
-
-
- org.nd4j
- nd4j-api
- 1.0.0-alpha
-
org.openjfx
javafx-controls
@@ -105,19 +78,11 @@
javafx-fxml
${javafx.version}
-
- com.google.code.gson
- gson
- 2.8.6
- compile
-
org.openjfx
javafx-media
11
-
-
\ No newline at end of file
diff --git a/src/main/java/controller/AIPlayerController.java b/src/main/java/controller/AIPlayerController.java
index 0799e16b..62904cb0 100644
--- a/src/main/java/controller/AIPlayerController.java
+++ b/src/main/java/controller/AIPlayerController.java
@@ -1,6 +1,5 @@
package controller;
-import com.opencsv.CSVWriter;
import controller.gamephasescontrollers.GameController;
import model.CoinDice;
import model.board.CardStatus;
@@ -8,7 +7,6 @@
import model.cards.Monster;
import view.gamephases.Duel;
-import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/src/main/java/controller/gamephasescontrollers/BattlePhaseController.java b/src/main/java/controller/gamephasescontrollers/BattlePhaseController.java
index d62d76a8..49ac9548 100644
--- a/src/main/java/controller/gamephasescontrollers/BattlePhaseController.java
+++ b/src/main/java/controller/gamephasescontrollers/BattlePhaseController.java
@@ -126,7 +126,7 @@ private String attackToDefensiveHiddenCell(Cell attackerCell, Cell attackedCell,
response = "opponent’s monster card was " +
attackedCell.getCellCard().getName() + " the defense position monster is destroyed";
response += Marshmallon.handleEffect(gameController, attackerCell, attackedCell);
- if (!Marshmallon.isMarshmallon(attackedCell))//todo chera ba payiniha fargh miknone? baad inja tanaghoz dareha
+ if (!Marshmallon.isMarshmallon(attackedCell))
attackedCell.removeCardFromCell(opponentGameBoard);
} else if (isAttackerAndAttackedPowerEqual(attackerCell, attackedCell)) {
response = "opponent’s monster card was " +
@@ -240,7 +240,7 @@ public GameController getGameController() {
return gameController;
}
- public int getPower(Cell cell, Cell attackerCell, Cell attackedCell) {//todo null pointer exception
+ public int getPower(Cell cell, Cell attackerCell, Cell attackedCell) {
switch (cell.getCardStatus()) {
case DEFENSIVE_OCCUPIED:
case DEFENSIVE_HIDDEN:
diff --git a/src/main/java/controller/gamephasescontrollers/GameController.java b/src/main/java/controller/gamephasescontrollers/GameController.java
index 84170964..158ab0c0 100644
--- a/src/main/java/controller/gamephasescontrollers/GameController.java
+++ b/src/main/java/controller/gamephasescontrollers/GameController.java
@@ -214,8 +214,6 @@ public void changeTurn(boolean isTemporary, boolean backToPlayer) {
changedPositionCells = new ArrayList<>();
attackerCellsThisTurn = new ArrayList<>();
turnCount++;
- //todo update changedPositionCells & other fields
- //todo reset attacked arraylist
}
public void activateTrapEffect(ArrayList trapsCanBeActivated) {
@@ -426,6 +424,8 @@ public String getSideDeckCards(Player player) {
}
private void changeCards(Player player) {
+ if (player.isAI())
+ return;
Deck deck = player.getPlayDeck();
String deckInfo = player.getUser().getNickname() + "’s Deck: " + deck.getName() + "\n";
ArrayList monsters = Card.getMonstersSorted(deck.getMainDeck());
diff --git a/src/main/java/controller/gamephasescontrollers/MainPhasesController.java b/src/main/java/controller/gamephasescontrollers/MainPhasesController.java
index 2d368db0..e2a4690f 100644
--- a/src/main/java/controller/gamephasescontrollers/MainPhasesController.java
+++ b/src/main/java/controller/gamephasescontrollers/MainPhasesController.java
@@ -59,7 +59,8 @@ default void monsterSummon(GameController gameController) throws GameException {
currentPlayer.getGameBoard().getHandCards().remove(selectedCell);
Cell.deselectCell();
}
- default boolean isSummonedMonsterATKMoreThan1000(Cell summonedCell) {//todo check null pointer exception
+
+ default boolean isSummonedMonsterATKMoreThan1000(Cell summonedCell) {
return ((Monster) summonedCell.getCellCard()).getAtk() >= 1000;
}
@@ -112,18 +113,15 @@ private void addMonstersToSummonEffectSpellAndTrap(Cell summonedCell) {
summonEffectSpellAndTrap.add(new TorrentialTribute());
if (isSummonedMonsterATKMoreThan1000(summonedCell))
flipSummonEffectSpellAndTrap.add(new TorrentialTribute());
- //todo add the rest of summon monsters thing
}
private void addMonstersToFlipSummonEffectSpellAndTrap(Cell summonedCell) {
if (isSummonedMonsterATKMoreThan1000(summonedCell))
flipSummonEffectSpellAndTrap.add(new TorrentialTribute());
- //todo add the rest of summon monsters thing
}
private void addMonstersToSpecialSummonEffectSpellAndTrap() {
SpecialSummonEffectSpellAndTrap.add(new TorrentialTribute());
- //todo add the rest of summon monsters thing
}
private void handleTributeForNormalSummon(Player currentPlayer, Cell selectedCell, int monsterLevel, boolean isSpecialSummon) throws GameException {
@@ -168,24 +166,10 @@ private void handleTributeForNormalSummon(Player currentPlayer, Cell selectedCel
for (Cell tribute : tributes) {
tribute.removeCardFromCell(playerGameBoard);
}
-// for (int i=0;i initCards = new ArrayList<>();
- //game init cards:
+
initCards.add(new AxeRaider());
initCards.add(new Babydragon());
initCards.add(new CallofTheHaunted());
@@ -208,12 +208,11 @@ private void initializeCards() {
initCards.add(new HarpiesFeatherDuster());
initCards.add(new MagicCylinder());
initCards.add(new MagicJamamer());
- initCards.add(new MonsterReborn());
+ initCards.add(new SpiralSerpent());
initCards.add(new Mysticalspacetyphoon());
initCards.add(new SlotMachine());
initCards.add(new TorrentialTribute());
- //other cards added by me (parham)
initCards.add(new BattleOX());
initCards.add(new BeastKingBarbaros());
diff --git a/src/main/java/model/board/Cell.java b/src/main/java/model/board/Cell.java
index 032133f6..0a18fedb 100644
--- a/src/main/java/model/board/Cell.java
+++ b/src/main/java/model/board/Cell.java
@@ -24,7 +24,7 @@ public Cell(Card card) {
}
- public static void deselectCell() {//better to be same as select cell or rename
+ public static void deselectCell() {
selectedCell = null;
}
diff --git a/src/main/java/model/cards/Card.java b/src/main/java/model/cards/Card.java
index 3a23c7ec..787ab601 100644
--- a/src/main/java/model/cards/Card.java
+++ b/src/main/java/model/cards/Card.java
@@ -96,7 +96,6 @@ public int compare(Card card1, Card card2) {
public static Card getNewCardObjectByName(String name) {
switch (name) {
- //monsters:
case "Battle OX":
return new BattleOX();
@@ -220,7 +219,8 @@ public static Card getNewCardObjectByName(String name) {
case "Command Knight":
return new CommandKnight();
- //spell and traps:
+
+
case "Trap Hole":
return new TrapHole();
@@ -383,4 +383,5 @@ public Kind getCardKind() {
}
public enum Kind {MONSTER, MAGIC}
+
}
diff --git a/src/main/java/model/cards/Deck.java b/src/main/java/model/cards/Deck.java
index 1e30dc59..33accc05 100644
--- a/src/main/java/model/cards/Deck.java
+++ b/src/main/java/model/cards/Deck.java
@@ -69,8 +69,7 @@ public void setActive(boolean active) {
}
public boolean isDeckValid() {
- //TODO checkForEachCardFrequency
- return true;
+ return mainDeck.size() >= 40;
}
public boolean isMainDeckFull() {
@@ -160,7 +159,7 @@ public String toString() {
}
}
- public Deck clone() {//todo use this except reference
+ public Deck clone() {
Deck copiedDeck = new Deck(this.getName());
for (Card card : mainDeck) {
copiedDeck.addCardToMainDeck(card.clone());
diff --git a/src/main/java/model/cards/justforscore/JustForScore.java b/src/main/java/model/cards/justforscore/JustForScore.java
index d31d6395..2b54b268 100644
--- a/src/main/java/model/cards/justforscore/JustForScore.java
+++ b/src/main/java/model/cards/justforscore/JustForScore.java
@@ -16,7 +16,7 @@ public class JustForScore {
// return monsterCardsDetailsList;
// }
//
-// public static List importTrapAndSpellsDetails() throws FileNotFoundException {//todo save the list in model
+// public static List importTrapAndSpellsDetails() throws FileNotFoundException {
// List trapAndSpellCardDetailsList = new CsvToBeanBuilder(
// new FileReader("src/resources/cards details/SpellTrap.csv"))
// .withType(TrapAndSpellCardDetails.class).build().parse();
diff --git a/src/main/java/model/cards/monsters/CommandKnight.java b/src/main/java/model/cards/monsters/CommandKnight.java
index da5efe10..5cfa3c0e 100644
--- a/src/main/java/model/cards/monsters/CommandKnight.java
+++ b/src/main/java/model/cards/monsters/CommandKnight.java
@@ -21,7 +21,7 @@ public CommandKnight() {
, 2100, 1000, 1000, 4, MonsterAttribute.FIRE, MonsterType.WARRIOR, CardType.EFFECTIVE);
}
- public static void handleEffect(CardStatus cardStatus, Cell cell) {//todo deactivate
+ public static void handleEffect(CardStatus cardStatus, Cell cell) {
if (cell == null || cell.isEmpty() || cardStatus != CardStatus.OFFENSIVE_OCCUPIED ||
!cell.getCellCard().getName().equals("Command Knight")) return;
@@ -47,7 +47,7 @@ public static void deActivateEffect(Cell cell) {
ViewInterface.showResult("Command Knight effect deActivated: all monsters atk will decrease 400");
try {
((CommandKnight) cell.getCellCard()).owner.getGameBoard().addAllMonstersATK(-400);
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
diff --git a/src/main/java/model/cards/monsters/GateGuardian.java b/src/main/java/model/cards/monsters/GateGuardian.java
index 21b54074..b3c0f562 100644
--- a/src/main/java/model/cards/monsters/GateGuardian.java
+++ b/src/main/java/model/cards/monsters/GateGuardian.java
@@ -26,7 +26,6 @@ public static boolean handleEffect(GameController gameController) throws GameExc
GameBoard playerGameBoard = gameController.getCurrentTurnPlayer().getGameBoard();
Cell selectedCell = Cell.getSelectedCell();
if (!selectedCell.getCellCard().getName().equals("Gate Guardian")) return false;
-//todo پنج تا مانستر برا یه هیولا D:
if (!playerGameBoard.doesMonsterZoneHaveMonsters(5) || !gameController.getMainPhase1Controller().canSpecialSummon(gameController)) {
throw new GameException(GameResponses.CAN_NOT_SET_OR_SUMMON.response);
}
diff --git a/src/main/java/model/cards/trapandspells/MonsterReborn.java b/src/main/java/model/cards/trapandspells/MonsterReborn.java
index c70a2f6c..95ab72ef 100644
--- a/src/main/java/model/cards/trapandspells/MonsterReborn.java
+++ b/src/main/java/model/cards/trapandspells/MonsterReborn.java
@@ -82,7 +82,7 @@ public static void setActivated(GameController gameController) {
playerGraveyardMonstersCell.remove(choice - 1);
try {
gameController.getMainPhase1Controller().specialSummon(gameController);
- } catch (GameException e) {
+ } catch (GameException ignored) {
}
return;
} else {
diff --git a/src/main/java/model/cards/trapandspells/TwinTwisters.java b/src/main/java/model/cards/trapandspells/TwinTwisters.java
index 48f7f345..a92a1064 100644
--- a/src/main/java/model/cards/trapandspells/TwinTwisters.java
+++ b/src/main/java/model/cards/trapandspells/TwinTwisters.java
@@ -69,7 +69,7 @@ public static void setActivated(GameController gameController) {
}
Cell.setSelectedCell(oldSelectedCell);
- updateSpellInGameBoard(gameController);//todo, conflict with AI
+ updateSpellInGameBoard(gameController);
}
private static boolean canActivate(GameController gameController) {
diff --git a/src/main/java/view/gamephases/Duel.java b/src/main/java/view/gamephases/Duel.java
index 40b64fcc..c5629eb1 100644
--- a/src/main/java/view/gamephases/Duel.java
+++ b/src/main/java/view/gamephases/Duel.java
@@ -62,7 +62,6 @@ public static void runGame(GameController gameController) {
break;
}
}
- // showPhase();
AIPlayerController.recordGameLogs(gameController);
}
gameController.endGameRound();
diff --git a/src/main/java/view/gamephases/MainPhase1.java b/src/main/java/view/gamephases/MainPhase1.java
index 59be36ee..4a07403b 100644
--- a/src/main/java/view/gamephases/MainPhase1.java
+++ b/src/main/java/view/gamephases/MainPhase1.java
@@ -42,22 +42,6 @@ protected void execute() {
@Override
protected String processCommand(String command) {
String response = "";
- //todo injaro badan azam beporsin tozih bedam bahaton check konam
- /* if (gameController.shouldRitualSummonNow) {
- if (command.matches(GameRegexes.SELECT.regex)) {
- response = processSelect(command);
- } else if (command.matches(GameRegexes.SUMMON.regex)) {
- try {
- mainPhase1Controller.ritualSummon(gameController);
- response=GameResponses.SUMMONED_SUCCESSFULLY.response;
-
- }catch (GameException e){
- response=e.toString();
- }
- } else {
- response = GameResponses.YOU_SHOULD_RITUAL_SUMMON_NOW.response;
- }
- }*/
if (command.equals("show attack")) {
System.out.println(((Monster) Cell.getSelectedCell().getCellCard()).getAtk());
} else if (command.equals("remove card"))
@@ -124,7 +108,6 @@ else if (gameController.checkCommandIsNotInCurrentPhase(command)) {
response = e.toString();
}
}
- //todo check whether we have handled all methods in this phase or not
else if (command.matches(GameRegexes.SURRENDER.regex)) {
gameController.surrender();
} else if (command.matches(GameRegexes.INCREASE_LP.regex)) {
diff --git a/src/main/java/view/gamephases/MainPhase2.java b/src/main/java/view/gamephases/MainPhase2.java
index 71bacc13..5cee2c4d 100644
--- a/src/main/java/view/gamephases/MainPhase2.java
+++ b/src/main/java/view/gamephases/MainPhase2.java
@@ -40,22 +40,6 @@ protected void execute() {
@Override
protected String processCommand(String command) {
String response = "";
- //todo injaro badan azam beporsin tozih bedam bahaton check konam
- /* if (gameController.shouldRitualSummonNow) {
- if (command.matches(GameRegexes.SELECT.regex)) {
- response = processSelect(command);
- } else if (command.matches(GameRegexes.SUMMON.regex)) {
- try {
- mainPhase2Controller.ritualSummon(gameController);
- response=GameResponses.SUMMONED_SUCCESSFULLY.response;
-
- }catch (GameException e){
- response=e.toString();
- }
- } else {
- response = GameResponses.YOU_SHOULD_RITUAL_SUMMON_NOW.response;
- }
- }*/
if (gameController.checkCommandIsNotInCurrentPhase(command)) {
response = GameResponses.ACTION_NOT_ALLOWED_FOR_THIS_PHASE.response;
} else if (command.matches(GameRegexes.NEXT_PHASE.regex)) {
@@ -117,7 +101,6 @@ protected String processCommand(String command) {
response = e.toString();
}
}
- //todo check whether we have handled all methods in this phase or not
else if (command.matches(GameRegexes.SURRENDER.regex)) {
gameController.surrender();
} else if (command.matches(GameRegexes.INCREASE_LP.regex)) {