Ça trolle…
/
troll.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Early game termination
[troll.git]
/
src
/
main
/
java
/
com
/
codingame
/
game
/
Model.java
diff --git
a/src/main/java/com/codingame/game/Model.java
b/src/main/java/com/codingame/game/Model.java
index
46841db
..
6eb0546
100644
(file)
--- a/
src/main/java/com/codingame/game/Model.java
+++ b/
src/main/java/com/codingame/game/Model.java
@@
-66,7
+66,9
@@
class Model {
}
public void adjustScore(int trollPosition) {
}
public void adjustScore(int trollPosition) {
- gp.setScore(Math.abs(castlePosition - trollPosition));
+ if (gp.isActive()) {
+ gp.setScore(Math.abs(castlePosition - trollPosition));
+ }
}
public int getTrollDistance() {
}
public int getTrollDistance() {
@@
-112,6
+114,8
@@
class Model {
gameManager.addToGameSummary(GameManager.formatErrorMessage("Ill-formed road length: " + buf));
}
}
gameManager.addToGameSummary(GameManager.formatErrorMessage("Ill-formed road length: " + buf));
}
}
+ ps.setProperty("roadLength", new Integer(roadLength).toString());
+
buf = ps.getProperty("initialStones");
if (buf != null) {
try {
buf = ps.getProperty("initialStones");
if (buf != null) {
try {
@@
-128,6
+132,7
@@
class Model {
gameManager.addToGameSummary(GameManager.formatErrorMessage("Ill-formed initial stone count: " + buf));
}
}
gameManager.addToGameSummary(GameManager.formatErrorMessage("Ill-formed initial stone count: " + buf));
}
}
+ ps.setProperty("initialStones", new Integer(initialStones).toString());
trollPosition = roadLength / 2;
trollPosition = roadLength / 2;
@@
-146,24
+151,30
@@
class Model {
p1.setStones(initialStones);
}
p1.setStones(initialStones);
}
- private int winner;
- boolean haveWinner() {
- if (trollPosition == 0) {
+ void moveTroll(int delta) {
+ trollPosition += delta;
+ if (trollPosition <= 0) {
+ trollPosition = 0;
winner = 1;
winner = 1;
- return true;
}
}
- else if (trollPosition == roadLength) {
+ if (trollPosition >= roadLength) {
+ trollPosition = roadLength;
winner = 0;
winner = 0;
- return true;
- }
- else {
- return false;
}
}
+
+ p0.adjustScore(trollPosition);
+ p1.adjustScore(trollPosition);
}
}
+
+ private Integer winner;
+ boolean haveWinner() {
+ return winner != null;
+ }
+
int getWinner() { return winner; }
int getLoser() { return 1 - winner; }
boolean exhausted() {
int getWinner() { return winner; }
int getLoser() { return 1 - winner; }
boolean exhausted() {
- return p0.getStones() <= 0
&&
p1.getStones() <= 0;
+ return p0.getStones() <= 0
||
p1.getStones() <= 0;
}
}
}
}