temp
This commit is contained in:
@@ -1,93 +1,93 @@
|
|||||||
package it.polimi.ingsw.gc14.View.TUI;
|
//package it.polimi.ingsw.gc14.View.TUI;
|
||||||
import it.polimi.ingsw.gc14.Model.Game;
|
//import it.polimi.ingsw.gc14.Model.Game;
|
||||||
|
//
|
||||||
public class TUI {
|
//public class TUI {
|
||||||
|
//
|
||||||
// ── dati di stato ───────────────────────────────────────────
|
// // ── dati di stato ───────────────────────────────────────────
|
||||||
private BorderStyle style = BorderStyle.UNICODE;
|
// private BorderStyle style = BorderStyle.UNICODE;
|
||||||
private Game model;
|
// private Game model;
|
||||||
// ── punto di ingresso ───────────────────────────────────────
|
// // ── punto di ingresso ───────────────────────────────────────
|
||||||
public String render() {
|
// public String render() {
|
||||||
var sb = new StringBuilder();
|
// var sb = new StringBuilder();
|
||||||
sb.append(renderHeader());
|
// sb.append(renderHeader());
|
||||||
sb.append(renderTurnOrder());
|
// sb.append(renderTurnOrder());
|
||||||
sb.append(renderOfferTrack());
|
// sb.append(renderOfferTrack());
|
||||||
sb.append(renderCardRows());
|
// sb.append(renderCardRows());
|
||||||
sb.append(renderTableaux());
|
// sb.append(renderTableaux());
|
||||||
sb.append(renderFooter());
|
// sb.append(renderFooter());
|
||||||
return sb.toString();
|
// return sb.toString();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// ── sezioni ─────────────────────────────────────────────────
|
// // ── sezioni ─────────────────────────────────────────────────
|
||||||
private String renderTurnOrder() {
|
// private String renderTurnOrder() {
|
||||||
var table = new AsciiTable(style, 4, 10); // 4 colonne, largh 10
|
// var table = new AsciiTable(style, 4, 10); // 4 colonne, largh 10
|
||||||
table.addRow(model.getPlayers().stream()
|
// table.addRow(model.getPlayers().stream()
|
||||||
.map(p -> + ". " + p.getUserName())
|
// .map(p -> + ". " + p.getUserName())
|
||||||
.toList());
|
// .toList());
|
||||||
table.addRow(state.getPlayers().stream()
|
// table.addRow(state.getPlayers().stream()
|
||||||
.map(p -> p.getTotemPosition() != null
|
// .map(p -> p.getTotemPosition() != null
|
||||||
? "totem: " + p.getTotemPosition()
|
// ? "totem: " + p.getTotemPosition()
|
||||||
: "(da piaz)")
|
// : "(da piaz)")
|
||||||
.toList());
|
// .toList());
|
||||||
return " TURN ORDER\n" + table.build() + "\n";
|
// return " TURN ORDER\n" + table.build() + "\n";
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private String renderOfferTrack() {
|
// private String renderOfferTrack() {
|
||||||
var table = new AsciiTable(style, 5, 14);
|
// var table = new AsciiTable(style, 5, 14);
|
||||||
table.addRow(state.getOfferTiles().stream()
|
// table.addRow(state.getOfferTiles().stream()
|
||||||
.map(t -> t.getId() + ": " + t.getLabel()).toList());
|
// .map(t -> t.getId() + ": " + t.getLabel()).toList());
|
||||||
table.addRow(state.getOfferTiles().stream()
|
// table.addRow(state.getOfferTiles().stream()
|
||||||
.map(OfferTile::getRowsLabel).toList());
|
// .map(OfferTile::getRowsLabel).toList());
|
||||||
table.addRow(state.getOfferTiles().stream()
|
// table.addRow(state.getOfferTiles().stream()
|
||||||
.map(t -> state.getTotemOnTile(t.getId())).toList());
|
// .map(t -> state.getTotemOnTile(t.getId())).toList());
|
||||||
return " OFFER TRACK\n" + table.build() + "\n";
|
// return " OFFER TRACK\n" + table.build() + "\n";
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private String renderCardRows() {
|
// private String renderCardRows() {
|
||||||
int cols = state.getTopRow().size();
|
// int cols = state.getTopRow().size();
|
||||||
var table = new AsciiTable(style, cols, 13);
|
// var table = new AsciiTable(style, cols, 13);
|
||||||
table.addRow(state.getTopRow().stream()
|
// table.addRow(state.getTopRow().stream()
|
||||||
.map(c -> "[" + c.getTypeLabel() + "]").toList());
|
// .map(c -> "[" + c.getTypeLabel() + "]").toList());
|
||||||
table.addRow(state.getTopRow().stream()
|
// table.addRow(state.getTopRow().stream()
|
||||||
.map(Card::getName).toList());
|
// .map(Card::getName).toList());
|
||||||
table.addSeparator();
|
// table.addSeparator();
|
||||||
table.addRow(state.getBotRow().stream()
|
// table.addRow(state.getBotRow().stream()
|
||||||
.map(c -> "[" + c.getTypeLabel() + "]").toList());
|
// .map(c -> "[" + c.getTypeLabel() + "]").toList());
|
||||||
table.addRow(state.getBotRow().stream()
|
// table.addRow(state.getBotRow().stream()
|
||||||
.map(Card::getName).toList());
|
// .map(Card::getName).toList());
|
||||||
return " CARTE IN GIOCO\n" + prefix("TOP ", "BOT ", table.build()) + "\n";
|
// return " CARTE IN GIOCO\n" + prefix("TOP ", "BOT ", table.build()) + "\n";
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private String renderTableaux() {
|
// private String renderTableaux() {
|
||||||
var sb = new StringBuilder(" TABLEAU GIOCATORI\n\n");
|
// var sb = new StringBuilder(" TABLEAU GIOCATORI\n\n");
|
||||||
for (Player p : state.getPlayers()) {
|
// for (Player p : state.getPlayers()) {
|
||||||
String marker = p.isActive() ? ">>>" : " ";
|
// String marker = p.isActive() ? ">>>" : " ";
|
||||||
sb.append(String.format(" %s %s%s Food:%d PP:%d%n",
|
// sb.append(String.format(" %s %s%s Food:%d PP:%d%n",
|
||||||
marker, p.getName(),
|
// marker, p.getName(),
|
||||||
p.isActive() ? " [TUO TURNO]" : "",
|
// p.isActive() ? " [TUO TURNO]" : "",
|
||||||
p.getFood(), p.getPP()));
|
// p.getFood(), p.getPP()));
|
||||||
sb.append(renderPlayerTableau(p));
|
// sb.append(renderPlayerTableau(p));
|
||||||
sb.append("\n");
|
// sb.append("\n");
|
||||||
}
|
// }
|
||||||
return sb.toString();
|
// return sb.toString();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private String renderPlayerTableau(Player p) {
|
// private String renderPlayerTableau(Player p) {
|
||||||
var table = new AsciiTable(style, 3, 14);
|
// var table = new AsciiTable(style, 3, 14);
|
||||||
table.addHeader("PERSONAGGI", "EDIFICI", "RISORSE");
|
// table.addHeader("PERSONAGGI", "EDIFICI", "RISORSE");
|
||||||
int rows = Math.max(p.getChars().size(),
|
// int rows = Math.max(p.getChars().size(),
|
||||||
Math.max(p.getBuildings().size(), 3));
|
// Math.max(p.getBuildings().size(), 3));
|
||||||
for (int i = 0; i < rows; i++) {
|
// for (int i = 0; i < rows; i++) {
|
||||||
String ch = i < p.getChars().size() ? p.getChars().get(i) : "";
|
// String ch = i < p.getChars().size() ? p.getChars().get(i) : "";
|
||||||
String bd = i < p.getBuildings().size() ? p.getBuildings().get(i) : "";
|
// String bd = i < p.getBuildings().size() ? p.getBuildings().get(i) : "";
|
||||||
String rs = switch (i) {
|
// String rs = switch (i) {
|
||||||
case 0 -> "Food: " + "O".repeat(p.getFood());
|
// case 0 -> "Food: " + "O".repeat(p.getFood());
|
||||||
case 1 -> "PP: " + p.getPP();
|
// case 1 -> "PP: " + p.getPP();
|
||||||
case 2 -> "Chars:" + p.getChars().size() + " Edif:" + p.getBuildings().size();
|
// case 2 -> "Chars:" + p.getChars().size() + " Edif:" + p.getBuildings().size();
|
||||||
default -> "";
|
// default -> "";
|
||||||
};
|
// };
|
||||||
table.addRow(ch, bd, rs);
|
// table.addRow(ch, bd, rs);
|
||||||
}
|
// }
|
||||||
return " " + table.build().replace("\n", "\n ");
|
// return " " + table.build().replace("\n", "\n ");
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package it.polimi.ingsw.gc14.Model;
|
package it.polimi.ingsw.gc14.Model;
|
||||||
|
|
||||||
|
import it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1;
|
||||||
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
||||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
|
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
|
||||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.*;
|
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.*;
|
||||||
@@ -206,8 +207,17 @@ class PlayerTest {
|
|||||||
p.artists.add(new Artist(1));
|
p.artists.add(new Artist(1));
|
||||||
p.artists.add(new Artist(1));
|
p.artists.add(new Artist(1));
|
||||||
p.artists.add(new Artist(2));
|
p.artists.add(new Artist(2));
|
||||||
|
p.builders.add(new Builder(2, 5, 1));
|
||||||
|
p.gatherers.add(new Gatherer(1, 3));
|
||||||
|
p.shamans.add(new Shaman(2, 3, 3));
|
||||||
|
p.shamans.add(new Shaman(2, 3, 4));
|
||||||
|
p.inventors.add(new Inventor(3, 1));
|
||||||
|
p.hunters.add(new Hunter(3, true));
|
||||||
|
p.hunters.add(new Hunter(2, false));
|
||||||
|
|
||||||
p.buildingCards.add(new BuildingCard(2, 1,2, 5));
|
p.buildingCards.add(new BuildingCard(2, 1,2, 5));
|
||||||
p.buildingCards.add(new BuildingCard(2, 2,3, 6));
|
p.buildingCards.add(new BuildingCard(2, 2,3, 6));
|
||||||
|
p.buildingCards.add(new Building1(2, 5, 5, CharacterType.INVENTOR));
|
||||||
System.out.println(p.toString());
|
System.out.println(p.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user