Restored local changes after SSH re-clone
This commit is contained in:
BIN
src/.DS_Store
vendored
Normal file
BIN
src/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
src/main/.DS_Store
vendored
Normal file
BIN
src/main/.DS_Store
vendored
Normal file
Binary file not shown.
@@ -4,6 +4,7 @@ import Server.*;
|
||||
import Server.Cards.*;
|
||||
import Server.Utils.LoadingCardsException;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -94,12 +95,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(String cardsFilePath) {
|
||||
public void newGame(InputStream csvStream) {
|
||||
try {
|
||||
logger.info("STARTING NEW GAME : ", cardsFilePath);
|
||||
logger.info("STARTING NEW GAME");
|
||||
|
||||
CardDeck deck = new CardDeck();
|
||||
deck.setForNPlayer(cardsFilePath, players.size());
|
||||
deck.setForNPlayer(csvStream, players.size());
|
||||
|
||||
gameBoard = new GameBoard(Era.I, deck, players.size());
|
||||
gameBoard.initOfferingTiles(players.size());
|
||||
|
||||
@@ -6,7 +6,10 @@ import Server.Utils.LoadingCardsException;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
@@ -25,7 +28,7 @@ public class CardDeck {
|
||||
return buildingDeck.get(era);
|
||||
}
|
||||
|
||||
public void setForNPlayer(String path, int n) throws LoadingCardsException {
|
||||
public void setForNPlayerPathTest(String path, int n) throws LoadingCardsException {
|
||||
|
||||
List<Card> tribe = new ArrayList<>();
|
||||
List<Card> building = new ArrayList<>();
|
||||
@@ -70,6 +73,52 @@ public class CardDeck {
|
||||
this.buildingDeck = building.stream().collect(Collectors.groupingBy(Card::getEra));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setForNPlayer(InputStream csvStream, int n) throws LoadingCardsException {
|
||||
List<Card> tribe = new ArrayList<>();
|
||||
List<Card> building = new ArrayList<>();
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(csvStream))) {
|
||||
String row;
|
||||
int p = 0;
|
||||
while ((row = reader.readLine()) != null) {
|
||||
String cleanRow = row.trim();
|
||||
String[] fields = cleanRow.split(";");
|
||||
|
||||
logger.info((p++) + " ROW " + row);
|
||||
|
||||
switch (fields[0]) {
|
||||
case "C":
|
||||
tribe.add(CharacterCard.parsRow(row));
|
||||
break;
|
||||
case "E":
|
||||
tribe.add(EventCard.parsRow(row));
|
||||
break;
|
||||
case "B":
|
||||
building.add(BuildingCard.parsRow(row));
|
||||
break;
|
||||
default:
|
||||
throw new LoadingCardsException("Content not supported");
|
||||
}
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
logger.error(e);
|
||||
throw new LoadingCardsException("file not found");
|
||||
}
|
||||
|
||||
building = CardDeck.shuffle(building);
|
||||
|
||||
this.tribeDeck = tribe.stream()
|
||||
.filter(card -> card.getForMinPlayer() <= n)
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
this.tribeDeck = CardDeck.shuffle(this.tribeDeck);
|
||||
this.buildingDeck = building.stream().collect(Collectors.groupingBy(Card::getEra));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<Card> drawTribe(int n) {
|
||||
List<Card> cards = new ArrayList<>();
|
||||
for (int i = 0; i < n; i++) {
|
||||
|
||||
@@ -33,6 +33,8 @@ import org.apache.pdfbox.rendering.PDFRenderer;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -69,29 +71,26 @@ public class DeckGridAppFX extends Application {
|
||||
players.add(new Player("Blue", TotemColor.BLUE));
|
||||
//players.add(new Player("Purple", TotemColor.PURPLE));
|
||||
players.add(new Player("Red", TotemColor.RED));
|
||||
|
||||
//players.add(new Player("Green", TotemColor.GREEN));
|
||||
|
||||
Game game = new Game(players);
|
||||
String fileCards="/home/lorenzo/dev/Mesos2/src/main/resources/files/cards.csv";
|
||||
String fileCardsImgFront="/home/lorenzo/dev/Mesos2/src/main/resources/files/Cards_total_front_PROMO.pdf";
|
||||
String fileCardsImgCover="/home/lorenzo/dev/Mesos2/src/main/resources/files/Cards_total_back_PROMO.pdf";
|
||||
|
||||
InputStream frontStream = getClass().getResourceAsStream("/files/Cards_total_front_PROMO.pdf");
|
||||
InputStream backStream = getClass().getResourceAsStream("/files/Cards_total_back_PROMO.pdf");
|
||||
InputStream csvStream = getClass().getResourceAsStream("/files/cards.csv");
|
||||
|
||||
try {
|
||||
|
||||
File fileFront = new File(fileCardsImgFront);
|
||||
File fileBack = new File(fileCardsImgCover);
|
||||
|
||||
documentFront = PDDocument.load(fileFront);
|
||||
documentFront = PDDocument.load(frontStream);
|
||||
pdfRendererFront = new PDFRenderer(documentFront);
|
||||
documentBack = PDDocument.load(fileBack);
|
||||
|
||||
documentBack = PDDocument.load(backStream);
|
||||
pdfRendererBack = new PDFRenderer(documentBack);
|
||||
|
||||
} catch ( IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
game.newGame(fileCards);
|
||||
//File fileCsv = new File(getClass().getResource("/files/cards.csv").toURI());
|
||||
game.newGame(csvStream);
|
||||
|
||||
game.setEventListener(notification -> {
|
||||
Platform.runLater(() -> {
|
||||
@@ -327,9 +326,9 @@ public class DeckGridAppFX extends Application {
|
||||
}
|
||||
}
|
||||
|
||||
private StackPane drawTurnTileCardImageWithPlayers(String imagePath, int height, Player[] players) {
|
||||
private StackPane drawTurnTileCardImageWithPlayers(InputStream imgStream, int height, Player[] players) {
|
||||
try {
|
||||
Image fxImage = new Image("file:" + imagePath);
|
||||
Image fxImage = new Image(imgStream);
|
||||
|
||||
ImageView imageView = new ImageView(fxImage);
|
||||
imageView.setFitHeight(height);
|
||||
@@ -366,7 +365,7 @@ public class DeckGridAppFX extends Application {
|
||||
return stack;
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("Errore caricamento immagine {}", imagePath, e);
|
||||
logger.error("Errore caricamento immagine {}", imgStream, e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -397,8 +396,9 @@ public class DeckGridAppFX extends Application {
|
||||
row.getChildren().add(turnBox);
|
||||
|
||||
// --- TURN TILE ---
|
||||
|
||||
StackPane pane = drawTurnTileCardImageWithPlayers(
|
||||
"/home/lorenzo/dev/Mesos2/src/main/resources/files/Start_" + n + "P.png",
|
||||
getClass().getResourceAsStream("/files/Start_" + n + "P.png"),
|
||||
IMG_HEIGHT,
|
||||
game.getGameBoard().getTurnTile().getPositions()
|
||||
);
|
||||
@@ -409,10 +409,9 @@ public class DeckGridAppFX extends Application {
|
||||
for (OfferingTile offering : game.getGameBoard().getOfferingTiles()) {
|
||||
Player occupant = offering.getOccupant();
|
||||
StackPane offPane =drawOfferingCardImageWithTotem(
|
||||
"/home/lorenzo/dev/Mesos2/src/main/resources/files/offering" + offering.getLetter() + ".png",
|
||||
getClass().getResourceAsStream("/files/offering" + offering.getLetter() + ".png"),
|
||||
IMG_HEIGHT,
|
||||
occupant, game, offering);
|
||||
|
||||
if (offPane != null) {
|
||||
row.getChildren().add(offPane);
|
||||
}
|
||||
@@ -550,9 +549,10 @@ public class DeckGridAppFX extends Application {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
private StackPane drawOfferingCardImageWithTotem(String imagePath, int height, Player occupant, Game game, OfferingTile offering) {
|
||||
|
||||
private StackPane drawOfferingCardImageWithTotem(InputStream imagePath, int height, Player occupant, Game game, OfferingTile offering) {
|
||||
try {
|
||||
Image fxImage = new Image("file:" + imagePath);
|
||||
Image fxImage = new Image(imagePath);
|
||||
|
||||
ImageView imageView = new ImageView(fxImage);
|
||||
imageView.setFitHeight(height);
|
||||
@@ -588,10 +588,9 @@ public class DeckGridAppFX extends Application {
|
||||
}
|
||||
|
||||
|
||||
|
||||
private ImageView createCardImage(String imagePath, int height) {
|
||||
private ImageView createCardImage(InputStream imagePath, int height) {
|
||||
try {
|
||||
Image fxImage = new Image("file:" + imagePath);
|
||||
Image fxImage = new Image(imagePath);
|
||||
|
||||
ImageView imageView = new ImageView(fxImage);
|
||||
imageView.setFitHeight(height);
|
||||
@@ -604,6 +603,7 @@ public class DeckGridAppFX extends Application {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void showPopup(String message) {
|
||||
Platform.runLater(() -> {
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.apache.pdfbox.rendering.PDFRenderer;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Path;
|
||||
@@ -70,25 +71,24 @@ public class DeckGridAppFX extends Application {
|
||||
players.add(new Player("Gino", TotemColor.GREEN));
|
||||
|
||||
Game game = new Game(players);
|
||||
String fileCards="/home/lorenzo/dev/Mesos2/src/main/resources/files/cards.csv";
|
||||
String fileCardsImgFront="/home/lorenzo/dev/Mesos2/src/main/resources/files/Cards_total_front_PROMO.pdf";
|
||||
String fileCardsImgCover="/home/lorenzo/dev/Mesos2/src/main/resources/files/Cards_total_back_PROMO.pdf";
|
||||
|
||||
InputStream frontStream = getClass().getResourceAsStream("/files/Cards_total_front_PROMO.pdf");
|
||||
InputStream backStream = getClass().getResourceAsStream("/files/Cards_total_back_PROMO.pdf");
|
||||
InputStream csvStream = getClass().getResourceAsStream("/files/cards.csv");
|
||||
|
||||
try {
|
||||
|
||||
File fileFront = new File(fileCardsImgFront);
|
||||
File fileBack = new File(fileCardsImgCover);
|
||||
|
||||
documentFront = PDDocument.load(fileFront);
|
||||
documentFront = PDDocument.load(frontStream);
|
||||
pdfRendererFront = new PDFRenderer(documentFront);
|
||||
documentBack = PDDocument.load(fileBack);
|
||||
|
||||
documentBack = PDDocument.load(backStream);
|
||||
pdfRendererBack = new PDFRenderer(documentBack);
|
||||
|
||||
} catch ( IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
//File fileCsv = new File(getClass().getResource("/files/cards.csv").toURI());
|
||||
game.newGame(csvStream);
|
||||
|
||||
game.newGame(fileCards);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.apache.pdfbox.rendering.PDFRenderer;
|
||||
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;
|
||||
|
||||
@@ -49,7 +50,8 @@ public class DeckViewerFX extends Application {
|
||||
players.add(new Player("Gino", TotemColor.GREEN));
|
||||
|
||||
Game game = new Game(players);
|
||||
game.newGame("/home/lorenzo/dev/Mesos2/src/main/resources/files/cards.csv");
|
||||
InputStream csvStream = getClass().getResourceAsStream("/files/cards.csv");
|
||||
game.newGame(csvStream);
|
||||
|
||||
primaryStage.setTitle("Visualizzatore Mazzo di Carte (PDF)");
|
||||
|
||||
|
||||
BIN
src/main/resources/.DS_Store
vendored
Normal file
BIN
src/main/resources/.DS_Store
vendored
Normal file
Binary file not shown.
@@ -63,8 +63,8 @@ class BuildingManagerTest {
|
||||
players.add(loser);
|
||||
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/only_building_deck.csv", 5);
|
||||
|
||||
//cardDeck.setForNPlayerPath("./src/test/resources/files/only_building_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(BuildingManagerTest.class.getResourceAsStream("/files/only_building_deck.csv"), 4);
|
||||
//for(BuildingCard c: cardDeck.drawBuilding(30)){
|
||||
// buildingManager.addActiveBuilding(c, players.getFirst());
|
||||
//}
|
||||
|
||||
@@ -12,7 +12,7 @@ class CardDeckTest {
|
||||
@Test
|
||||
void loadOnlyCharacter(){
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/only_character_deck.csv", 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/cards.csv"), 4);
|
||||
assertEquals(2, cardDeck.getTribeDeck().size());
|
||||
}
|
||||
|
||||
@@ -22,13 +22,15 @@ class CardDeckTest {
|
||||
void doubleLoad(){
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/only_building_deck.csv", 4);
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/only_building_deck.csv", 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 4);
|
||||
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("./src/test/resources/files/only_event_deck.csv", 4);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 4);
|
||||
assertEquals(3, cardDeck.getTribeDeck().size());
|
||||
assertEquals(0, cardDeck.getBuildingDeck(Era.I).size());
|
||||
assertEquals(0, cardDeck.getBuildingDeck(Era.II).size());
|
||||
@@ -45,7 +47,9 @@ class CardDeckTest {
|
||||
int drawnCards = tribeDraw + buildingDraw;
|
||||
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
|
||||
//int deckSize = cardDeck.getTribeDeck().size() + cardDeck.getBuildingDeck().size();
|
||||
|
||||
List<Card> cards = cardDeck.drawTribe(tribeDraw);
|
||||
@@ -61,8 +65,8 @@ class CardDeckTest {
|
||||
@Test
|
||||
void drawTribe() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
List<Card> cards = cardDeck.drawTribe(5);
|
||||
assertEquals(5, cards.size());
|
||||
}
|
||||
@@ -71,7 +75,8 @@ class CardDeckTest {
|
||||
@Test
|
||||
void drawBuilding() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
|
||||
// List<BuildingCard> buildingCards = cardDeck.drawBuilding(3);
|
||||
// assertEquals(3, buildingCards.size());
|
||||
@@ -82,7 +87,8 @@ class CardDeckTest {
|
||||
@Test
|
||||
void drawTooManyCards() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/only_character_deck.csv", 5);
|
||||
//cardDeck.setForNPlayer("./src/test/resources/files/only_character_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_character_deck.csv"), 5);
|
||||
|
||||
List<Card> cards = cardDeck.drawTribe(5);
|
||||
assertEquals(3, cards.size());
|
||||
@@ -92,7 +98,8 @@ class CardDeckTest {
|
||||
@Test
|
||||
void shuffledDeck() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
// cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
|
||||
|
||||
assertEquals(Era.I, cardDeck.drawTribe(1).getFirst().getEra());
|
||||
assertEquals(Era.FINAL, cardDeck.drawTribe(100).getLast().getEra());
|
||||
|
||||
@@ -78,7 +78,8 @@ class EventsSolverTest {
|
||||
@Test
|
||||
void solveEvents() {
|
||||
CardDeck cardDeck = new CardDeck();
|
||||
cardDeck.setForNPlayer("./src/test/resources/files/only_event_deck.csv", 5);
|
||||
//cardDeck.setForNPlayerPath("./src/test/resources/files/only_event_deck.csv", 5);
|
||||
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 5);
|
||||
|
||||
List<EventCard> events = new ArrayList<>();
|
||||
for(Card c: cardDeck.getTribeDeck()){
|
||||
|
||||
@@ -26,7 +26,9 @@ class GameBoardTest {
|
||||
players.add(player3);
|
||||
players.add(player4);
|
||||
players.add(player5);
|
||||
deck.setForNPlayer(".\\src\\test\\resources\\files\\test_gameboard.csv",5);
|
||||
//deck.setForNPlayerPath(".\\src\\test\\resources\\files\\test_gameboard.csv",5);
|
||||
deck.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard.csv"), 5);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -45,7 +47,9 @@ class GameBoardTest {
|
||||
|
||||
//test that a hunter card has been added to the player
|
||||
CardDeck deck2 = new CardDeck();
|
||||
deck2.setForNPlayer("./src/test/resources/files/test_gameboard_characters.csv",5);
|
||||
//deck2.setForNPlayerPath("./src/test/resources/files/test_gameboard_characters.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_characters.csv"), 5);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.I,deck2,players.size());
|
||||
Player player = new Player("Lucy", TotemColor.BLUE);
|
||||
gameBoard.setupInitialRows(5);
|
||||
@@ -57,7 +61,9 @@ class GameBoardTest {
|
||||
void drawTopCard() {
|
||||
//tests that a hunter card has been added to the player
|
||||
CardDeck deck2 = new CardDeck();
|
||||
deck2.setForNPlayer("./src/test/resources/files/test_gameboard_characters.csv",5);
|
||||
//deck2.setForNPlayerPath("./src/test/resources/files/test_gameboard_characters.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_characters.csv"), 5);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.I,deck2,players.size());
|
||||
Player player = new Player("Lucy", TotemColor.BLUE);
|
||||
gameBoard.setupInitialRows(5);
|
||||
@@ -70,7 +76,9 @@ class GameBoardTest {
|
||||
|
||||
//tests that the result is a list of event cards
|
||||
CardDeck deck2 = new CardDeck();
|
||||
deck2.setForNPlayer(".\\src\\test\\resources\\files\\test_gameboard_events.csv",5);
|
||||
//deck2.setForNPlayerPath(".\\src\\test\\resources\\files\\test_gameboard_events.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/test_gameboard_events.csv"), 5);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.I,deck2,players.size());
|
||||
|
||||
gameBoard.setupInitialRows(5);
|
||||
@@ -111,7 +119,9 @@ class GameBoardTest {
|
||||
|
||||
//tests that with era change the top row of building is of era II
|
||||
CardDeck deck2 = new CardDeck();
|
||||
deck2.setForNPlayer(".\\src\\test\\resources\\files\\only_building_deck.csv",5);
|
||||
//deck2.setForNPlayerPath(".\\src\\test\\resources\\files\\only_building_deck.csv",5);
|
||||
deck2.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 5);
|
||||
|
||||
GameBoard gameBoard = new GameBoard(Era.II,deck2,players.size());
|
||||
|
||||
//assertEquals(Era.II,gameBoard.ChangeBuildings().getFirst().getEra());
|
||||
|
||||
Reference in New Issue
Block a user