mirror of
https://gitlab.com/arnekeller/kit-programmieren-ws1920-final2.git
synced 2024-11-24 09:24:57 +00:00
Only print buildable items if they can be built in addition to existing
This commit is contained in:
parent
58f30fbf39
commit
6c8f172d3f
@ -115,6 +115,7 @@ build?
|
|||||||
build axe
|
build axe
|
||||||
build club
|
build club
|
||||||
build fireplace
|
build fireplace
|
||||||
|
build?
|
||||||
build shack
|
build shack
|
||||||
build sailingraft
|
build sailingraft
|
||||||
rollD6 1
|
rollD6 1
|
||||||
|
@ -56,6 +56,13 @@ shack
|
|||||||
OK
|
OK
|
||||||
OK
|
OK
|
||||||
OK
|
OK
|
||||||
|
axe
|
||||||
|
ballon
|
||||||
|
club
|
||||||
|
hangglider
|
||||||
|
sailingraft
|
||||||
|
shack
|
||||||
|
steamboat
|
||||||
OK
|
OK
|
||||||
OK
|
OK
|
||||||
lose
|
lose
|
||||||
|
@ -124,7 +124,7 @@ public class CardGame {
|
|||||||
throw new InvalidInputException("can not build item");
|
throw new InvalidInputException("can not build item");
|
||||||
} else if (item.requiresFireplace() && !items.contains(FIREPLACE)) {
|
} else if (item.requiresFireplace() && !items.contains(FIREPLACE)) {
|
||||||
throw new InvalidInputException("need fireplace to build");
|
throw new InvalidInputException("need fireplace to build");
|
||||||
} else if (items.contains(item) && !item.canBeBuiltMultipleTimes()) {
|
} else if (items.contains(item) && !item.canHaveMoreThanOne()) {
|
||||||
throw new InvalidInputException("already built");
|
throw new InvalidInputException("already built");
|
||||||
} else if (canBuild(item)) {
|
} else if (canBuild(item)) {
|
||||||
// remove used resources
|
// remove used resources
|
||||||
@ -154,6 +154,9 @@ public class CardGame {
|
|||||||
if (item.requiresFireplace() && !items.contains(FIREPLACE)) {
|
if (item.requiresFireplace() && !items.contains(FIREPLACE)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!item.canHaveMoreThanOne() && items.contains(item)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
final Card[] resourcesNeeded = item.resourcesNeeded();
|
final Card[] resourcesNeeded = item.resourcesNeeded();
|
||||||
for (final Card resource : resources) {
|
for (final Card resource : resources) {
|
||||||
for (int j = 0; j < resourcesNeeded.length; j++) {
|
for (int j = 0; j < resourcesNeeded.length; j++) {
|
||||||
|
@ -41,7 +41,7 @@ public enum Item {
|
|||||||
return this.equals(STEAMBOAT) || this.equals(BALLOON);
|
return this.equals(STEAMBOAT) || this.equals(BALLOON);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canBeBuiltMultipleTimes() {
|
public boolean canHaveMoreThanOne() {
|
||||||
return this.equals(AXE) || this.equals(CLUB);
|
return this.equals(AXE) || this.equals(CLUB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user