11package domain .ladder ;
22
3- import data .InputData ;
3+
4+ import dto .GameStartOption ;
45
56import java .util .List ;
67import java .util .stream .Collectors ;
78
8- import static util .Util .createRandomIntegers ;
9- import static util .Util .createRandomIntegersWithRestriction ;
9+ import static util .RandomIntegerMaker .createRandomIntegers ;
10+ import static util .RandomIntegerMaker .createRandomIntegersWithRestriction ;
11+
1012
1113public class Pillar {
1214 public static final int MINIMUM_PILLAR_NUM = 0 ;
1315 private List <Bridge > bridges ;
1416 private Integer pillarNum ;
1517
16- public Pillar (InputData inputData , Pillar previousPillar ) { //자동으로 다리생성
18+ public Pillar (GameStartOption gameStartOption , Pillar previousPillar ) { //자동으로 다리생성
1719 pillarNum = nowPillarNum (previousPillar );
18- bridges = createBridges (inputData , previousPillar );
20+ bridges = createBridges (gameStartOption , previousPillar );
1921 }
2022
2123 public Integer getPillarNum () {
@@ -45,17 +47,17 @@ public List<Integer> getBridgesDirectionLocation(LinkedType linkedType) {
4547 .collect (Collectors .toList ());
4648 }
4749
48- private List <Bridge > createBridges (InputData inputData , Pillar previousPillar ) {
50+ private List <Bridge > createBridges (GameStartOption gameStartOption , Pillar previousPillar ) {
4951 if (isFirstPillar (previousPillar ))
50- return createRightBridges (createRandomIntegers (inputData .getLadderHeight ()));
51- if (isLastPillar (inputData , previousPillar ))
52+ return createRightBridges (createRandomIntegers (gameStartOption .getLadderHeight ()));
53+ if (isLastPillar (gameStartOption , previousPillar ))
5254 return createLeftBridges (previousPillar );
53- return createLeftRightBridges (previousPillar , inputData .getLadderHeight ());
55+ return createLeftRightBridges (previousPillar , gameStartOption .getLadderHeight ());
5456 }
5557
5658
57- private boolean isLastPillar (InputData inputData , Pillar previousPillar ) {
58- if (inputData .getLadderWidth () - previousPillar .getPillarNum () == 2 )
59+ private boolean isLastPillar (GameStartOption gameStartOption , Pillar previousPillar ) {
60+ if (gameStartOption .getLadderWidth () - previousPillar .getPillarNum () == 2 )
5961 return true ;
6062 return false ;
6163 }
@@ -76,23 +78,15 @@ private List<Bridge> createLeftRightBridges(Pillar previous, Integer height) {
7678
7779 private List <Bridge > createRightBridges (List <Integer > locationsOfBridge ) {
7880 return locationsOfBridge .stream ()
79- .map (b -> createOneRightBridge (b ))
81+ .map (b -> Bridge . createOneRightBridge (b ))
8082 .collect (Collectors .toList ());
8183 }
8284
8385
8486 private List <Bridge > createLeftBridges (Pillar previous ) {
8587 List <Integer > locationsOfBridge = previous .getBridgesDirectionLocation (LinkedType .RIGHT );
8688 return locationsOfBridge .stream ()
87- .map (b -> createOneLeftBridge (b ))
89+ .map (b -> Bridge . createOneLeftBridge (b ))
8890 .collect (Collectors .toList ());
8991 }
90-
91- private Bridge createOneRightBridge (Integer location ) {
92- return (new Bridge (location , LinkedType .RIGHT ));
93- }
94-
95- private Bridge createOneLeftBridge (Integer location ) {
96- return (new Bridge (location , LinkedType .LEFT ));
97- }
9892}
0 commit comments