hover effect FX
This commit is contained in:
@@ -94,8 +94,9 @@ public class DeckGridAppFX extends Application {
|
||||
} catch ( IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
//File fileCsv = new File(getClass().getResource("/files/cards.csv").toURI());
|
||||
game.newGame(csvStream);
|
||||
|
||||
// using false for Testing purpose
|
||||
game.newGame(csvStream, false);
|
||||
|
||||
game.setEventListener(notification -> {
|
||||
Platform.runLater(() -> {
|
||||
@@ -150,9 +151,6 @@ public class DeckGridAppFX extends Application {
|
||||
playersArea.setAlignment(Pos.CENTER);
|
||||
playersArea.setPadding(new Insets(20));
|
||||
|
||||
|
||||
|
||||
|
||||
VBox tableArea = new VBox(20,
|
||||
new Label(" "), topRow,
|
||||
new Label(" "), centerRow,
|
||||
|
||||
346
src/main/java/client/DeckViewerEventFX.java
Normal file
346
src/main/java/client/DeckViewerEventFX.java
Normal file
@@ -0,0 +1,346 @@
|
||||
package client;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.embed.swing.SwingFXUtils;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.ScrollPane;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.BorderPane;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.FileChooser;
|
||||
import javafx.stage.Stage;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
import org.apache.pdfbox.rendering.PDFRenderer;
|
||||
import server.Era;
|
||||
import server.Player;
|
||||
import server.TotemColor;
|
||||
import server.automaton.Game;
|
||||
import server.cards.*;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class DeckViewerEventFX extends Application {
|
||||
|
||||
private PDDocument document;
|
||||
private PDFRenderer pdfRenderer;
|
||||
private int currentIndex = 0;
|
||||
private int totalCards = 0;
|
||||
|
||||
private ImageView cardImageView;
|
||||
private Label pageLabel;
|
||||
private Button btnPrev;
|
||||
private Button btnNext;
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) {
|
||||
|
||||
List<Player> players = new ArrayList<>();
|
||||
players.add(new Player("Yoshi", TotemColor.YELLOW));
|
||||
players.add(new Player("Pippo", TotemColor.PURPLE));
|
||||
players.add(new Player("John", TotemColor.RED));
|
||||
players.add(new Player("Baggio", TotemColor.BLUE));
|
||||
players.add(new Player("Gino", TotemColor.GREEN));
|
||||
|
||||
Game game = new Game(players);
|
||||
InputStream csvStream = getClass().getResourceAsStream("/files/cards.csv");
|
||||
game.newGame(csvStream, false);
|
||||
|
||||
primaryStage.setTitle("Visualizzatore Mazzo di Carte (PDF)");
|
||||
|
||||
// Componente per mostrare la carta
|
||||
cardImageView = new ImageView();
|
||||
cardImageView.setFitHeight(500); // Altezza fissa, larghezza in proporzione
|
||||
cardImageView.setPreserveRatio(true);
|
||||
cardImageView.setStyle("-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.5), 10, 0, 0, 0);");
|
||||
|
||||
// Controlli UI
|
||||
btnPrev = new Button("⬅ Carta Precedente");
|
||||
btnNext = new Button("Carta Successiva ➡");
|
||||
pageLabel = new Label("Nessun mazzo caricato");
|
||||
Button btnLoad = new Button("Carica PDF Mazzo");
|
||||
Button btnGrid = new Button("Grid View");
|
||||
Button btnGridEv = new Button("Grid Event");
|
||||
|
||||
Button btnGridBu = new Button("Grid Building");
|
||||
// Azioni dei pulsanti
|
||||
btnLoad.setOnAction(e -> loadPdf(primaryStage));
|
||||
btnPrev.setOnAction(e -> showCard(currentIndex - 1));
|
||||
btnNext.setOnAction(e -> showCard(currentIndex + 1));
|
||||
btnGrid.setOnAction(e -> showAllCardsGrouped(game));
|
||||
btnGridEv.setOnAction(e -> showEventCardsGrouped(game));
|
||||
btnGridBu.setOnAction(e -> showBuildingCardsGrouped(game));
|
||||
|
||||
updateButtons();
|
||||
//showAllCardsGrouped(Game game)
|
||||
// Layout
|
||||
HBox controls = new HBox(15, btnGridEv, btnGridBu, btnGrid, btnPrev, pageLabel, btnNext);
|
||||
controls.setAlignment(Pos.CENTER);
|
||||
|
||||
VBox topBox = new VBox(10, btnLoad);
|
||||
topBox.setAlignment(Pos.CENTER);
|
||||
topBox.setPadding(new Insets(10));
|
||||
|
||||
BorderPane root = new BorderPane();
|
||||
root.setTop(topBox);
|
||||
root.setCenter(cardImageView);
|
||||
root.setBottom(controls);
|
||||
BorderPane.setMargin(cardImageView, new Insets(20));
|
||||
BorderPane.setMargin(controls, new Insets(20));
|
||||
|
||||
Scene scene = new Scene(root, 600, 700);
|
||||
primaryStage.setScene(scene);
|
||||
primaryStage.show();
|
||||
}
|
||||
|
||||
private void loadPdf(Stage stage) {
|
||||
FileChooser fileChooser = new FileChooser();
|
||||
fileChooser.setTitle("Seleziona il PDF del mazzo di carte");
|
||||
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("File PDF", "*.pdf"));
|
||||
File file = fileChooser.showOpenDialog(stage);
|
||||
|
||||
if (file != null) {
|
||||
try {
|
||||
// Chiude il documento precedente se esiste
|
||||
if (document != null) {
|
||||
document.close();
|
||||
}
|
||||
|
||||
// Carica il nuovo PDF
|
||||
document = PDDocument.load(file);
|
||||
pdfRenderer = new PDFRenderer(document);
|
||||
totalCards = document.getNumberOfPages();
|
||||
|
||||
// Mostra la prima carta
|
||||
showCard(0);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
pageLabel.setText("Errore nel caricamento del file!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showCard(int index) {
|
||||
if (document == null || index < 0 || index >= totalCards) return;
|
||||
|
||||
try {
|
||||
// Renderizza la pagina del PDF in un'immagine BufferedImage (DPI 150 per buona qualità)
|
||||
BufferedImage bim = pdfRenderer.renderImageWithDPI(index, 150);
|
||||
|
||||
// Converte l'immagine di AWT (Swing) in un'immagine JavaFX
|
||||
Image fxImage = SwingFXUtils.toFXImage(bim, null);
|
||||
|
||||
cardImageView.setImage(fxImage);
|
||||
currentIndex = index;
|
||||
pageLabel.setText("Carta " + (currentIndex + 1) + " di " + totalCards);
|
||||
|
||||
updateButtons();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private ImageView loadCardImage(int index, int height) {
|
||||
if (document == null || index < 0 || index >= totalCards) return null;
|
||||
|
||||
try {
|
||||
BufferedImage bim = pdfRenderer.renderImageWithDPI(index, 150);
|
||||
Image fxImage = SwingFXUtils.toFXImage(bim, null);
|
||||
|
||||
ImageView imageView = new ImageView(fxImage);
|
||||
imageView.setPreserveRatio(true);
|
||||
imageView.setFitHeight(height);
|
||||
|
||||
return imageView;
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void updateButtons() {
|
||||
btnPrev.setDisable(document == null || currentIndex == 0);
|
||||
btnNext.setDisable(document == null || currentIndex == totalCards - 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() throws Exception {
|
||||
// Importante: chiudere il documento per liberare la memoria quando l'app si chiude
|
||||
if (document != null) {
|
||||
document.close();
|
||||
}
|
||||
super.stop();
|
||||
}
|
||||
|
||||
private void showAllCardsGrouped(Game game) {
|
||||
if (document == null || pdfRenderer == null) return;
|
||||
|
||||
VBox rootBox = new VBox(30);
|
||||
rootBox.setPadding(new Insets(20));
|
||||
|
||||
// Group cards by type
|
||||
//Card ctop = gameBoard.getTopRow().stream().filter(s -> s instanceof CharacterCard
|
||||
Map<CharacterType, List<CharacterCard>> cardsByType =
|
||||
game.getGameBoard()
|
||||
.getCardDeck()
|
||||
.getTribeDeck()
|
||||
.stream()
|
||||
.filter(s -> s instanceof CharacterCard)
|
||||
.map(s -> (CharacterCard) s)
|
||||
.collect(Collectors.groupingBy(CharacterCard::getCharacterType));
|
||||
|
||||
for (Map.Entry<CharacterType, List<CharacterCard>> entry : cardsByType.entrySet()) {
|
||||
|
||||
CharacterType type = entry.getKey();
|
||||
List<CharacterCard> cards = entry.getValue();
|
||||
|
||||
// Title for the group
|
||||
Label typeLabel = new Label("Tipo: " + type);
|
||||
typeLabel.setStyle("-fx-font-size: 20px; -fx-font-weight: bold;");
|
||||
|
||||
// Grid for cards (4 columns = 4 cards per row)
|
||||
GridPane grid = new GridPane();
|
||||
grid.setHgap(10);
|
||||
grid.setVgap(10);
|
||||
|
||||
for (int i = 0; i < cards.size(); i++) {
|
||||
Card card = cards.get(i);
|
||||
|
||||
int col = i % 4;
|
||||
int row = i / 4;
|
||||
|
||||
ImageView imageView = loadCardImage(card.getCardId(), 200);
|
||||
|
||||
grid.add(imageView, col, row);
|
||||
}
|
||||
|
||||
rootBox.getChildren().addAll(typeLabel, grid);
|
||||
}
|
||||
|
||||
ScrollPane scrollPane = new ScrollPane(rootBox);
|
||||
scrollPane.setFitToWidth(true);
|
||||
|
||||
Stage stage = new Stage();
|
||||
stage.setTitle("Tutte le carte per tipo");
|
||||
|
||||
stage.setScene(new Scene(scrollPane, 1200, 900));
|
||||
stage.show();
|
||||
}
|
||||
|
||||
private void showEventCardsGrouped(Game game) {
|
||||
if (document == null || pdfRenderer == null) return;
|
||||
|
||||
VBox rootBox = new VBox(30);
|
||||
rootBox.setPadding(new Insets(20));
|
||||
|
||||
// Group cards by type
|
||||
//Card ctop = gameBoard.getTopRow().stream().filter(s -> s instanceof CharacterCard
|
||||
Map<Event, List<EventCard>> cardsByType =
|
||||
game.getGameBoard()
|
||||
.getCardDeck()
|
||||
.getTribeDeck()
|
||||
.stream()
|
||||
.filter(s -> s instanceof EventCard)
|
||||
.map(s -> (EventCard) s)
|
||||
.collect(Collectors.groupingBy(EventCard::getEvent));
|
||||
|
||||
for (Map.Entry<Event, List<EventCard>> entry : cardsByType.entrySet()) {
|
||||
|
||||
Event type = entry.getKey();
|
||||
List<EventCard> cards = entry.getValue();
|
||||
|
||||
// Title for the group
|
||||
Label typeLabel = new Label("Tipo: " + type);
|
||||
typeLabel.setStyle("-fx-font-size: 20px; -fx-font-weight: bold;");
|
||||
|
||||
// Grid for cards (4 columns = 4 cards per row)
|
||||
GridPane grid = new GridPane();
|
||||
grid.setHgap(10);
|
||||
grid.setVgap(10);
|
||||
|
||||
for (int i = 0; i < cards.size(); i++) {
|
||||
Card card = cards.get(i);
|
||||
|
||||
int col = i % 4;
|
||||
int row = i / 4;
|
||||
|
||||
ImageView imageView = loadCardImage(card.getCardId(), 200);
|
||||
|
||||
grid.add(imageView, col, row);
|
||||
}
|
||||
|
||||
rootBox.getChildren().addAll(typeLabel, grid);
|
||||
}
|
||||
|
||||
ScrollPane scrollPane = new ScrollPane(rootBox);
|
||||
scrollPane.setFitToWidth(true);
|
||||
|
||||
Stage stage = new Stage();
|
||||
stage.setTitle("Tutte le carte per tipo");
|
||||
|
||||
stage.setScene(new Scene(scrollPane, 1200, 900));
|
||||
stage.show();
|
||||
}
|
||||
private void showBuildingCardsGrouped(Game game) {
|
||||
if (document == null || pdfRenderer == null) return;
|
||||
|
||||
VBox rootBox = new VBox(30);
|
||||
rootBox.setPadding(new Insets(20));
|
||||
|
||||
|
||||
Map<server.Era, List<Card>> cardsByType =game.getGameBoard().getCardDeck().getBuildingDeckMap();
|
||||
for (Map.Entry<server.Era, List<Card>> entry : cardsByType.entrySet()) {
|
||||
|
||||
server.Era type = entry.getKey();
|
||||
List<Card> cards = entry.getValue();
|
||||
|
||||
// Title for the group
|
||||
Label typeLabel = new Label("Tipo: " + type);
|
||||
typeLabel.setStyle("-fx-font-size: 20px; -fx-font-weight: bold;");
|
||||
|
||||
// Grid for cards (4 columns = 4 cards per row)
|
||||
GridPane grid = new GridPane();
|
||||
grid.setHgap(10);
|
||||
grid.setVgap(10);
|
||||
|
||||
for (int i = 0; i < cards.size(); i++) {
|
||||
Card card = cards.get(i);
|
||||
|
||||
int col = i % 4;
|
||||
int row = i / 4;
|
||||
|
||||
ImageView imageView = loadCardImage(card.getCardId(), 200);
|
||||
|
||||
grid.add(imageView, col, row);
|
||||
}
|
||||
|
||||
rootBox.getChildren().addAll(typeLabel, grid);
|
||||
}
|
||||
|
||||
ScrollPane scrollPane = new ScrollPane(rootBox);
|
||||
scrollPane.setFitToWidth(true);
|
||||
|
||||
Stage stage = new Stage();
|
||||
stage.setTitle("Tutte le carte per tipo");
|
||||
|
||||
stage.setScene(new Scene(scrollPane, 1200, 900));
|
||||
stage.show();
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
launch(args);
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,7 @@ public class DeckViewerFX extends Application {
|
||||
|
||||
Game game = new Game(players);
|
||||
InputStream csvStream = getClass().getResourceAsStream("/files/cards.csv");
|
||||
game.newGame(csvStream);
|
||||
game.newGame(csvStream, false);
|
||||
|
||||
primaryStage.setTitle("Visualizzatore Mazzo di Carte (PDF)");
|
||||
|
||||
|
||||
@@ -97,12 +97,12 @@ public class Game {
|
||||
* Initial food (rulebook setup step 10):
|
||||
* Slot 1 -> 2 food, slots 2-3 -> 3 food, slots 4-5 -> 4 food.
|
||||
*/
|
||||
public void newGame(InputStream csvStream) {
|
||||
public void newGame(InputStream csvStream, boolean shuffle) {
|
||||
try {
|
||||
logger.info(" ---- STARTING NEW GAME ----- ");
|
||||
|
||||
CardDeck deck = new CardDeck();
|
||||
deck.setForNPlayer(csvStream, players.size());
|
||||
deck.setForNPlayer(csvStream, players.size(), shuffle);
|
||||
|
||||
gameBoard = new GameBoard(Era.I, deck, players.size());
|
||||
gameBoard.initOfferingTiles(players.size());
|
||||
@@ -617,11 +617,11 @@ public class Game {
|
||||
}
|
||||
|
||||
private void resolveOneEvent(EventCard event) {
|
||||
logger.info(">>"+gameBoard.getTurnTile());
|
||||
logger.info(">> before event "+gameBoard.getTurnTile());
|
||||
notify( GameState.EVENT_RESOLUTION, event.toString());
|
||||
logger.info("SOLVE EVENT: " + event.getEvent() +" - " +event.getCardId() +" (Era " + event.getEra() + ")");
|
||||
EventsSolver.solveEvents(Collections.singletonList(event), players);
|
||||
logger.info("<<"+gameBoard.getTurnTile());
|
||||
logger.info("<< after event "+gameBoard.getTurnTile());
|
||||
}
|
||||
|
||||
private void startNewRound() {
|
||||
|
||||
@@ -27,6 +27,10 @@ public class CardDeck {
|
||||
return buildingDeck.get(era);
|
||||
}
|
||||
|
||||
public Map<Era, List<Card>> getBuildingDeckMap() {
|
||||
return buildingDeck;
|
||||
}
|
||||
|
||||
public void setForNPlayerPathTest(String path, int n) throws LoadingCardsException {
|
||||
|
||||
List<Card> tribe = new ArrayList<>();
|
||||
@@ -74,7 +78,7 @@ public class CardDeck {
|
||||
|
||||
|
||||
|
||||
public void setForNPlayer(InputStream csvStream, int n) throws LoadingCardsException {
|
||||
public void setForNPlayer(InputStream csvStream, int n, boolean shuffle) throws LoadingCardsException {
|
||||
List<Card> tribe = new ArrayList<>();
|
||||
List<Card> building = new ArrayList<>();
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(csvStream))) {
|
||||
@@ -106,13 +110,13 @@ public class CardDeck {
|
||||
throw new LoadingCardsException("file not found");
|
||||
}
|
||||
|
||||
building = CardDeck.shuffle(building);
|
||||
if (shuffle) building = CardDeck.shuffle(building);
|
||||
|
||||
this.tribeDeck = tribe.stream()
|
||||
.filter(card -> card.getForMinPlayer() <= n)
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
this.tribeDeck = CardDeck.shuffle(this.tribeDeck);
|
||||
if (shuffle) this.tribeDeck = CardDeck.shuffle(this.tribeDeck);
|
||||
this.buildingDeck = building.stream().collect(Collectors.groupingBy(Card::getEra));
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ class BuildingManagerTest {
|
||||
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
//cardDeck.setForNPlayerPath("./src/test/resources/files/only_building_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(BuildingManagerTest.class.getResourceAsStream("/files/only_building_deck.csv"), 4);
|
||||
cardDeck.setForNPlayer(BuildingManagerTest.class.getResourceAsStream("/files/only_building_deck.csv"), 4, true);
|
||||
//for(BuildingCard c: cardDeck.drawBuilding(30)){
|
||||
// buildingManager.addActiveBuilding(c, players.getFirst());
|
||||
//}
|
||||
|
||||
@@ -79,7 +79,7 @@ class EventsSolverTest {
|
||||
void solveEvents() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
//cardDeck.setForNPlayerPath("./src/test/resources/files/only_event_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 5, true);
|
||||
|
||||
List<EventCard> events = new ArrayList<>();
|
||||
for(Card c: cardDeck.getTribeDeck()){
|
||||
|
||||
@@ -27,7 +27,7 @@ class GameBoardTest {
|
||||
players.add(player4);
|
||||
players.add(player5);
|
||||
//deck.setForNPlayerPath(".\\src\\test\\resources\\files\\test_gameboard.csv",5);
|
||||
deck.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard.csv"), 5);
|
||||
deck.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard.csv"), 5, true);
|
||||
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ class GameBoardTest {
|
||||
//test that a hunter card has been added to the player
|
||||
CardDeck deck2 = new CardDeck();
|
||||
//deck2.setForNPlayerPath("./src/test/resources/files/test_gameboard_characters.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_characters.csv"), 5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_characters.csv"), 5, true);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.I,deck2,players.size());
|
||||
Player player = new Player("Lucy", TotemColor.BLUE);
|
||||
@@ -62,7 +62,7 @@ class GameBoardTest {
|
||||
//tests that a hunter card has been added to the player
|
||||
CardDeck deck2 = new CardDeck();
|
||||
//deck2.setForNPlayerPath("./src/test/resources/files/test_gameboard_characters.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_characters.csv"), 5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_characters.csv"), 5, true);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.I,deck2,players.size());
|
||||
Player player = new Player("Lucy", TotemColor.BLUE);
|
||||
@@ -77,7 +77,7 @@ class GameBoardTest {
|
||||
//tests that the result is a list of event cards
|
||||
CardDeck deck2 = new CardDeck();
|
||||
//deck2.setForNPlayerPath(".\\src\\test\\resources\\files\\test_gameboard_events.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_events.csv"), 5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_events.csv"), 5, true);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.I,deck2,players.size());
|
||||
|
||||
@@ -120,7 +120,7 @@ class GameBoardTest {
|
||||
//tests that with era change the top row of building is of era II
|
||||
CardDeck deck2 = new CardDeck();
|
||||
//deck2.setForNPlayerPath(".\\src\\test\\resources\\files\\only_building_deck.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 5, true);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.II,deck2,players.size());
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ class GameTest {
|
||||
|
||||
|
||||
game = new Game(players);
|
||||
game.newGame(getClass().getResourceAsStream("/files/cards.csv"));
|
||||
game.newGame(getClass().getResourceAsStream("/files/cards.csv"), false);
|
||||
System.out.println("Current Player " +game.getCurrentPlayer());
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class CardDeckTest {
|
||||
@Test
|
||||
void loadOnlyCharacter(){
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_character_deck.csv"), 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_character_deck.csv"), 4, true);
|
||||
|
||||
assertEquals(2, cardDeck.getTribeDeck().size());
|
||||
}
|
||||
@@ -25,14 +25,14 @@ class CardDeckTest {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/only_building_deck.csv", 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 4, true);
|
||||
assertEquals(0, cardDeck.getTribeDeck().size());
|
||||
assertEquals(6, cardDeck.getBuildingDeck(Era.I).size());
|
||||
assertEquals(7, cardDeck.getBuildingDeck(Era.II).size());
|
||||
assertEquals(8, cardDeck.getBuildingDeck(Era.III).size());
|
||||
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/only_event_deck.csv", 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 4, true);
|
||||
assertEquals(3, cardDeck.getTribeDeck().size());
|
||||
assertEquals(0, cardDeck.getBuildingDeck(Era.I).size());
|
||||
assertEquals(0, cardDeck.getBuildingDeck(Era.II).size());
|
||||
@@ -50,7 +50,7 @@ class CardDeckTest {
|
||||
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5, true);
|
||||
|
||||
//int deckSize = cardDeck.getTribeDeck().size() + cardDeck.getBuildingDeck().size();
|
||||
|
||||
@@ -68,7 +68,7 @@ class CardDeckTest {
|
||||
void drawTribe() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5, true);
|
||||
List<Card> cards = cardDeck.drawTribe(5);
|
||||
assertEquals(5, cards.size());
|
||||
}
|
||||
@@ -78,7 +78,7 @@ class CardDeckTest {
|
||||
void drawBuilding() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5, true);
|
||||
|
||||
// List<BuildingCard> buildingCards = cardDeck.drawBuilding(3);
|
||||
// assertEquals(3, buildingCards.size());
|
||||
@@ -90,7 +90,7 @@ class CardDeckTest {
|
||||
void drawTooManyCards() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/only_character_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_character_deck.csv"), 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_character_deck.csv"), 5, true);
|
||||
|
||||
List<Card> cards = cardDeck.drawTribe(5);
|
||||
assertEquals(3, cards.size());
|
||||
@@ -101,7 +101,7 @@ class CardDeckTest {
|
||||
void shuffledDeck() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
// cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5, true);
|
||||
|
||||
assertEquals(Era.I, cardDeck.drawTribe(1).getFirst().getEra());
|
||||
assertEquals(Era.FINAL, cardDeck.drawTribe(100).getLast().getEra());
|
||||
|
||||
Reference in New Issue
Block a user