public int GoldCount(ResourceList list) { int result = 0; ResourceList workinglist = list.Copy(); if (_Ports.Timber > 0) { result += _Resources.Timber / 2; workinglist.Timber--; } if (_Ports.Wheat > 0) { result += _Resources.Wheat / 2; workinglist.Wheat--; } if (_Ports.Ore > 0) { result += _Resources.Ore / 2; workinglist.Ore--; } if (_Ports.Clay > 0) { result += _Resources.Clay / 2; workinglist.Clay--; } if (_Ports.Sheep > 0) { result += _Resources.Sheep / 2; workinglist.Sheep--; } if (_Ports.ThreeToOne > 0) { if (workinglist.Timber > 0) result += workinglist.Timber / 3; if (workinglist.Wheat > 0) result += workinglist.Wheat / 3; if (workinglist.Ore > 0) result += workinglist.Ore / 3; if (workinglist.Clay > 0) result += workinglist.Clay / 3; if (workinglist.Sheep > 0) result += workinglist.Sheep / 3; } else { if (workinglist.Timber > 0) result += workinglist.Timber / 4; if (workinglist.Wheat > 0) result += workinglist.Wheat / 4; if (workinglist.Ore > 0) result += workinglist.Ore / 4; if (workinglist.Clay > 0) result += workinglist.Clay / 4; if (workinglist.Sheep > 0) result += workinglist.Sheep / 4; } return result; }