mirror of
https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
synced 2025-08-03 13:07:43 +02:00
send Trades
This commit is contained in:
@@ -300,13 +300,13 @@ public class ClientGameLogic implements ServerInterpreter, GameEventBroker {
|
||||
*/
|
||||
@Override
|
||||
public void received(TradeReply msg) {
|
||||
if (msg.getTradeHandler().getStatus()) {
|
||||
// if (msg.getTradeHandler().getStatus()) {
|
||||
|
||||
playSound(Sound.TRADE_ACCEPTED);
|
||||
} else {
|
||||
// playSound(Sound.TRADE_ACCEPTED);
|
||||
// } else {
|
||||
|
||||
playSound(Sound.TRADE_REJECTED);
|
||||
}
|
||||
// playSound(Sound.TRADE_REJECTED);
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -316,7 +316,8 @@ public class ClientGameLogic implements ServerInterpreter, GameEventBroker {
|
||||
*/
|
||||
@Override
|
||||
public void received(TradeRequest msg) {
|
||||
|
||||
System.out.println("Angebot angekommen");
|
||||
notifyListeners(new PopUpEvent("tradeRequest"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -232,11 +232,11 @@ public class ServerGameLogic implements ClientInterpreter {
|
||||
@Override
|
||||
public void received(TradeOffer msg, int from) {
|
||||
Player sender = playerHandler.getPlayerById(from);
|
||||
Player receiver = playerHandler.getPlayerById(msg.getReceiverId());
|
||||
Player receiver = msg.getTradeHandler().getReceiver();
|
||||
|
||||
if (sender != null && receiver != null) {
|
||||
LOGGER.log(Level.INFO, "Player {0} offers a trade to player {1}", sender.getName(), receiver.getName());
|
||||
send(playerHandler.getPlayerById(msg.getReceiverId()), new TradeRequest(msg.getReceiverId(), msg.getTradeHandler()));
|
||||
send(receiver, new TradeRequest(msg.getTradeHandler()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -9,7 +9,6 @@ import pp.monopoly.model.TradeHandler;
|
||||
*/
|
||||
@Serializable
|
||||
public class TradeOffer extends ClientMessage{
|
||||
private int receiverId;
|
||||
private TradeHandler tradehandler;
|
||||
|
||||
/**
|
||||
@@ -23,12 +22,10 @@ public class TradeOffer extends ClientMessage{
|
||||
* @param receiverId the ID of the player receiving the Request
|
||||
* @param tradehandler the tradehandler
|
||||
*/
|
||||
public TradeOffer(int receiverId, TradeHandler tradehandler) {
|
||||
this.receiverId = receiverId;
|
||||
public TradeOffer(TradeHandler tradehandler) {
|
||||
this.tradehandler = tradehandler;
|
||||
}
|
||||
|
||||
public int getReceiverId() { return receiverId; }
|
||||
public TradeHandler getTradeHandler() { return tradehandler; }
|
||||
|
||||
@Override
|
||||
|
@@ -9,7 +9,6 @@ import pp.monopoly.model.TradeHandler;
|
||||
*/
|
||||
@Serializable
|
||||
public class TradeRequest extends ServerMessage{
|
||||
private int receiverId;
|
||||
private TradeHandler tradehandler;
|
||||
|
||||
|
||||
@@ -24,12 +23,10 @@ public class TradeRequest extends ServerMessage{
|
||||
* @param receiverId the ID of the player receiving the Request
|
||||
* @param tradehandler the tradehandler
|
||||
*/
|
||||
public TradeRequest(int receiverId, TradeHandler tradehandler) {
|
||||
this.receiverId = receiverId;
|
||||
public TradeRequest(TradeHandler tradehandler) {
|
||||
this.tradehandler = tradehandler;
|
||||
}
|
||||
|
||||
public int getReceiverId() { return receiverId; }
|
||||
public TradeHandler getTradeHandler() { return tradehandler; }
|
||||
|
||||
|
||||
|
@@ -3,23 +3,30 @@ package pp.monopoly.model;
|
||||
import pp.monopoly.game.server.Player;
|
||||
import pp.monopoly.model.fields.PropertyField;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.jme3.network.serializing.Serializable;
|
||||
|
||||
/**
|
||||
* Handles a single trade between two players.
|
||||
* Encapsulates trade details, validation, acceptance, and rejection.
|
||||
*/
|
||||
@Serializable
|
||||
public class TradeHandler {
|
||||
|
||||
private final Player sender;
|
||||
private Player receiver;
|
||||
private int offeredAmount;
|
||||
private List<PropertyField> offeredProperties;
|
||||
private Set<PropertyField> offeredProperties = new HashSet<>();
|
||||
private int offeredJailCards;
|
||||
private int requestedAmount;
|
||||
private List<PropertyField> requestedProperties;
|
||||
private Set<PropertyField> requestedProperties = new HashSet<>();
|
||||
private int requestedJailCards;
|
||||
private Boolean status = null;
|
||||
|
||||
private TradeHandler() {
|
||||
sender = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a TradeHandler for a single trade instance.
|
||||
@@ -33,8 +40,8 @@ public class TradeHandler {
|
||||
* @param requestedProperties the properties requested from the receiver
|
||||
* @param requestedJailCards the jail cards requested from the receiver
|
||||
*/
|
||||
public TradeHandler(Player sender, Player receiver, int offeredAmount, List<PropertyField> offeredProperties,
|
||||
int offeredJailCards, int requestedAmount, List<PropertyField> requestedProperties, int requestedJailCards) {
|
||||
public TradeHandler(Player sender, Player receiver, int offeredAmount, Set<PropertyField> offeredProperties,
|
||||
int offeredJailCards, int requestedAmount, Set<PropertyField> requestedProperties, int requestedJailCards) {
|
||||
this.sender = sender;
|
||||
this.receiver = receiver;
|
||||
this.offeredAmount = offeredAmount;
|
||||
@@ -69,7 +76,7 @@ public class TradeHandler {
|
||||
return offeredJailCards;
|
||||
}
|
||||
|
||||
public List<PropertyField> getOfferedProperties() {
|
||||
public Set<PropertyField> getOfferedProperties() {
|
||||
return offeredProperties;
|
||||
}
|
||||
|
||||
@@ -85,7 +92,7 @@ public class TradeHandler {
|
||||
return requestedJailCards;
|
||||
}
|
||||
|
||||
public List<PropertyField> getRequestedProperties() {
|
||||
public Set<PropertyField> getRequestedProperties() {
|
||||
return requestedProperties;
|
||||
}
|
||||
|
||||
@@ -93,10 +100,6 @@ public class TradeHandler {
|
||||
return sender;
|
||||
}
|
||||
|
||||
public Boolean getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initiates the trade and validates its terms.
|
||||
*
|
||||
@@ -234,7 +237,7 @@ public class TradeHandler {
|
||||
this.offeredJailCards = offeredJailCards;
|
||||
}
|
||||
|
||||
public void setOfferedProperties(List<PropertyField> offeredProperties) {
|
||||
public void setOfferedProperties(Set<PropertyField> offeredProperties) {
|
||||
this.offeredProperties = offeredProperties;
|
||||
}
|
||||
|
||||
@@ -250,7 +253,7 @@ public class TradeHandler {
|
||||
this.requestedJailCards = requestedJailCards;
|
||||
}
|
||||
|
||||
public void setRequestedProperties(List<PropertyField> requestedProperties) {
|
||||
public void setRequestedProperties(Set<PropertyField> requestedProperties) {
|
||||
this.requestedProperties = requestedProperties;
|
||||
}
|
||||
}
|
||||
|
@@ -72,6 +72,15 @@ public class BoardManager {
|
||||
return fields;
|
||||
}
|
||||
|
||||
public Field getFieldByName(String name) {
|
||||
for (Field field : board) {
|
||||
if (field.getName().equals(name)) {
|
||||
return field;
|
||||
}
|
||||
}
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Method to find the Field at specific index
|
||||
|
Reference in New Issue
Block a user