mirror of
https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
synced 2025-01-18 19:33:40 +01:00
fixed property trade
This commit is contained in:
parent
48913356e3
commit
f8fe0b9877
@ -322,25 +322,29 @@ public class ServerGameLogic implements ClientInterpreter {
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes the trade by transferring requested properties from the receiver
|
||||
* to the sender and offered properties from the sender to the receiver.
|
||||
* Executes a trade between two players, transferring properties and money as specified.
|
||||
*
|
||||
* @param sender the player initiating the trade
|
||||
* @param receiver the player receiving the trade offer
|
||||
* @param requestedProperties the properties requested by the receiver
|
||||
* @param offeredProperties the properties offered by the sender
|
||||
*/
|
||||
public void executeTrade(Player sender, Player receiver, Set<PropertyField> requestedProperties, Set<PropertyField> offeredProperties) {
|
||||
private void executeTrade(Player sender, Player receiver, Set<PropertyField> requestedProperties, Set<PropertyField> offeredProperties) {
|
||||
// Transfer requested properties from receiver to sender
|
||||
for (PropertyField field : requestedProperties) {
|
||||
for (PropertyField field : offeredProperties) {
|
||||
receiver.removeProperty(field.getId());
|
||||
sender.addProperty(field.getId());
|
||||
field.setOwner(sender); // Update ownership
|
||||
System.out.printf("Property %s transferred from %s to %s.\n",
|
||||
LOGGER.log(Level.DEBUG, "Property %s transferred from %s to %s.\n",
|
||||
field.getName(), receiver.getName(), sender.getName());
|
||||
}
|
||||
|
||||
// Transfer offered properties from sender to receiver
|
||||
for (PropertyField field : offeredProperties) {
|
||||
for (PropertyField field : requestedProperties) {
|
||||
sender.removeProperty(field.getId());
|
||||
receiver.addProperty(field.getId());
|
||||
field.setOwner(receiver); // Update ownership
|
||||
System.out.printf("Property %s transferred from %s to %s.\n",
|
||||
LOGGER.log(Level.DEBUG, "Property %s transferred from %s to %s.\n",
|
||||
field.getName(), sender.getName(), receiver.getName());
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,18 @@ public class TradeResponse extends ClientMessage{
|
||||
this.tradeHandler = tradeHandler;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the trade was accepted.
|
||||
*
|
||||
* @return {@code true} if the trade was accepted, {@code false} otherwise
|
||||
*/
|
||||
public boolean isAccepted() { return status; }
|
||||
|
||||
/**
|
||||
* Returns the TradeHandler corresponding to the Trade.
|
||||
*
|
||||
* @return the TradeHandler corresponding to the Trade
|
||||
*/
|
||||
public TradeHandler getTradeHandler() {
|
||||
return tradeHandler;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user