Skip to content

Commit c62e533

Browse files
committed
Fix newing player in new game and CastSpell bug
1 parent 2db9ee6 commit c62e533

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

src/Client/Controller.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ private void handleMessage(Message msg)
130130
*/
131131
private void handleInitMessage(Message msg)
132132
{
133-
game = new Game(game);
134133
ClientInitMessage clientInitMessage = Json.GSON.fromJson(msg.getInfo(), ClientInitMessage.class);
135134
game.handleInitMessage(clientInitMessage);
136135
Message endMsg = new Message("endTurn", new JsonObject(), 0);

src/Client/Model/Game.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.util.*;
88
import java.util.function.Consumer;
9+
import java.util.stream.Collectors;
910

1011
import com.google.gson.JsonObject;
1112
import common.network.Json;
@@ -34,7 +35,8 @@ public Game(Game game) {
3435
this.initMessage = game.getInitMessage();
3536
this.sender = game.getSender();
3637
this.spellsByTypeId = game.spellsByTypeId;
37-
players = game.getPlayers();
38+
39+
this.players = game.getPlayers().stream().map(Player::new).collect(Collectors.toList());
3840
}
3941

4042
public HashMap<Integer, BaseUnit> getBaseUnitsById() {
@@ -534,16 +536,16 @@ private void calcUnitsById() {
534536
}
535537

536538
private void calcMyTurnSpells() {
537-
players.get(0).setSpells(getSpellsByIds(clientTurnMessage.getMySpells()));
538-
players.get(0).calcTurnSpells();
539+
getMe().setSpells(getSpellsByIds(clientTurnMessage.getMySpells()));
540+
getMe().calcTurnSpells();
539541
}
540542

541543
private void calcMyFriendTurnSpells() {
542-
players.get(1).setSpells(getSpellsByIds(clientTurnMessage.getFriendSpells()));
543-
players.get(1).calcTurnSpells();
544+
getFriend().setSpells(getSpellsByIds(clientTurnMessage.getFriendSpells()));
545+
getFriend().calcTurnSpells();
544546
}
545547

546-
private void calcPlayerplayedUnits(Player player) {
548+
private void calcPlayerPlayedUnits(Player player) {
547549
List<Unit> playedUnits = new ArrayList<>();
548550
for (TurnUnit turnUnit : clientTurnMessage.getUnits())
549551
if (turnUnit.getPlayerId() == player.getPlayerId() && turnUnit.isWasPlayedThisTurn())
@@ -553,7 +555,7 @@ private void calcPlayerplayedUnits(Player player) {
553555

554556
private void calcPlayersPlayedUnits() {
555557
for (Player player : players)
556-
calcPlayerplayedUnits(player);
558+
calcPlayerPlayedUnits(player);
557559
}
558560

559561
private void calcCastAreaSpells() {

src/Client/Model/Player.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212

1313
public class Player {
1414
private int playerId;
15-
Path[][] shortestPathsToCellsCrossMyself;
15+
private Path[][] shortestPathsToCellsCrossMyself;
1616
private List<BaseUnit> deck;
1717
private List<BaseUnit> hand;
1818
private List<Path> pathsFromPlayer = new ArrayList<>();
19-
Path[][] shortestPathsToCells;
19+
private Path[][] shortestPathsToCells;
2020
private Path pathToFriend;
2121
private List<Unit> units = new ArrayList<>();
2222
private CastAreaSpell castAreaSpell;
@@ -39,6 +39,12 @@ public Player(int playerID) {
3939
this.playerId = playerID;
4040
}
4141

42+
public Player(Player player) {
43+
this.playerId = player.getPlayerId();
44+
this.shortestPathsToCellsCrossMyself = player.getShortestPathsToCellsCrossMyself();
45+
this.shortestPathsToCells = player.getShortestPathsToCells();
46+
}
47+
4248
public int getPlayerId() {
4349
return playerId;
4450
}

0 commit comments

Comments
 (0)