public GameSquare(int pos, SqType type, Property p, Railroad r, Utility u) { this.pos = pos; this.type = type; this.p = p; this.u = u; this.r = r; }
public void mortgage(string[] arr, int playerID) { int inc = 0; for (int j = 0; j < arr.Length; j++) { for (int i = 0; i < 40; i++) { SqType t = sqarr[i].getType(); switch (t) { case SqType.property: if (arr[j] == sqarr[i].getPropertyOnSquare().getName()) { if (sqarr[i].getPropertyOnSquare().getOwner().getId() == playerID) { int hsc = sqarr[i].getPropertyOnSquare().getHouseCount(); int htc = sqarr[i].getPropertyOnSquare().getHotelCount(); parr[playerID].setHouseCount(parr[playerID].getHouseCount() - hsc); parr[playerID].setHotelCount(parr[playerID].getHotelCount() - htc); inc += sqarr[i].getPropertyOnSquare().mortgageProperty(); availableHouse += sqarr[i].getPropertyOnSquare().getHouseCount(); } } break; // this needs to be a double break, but there is none in c# case SqType.utility: if (arr[j] == sqarr[i].getUtilityOnSquare().getName()) { if (sqarr[i].getUtilityOnSquare().getOwner().getId() == playerID) { inc += sqarr[i].getUtilityOnSquare().mortgageUtility(); } } break; case SqType.railroad: if (arr[j] == sqarr[i].getRailroadOnSquare().getName()) { if (sqarr[i].getRailroadOnSquare().getOwner().getId() == playerID) { inc += sqarr[i].getRailroadOnSquare().mortgageRailroad(); } } break; default: //error break; } } } parr[playerID].money += inc; }
public void buy(int id, int pos) { SqType t = sqarr[pos].getType(); switch (t) { case SqType.property: if (sqarr[pos].getPropertyOnSquare().isOwned()) { //error } else { parr[id].colorArray[sqarr[pos].getPropertyOnSquare().getPropertyColorInt()]++; int cost = sqarr[pos].getPropertyOnSquare().getCost(); parr[id].money -= cost; sqarr[pos].getPropertyOnSquare().setOwner(parr[id]); parr[id].addAsset(sqarr[pos].getPropertyOnSquare().getName()); } break; case SqType.railroad: if (sqarr[pos].getRailroadOnSquare().isOwned()) { //error } else { int cost = sqarr[pos].getRailroadOnSquare().getCost(); parr[id].money -= cost; sqarr[pos].getRailroadOnSquare().setOwner(parr[id]); parr[id].incrementRailroadCount(); parr[id].addAsset(sqarr[pos].getRailroadOnSquare().getName()); } break; case SqType.utility: if (sqarr[pos].getUtilityOnSquare().isOwned()) { //error } else { int cost = sqarr[pos].getUtilityOnSquare().getCost(); parr[id].money -= cost; sqarr[pos].getUtilityOnSquare().setOwner(parr[id]); parr[id].incrementUtilityCount(); parr[id].addAsset(sqarr[pos].getUtilityOnSquare().getName()); } break; default: //error break; } }
public void removeMortgage(string[] arr, int playerID) { int inc = 0; for (int j = 0; j < arr.Length; j++) { for (int i = 0; i < 40; i++) { SqType t = sqarr[i].getType(); switch (t) { case SqType.property: if (arr[j] == sqarr[i].getPropertyOnSquare().getName()) { if (sqarr[i].getPropertyOnSquare().getOwner().getId() == playerID) { inc += sqarr[i].getPropertyOnSquare().buyBackProperty(); } } break; // this needs to be a double break, but there is none in c# case SqType.utility: if (arr[j] == sqarr[i].getUtilityOnSquare().getName()) { if (sqarr[i].getUtilityOnSquare().getOwner().getId() == playerID) { inc += sqarr[i].getUtilityOnSquare().buyBackUtility(); } } break; case SqType.railroad: if (arr[j] == sqarr[i].getRailroadOnSquare().getName()) { if (sqarr[i].getRailroadOnSquare().getOwner().getId() == playerID) { inc += sqarr[i].getRailroadOnSquare().buyBackRailroad(); } } break; default: //error break; } } } parr[playerID].money -= inc; }
public void payRent(int pos) { SqType t = sqarr[pos].getType(); switch (t) { case SqType.property: payPropertyRent(); break; case SqType.utility: payUtilityRent(); break; case SqType.railroad: payRailroadRent(); break; default: //error break; } }
public void payRent() { SqType t = sqarr[parr[currPlayer].getPosition()].getType(); switch (t) { case SqType.property: payPropertyRent(); break; case SqType.utility: payUtilityRent(); break; case SqType.railroad: payRailroadRent(); break; default: //error break; } }
public void trade(int id, List <string> sender, int senderMoney, List <string> reciever, int recieverMoney) { ///sender list al ///her string icin ///asset bul ///adama ver ->> asset owner degis, iki playerın asset arrayleri degis, ///string i sil ///her reciever icin yap ///paraları don ///dagıl ///sender = curr player ///reciever = id bool flag1 = true; bool flag2 = true; bool flag3 = true; bool flag4 = true; while ((sender.Count > 0) && (flag1 == true)) { for (int i = 0; ((i < 40) && (flag2 == true)); i++) { SqType t = sqarr[i].getType(); switch (t) { case SqType.property: if (sender[0] == sqarr[i].getPropertyOnSquare().getName()) { //auth check if (sqarr[i].getPropertyOnSquare().getOwner().getId() == currPlayer) { //since the hotels and houses stay on the property, //just update the players' house and hotel counts int hsc = sqarr[i].getPropertyOnSquare().getHouseCount(); int htc = sqarr[i].getPropertyOnSquare().getHotelCount(); parr[currPlayer].setHouseCount(parr[currPlayer].getHouseCount() - hsc); parr[currPlayer].setHotelCount(parr[currPlayer].getHotelCount() - htc); parr[id].setHouseCount(parr[id].getHouseCount() + hsc); parr[id].setHotelCount(parr[id].getHotelCount() + htc); //also update the color counts of each participant of the trade parr[currPlayer].colorArray[sqarr[i].getPropertyOnSquare().getPropertyColorInt()]--; parr[id].colorArray[sqarr[i].getPropertyOnSquare().getPropertyColorInt()]++; //change the owner of the property, remove property from the previous //owners asset list, add it to the new owners asset list //and remove from trade list as trade is complete sqarr[i].getPropertyOnSquare().setOwner(parr[id]); parr[currPlayer].removeAsset(sender[0]); parr[id].addAsset(sender[0]); sender.RemoveAt(0); if (sender.Count <= 0) { flag1 = false; flag2 = false; } } } break; // this needs to be a double break, but there is none in c# case SqType.utility: if (sender[0] == sqarr[i].getUtilityOnSquare().getName()) { //auth check if (sqarr[i].getUtilityOnSquare().getOwner().getId() == currPlayer) { //update players info parr[currPlayer].decrementUtilityCount(); parr[id].incrementUtilityCount(); //execute swap sqarr[i].getUtilityOnSquare().setOwner(parr[id]); parr[currPlayer].removeAsset(sender[0]); parr[id].addAsset(sender[0]); sender.RemoveAt(0); } } break; // this needs to be a double break, but there is none in c# case SqType.railroad: if (sender[0] == sqarr[i].getRailroadOnSquare().getName()) { //auth check if (sqarr[i].getRailroadOnSquare().getOwner().getId() == currPlayer) { //update player info parr[currPlayer].decrementRailroadCount(); parr[id].incrementRailroadCount(); //execute swap sqarr[i].getRailroadOnSquare().setOwner(parr[id]); parr[currPlayer].removeAsset(sender[0]); parr[id].addAsset(sender[0]); sender.RemoveAt(0); } } break; //this needs to be a double break, but there is none in c# default: //error break; } } } while ((reciever.Count > 0) && (flag3 == true)) { for (int i = 0; ((i < 40) && (flag4 == true)); i++) { SqType t = sqarr[i].getType(); switch (t) { case SqType.property: if (reciever[0] == sqarr[i].getPropertyOnSquare().getName()) { //auth check if (sqarr[i].getPropertyOnSquare().getOwner().getId() == id) { //update player info int hsc = sqarr[i].getPropertyOnSquare().getHouseCount(); int htc = sqarr[i].getPropertyOnSquare().getHotelCount(); parr[id].setHouseCount(parr[currPlayer].getHouseCount() - hsc); parr[id].setHotelCount(parr[currPlayer].getHotelCount() - htc); parr[currPlayer].setHouseCount(parr[id].getHouseCount() + hsc); parr[currPlayer].setHotelCount(parr[id].getHotelCount() + htc); //update color numbers of each player parr[id].colorArray[sqarr[i].getPropertyOnSquare().getPropertyColorInt()]--; parr[currPlayer].colorArray[sqarr[i].getPropertyOnSquare().getPropertyColorInt()]++; //swap properties sqarr[i].getPropertyOnSquare().setOwner(parr[currPlayer]); parr[id].removeAsset(reciever[0]); parr[currPlayer].addAsset(reciever[0]); reciever.RemoveAt(0); if (reciever.Count <= 0) { flag3 = false; flag4 = false; } } } break; // this needs to be a double break, but there is none in c# case SqType.utility: if (reciever[0] == sqarr[i].getUtilityOnSquare().getName()) { //auth check if (sqarr[i].getUtilityOnSquare().getOwner().getId() == id) { //update player info parr[id].decrementUtilityCount(); parr[currPlayer].incrementUtilityCount(); //swap utilities sqarr[i].getUtilityOnSquare().setOwner(parr[currPlayer]); parr[id].removeAsset(reciever[0]); parr[currPlayer].addAsset(reciever[0]); reciever.RemoveAt(0); } } break; // this needs to be a double break, but there is none in c# case SqType.railroad: if (reciever[0] == sqarr[i].getRailroadOnSquare().getName()) { if (sqarr[i].getRailroadOnSquare().getOwner().getId() == id) { //update player info parr[id].decrementRailroadCount(); parr[currPlayer].incrementRailroadCount(); //swap sqarr[i].getRailroadOnSquare().setOwner(parr[currPlayer]); parr[id].removeAsset(reciever[0]); parr[currPlayer].addAsset(reciever[0]); reciever.RemoveAt(0); } } break; //this needs to be a double break, but there is none in c# default: //error break; } } } parr[currPlayer].money += recieverMoney; parr[id].money -= recieverMoney; parr[id].money += senderMoney; parr[currPlayer].money -= senderMoney; }