-
Notifications
You must be signed in to change notification settings - Fork 738
Expand file tree
/
Copy pathLadderGame.java
More file actions
27 lines (20 loc) · 843 Bytes
/
LadderGame.java
File metadata and controls
27 lines (20 loc) · 843 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package nextstep.ladder.domain.laddergame;
import nextstep.ladder.domain.ladder.Ladder;
import nextstep.ladder.domain.laddergame.position.Positions;
import nextstep.ladder.domain.laddergame.position.ResultPosition;
import nextstep.ladder.domain.line.Line;
import java.util.List;
import java.util.stream.IntStream;
public class LadderGame {
public ResultPosition play(Ladder ladder) {
ResultPosition resultPosition = new ResultPosition();
IntStream.range(0, ladder.getPlayers().size())
.forEach(i -> {
resultPosition.add(i, getLastPosition(ladder.getLines(), i));
});
return resultPosition;
}
private int getLastPosition(List<Line> lines, int playerPosition) {
return new Positions().add(lines, playerPosition).getLastPosition();
}
}