diff --git "a/\354\235\264\355\230\204\355\235\254/.idea/.gitignore" "b/\354\235\264\355\230\204\355\235\254/.idea/.gitignore" deleted file mode 100644 index 13566b8..0000000 --- "a/\354\235\264\355\230\204\355\235\254/.idea/.gitignore" +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git "a/\354\235\264\355\230\204\355\235\254/.idea/misc.xml" "b/\354\235\264\355\230\204\355\235\254/.idea/misc.xml" deleted file mode 100644 index 69ace3f..0000000 --- "a/\354\235\264\355\230\204\355\235\254/.idea/misc.xml" +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git "a/\354\235\264\355\230\204\355\235\254/.idea/modules.xml" "b/\354\235\264\355\230\204\355\235\254/.idea/modules.xml" deleted file mode 100644 index 8a2c0de..0000000 --- "a/\354\235\264\355\230\204\355\235\254/.idea/modules.xml" +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git "a/\354\235\264\355\230\204\355\235\254/.idea/vcs.xml" "b/\354\235\264\355\230\204\355\235\254/.idea/vcs.xml" deleted file mode 100644 index 6c0b863..0000000 --- "a/\354\235\264\355\230\204\355\235\254/.idea/vcs.xml" +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git "a/\354\235\264\355\230\204\355\235\254/.idea/\354\235\264\355\230\204\355\235\254.iml" "b/\354\235\264\355\230\204\355\235\254/.idea/\354\235\264\355\230\204\355\235\254.iml" deleted file mode 100644 index b107a2d..0000000 --- "a/\354\235\264\355\230\204\355\235\254/.idea/\354\235\264\355\230\204\355\235\254.iml" +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git "a/\354\235\264\355\230\204\355\235\254/LadderPractice/.idea/workspace.xml" "b/\354\235\264\355\230\204\355\235\254/LadderPractice/.idea/workspace.xml" deleted file mode 100644 index 355a57d..0000000 --- "a/\354\235\264\355\230\204\355\235\254/LadderPractice/.idea/workspace.xml" +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - 1726808055522 - - - - - - \ No newline at end of file diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/Main.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/Main.java" index 407f157..b790647 100644 --- "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/Main.java" +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/Main.java" @@ -1,7 +1,22 @@ package org.example; +import org.example.ver2.*; + public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + User user = new User(GameFactory.createBasicLadderGame()); + + user.makeLadder(3, 3); + user.drawHorizontalLine(1, 1); + user.print(); + System.out.println("startColumn : 1"); + System.out.println(user.runGame(1)); + System.out.println(); + + user.setGame(GameFactory.createRandomLadderGame()); + user.makeLadder(5, 5); + user.print(); + System.out.println("startColumn : 1"); + System.out.println(user.runGame(1)); } } \ No newline at end of file diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ladder/LadderDrawer.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ladder/LadderDrawer.java" index 7284e36..f600f99 100644 --- "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ladder/LadderDrawer.java" +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ladder/LadderDrawer.java" @@ -1,6 +1,5 @@ package org.example.ladder; -import org.example.Drawer; import org.example.row.Row; public class LadderDrawer { diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/Game.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/Game.java" new file mode 100644 index 0000000..0e0a211 --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/Game.java" @@ -0,0 +1,21 @@ +package org.example.ver2; + +public class Game { + private Ladder ladder; + private LadderCreator ladderCreator; + public Game(LadderCreator ladderCreator) { + this.ladderCreator = ladderCreator; + } + public void makeLadder(int width, int height) { + ladder = ladderCreator.makeLadder(width, height); + } + public boolean drawHorizontalLine(int row, int column) { + return ladder.drawHorizontalLine(row, column); + } + public int runGame(int startColumn) { + return ladder.calcResult(startColumn); + } + public void printLadder(){ + ladder.print(); + } +} diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/GameFactory.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/GameFactory.java" new file mode 100644 index 0000000..3be0d30 --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/GameFactory.java" @@ -0,0 +1,10 @@ +package org.example.ver2; + +public class GameFactory { + public static Game createRandomLadderGame() { + return new Game(new LadderRandomCreator()); + } + public static Game createBasicLadderGame() { + return new Game(new LadderBasicCreator()); + } +} diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/Ladder.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/Ladder.java" new file mode 100644 index 0000000..c5f9974 --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/Ladder.java" @@ -0,0 +1,25 @@ +package org.example.ver2; + +import java.util.Random; + +public class Ladder { + private Row[] rows; + public Ladder(Row[] rows) { + this.rows = rows; + } + public boolean drawHorizontalLine(int row, int column) { + return rows[row-1].drawLine(column); + } + public int calcResult(int startColumn) { + int result = startColumn; + for (int i = 0; i < rows.length; i++) { + result = rows[i].calcResult(result); + } + return result; + } + public void print() { + for (int i = 0; i < rows.length; i++) { + rows[i].print(); + } + } +} diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderBasicCreator.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderBasicCreator.java" new file mode 100644 index 0000000..d6d5fd7 --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderBasicCreator.java" @@ -0,0 +1,12 @@ +package org.example.ver2; + +public class LadderBasicCreator implements LadderCreator{ + public Ladder makeLadder(int width, int height) { + Row[] rows = new Row[height]; + for (int i = 0; i < height; i++) { + rows[i] = new Row(width); + } + + return new Ladder(rows); + } +} diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderCreator.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderCreator.java" new file mode 100644 index 0000000..7345d56 --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderCreator.java" @@ -0,0 +1,8 @@ +package org.example.ver2; + +import java.util.Random; + +public interface LadderCreator { + + Ladder makeLadder(int width, int height); +} diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderRandomCreator.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderRandomCreator.java" new file mode 100644 index 0000000..71ff35a --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/LadderRandomCreator.java" @@ -0,0 +1,27 @@ +package org.example.ver2; + +import java.util.Random; + +public class LadderRandomCreator implements LadderCreator{ + public Ladder makeLadder(int width, int height) { + Row[] rows = new Row[height]; + for (int i = 0; i < height; i++) { + rows[i] = new Row(width); + } + Random random = new Random(); + System.out.println(width*height*0.3); + for(int i=0;i= 0 && lines[column-2].checkIsLineDrawed()) + return false; + if(column <= lines.length -1 && lines[column].checkIsLineDrawed()) + return false; + return lines[column-1].drawLine(); + } + public int calcResult(int startColumn) { + if(startColumn - 2 >= 0 && lines[startColumn-2].checkIsLineDrawed()) + return startColumn - 1; + if(lines[startColumn - 1].checkIsLineDrawed()) + return startColumn + 1; + return startColumn; + } + public void print() { + for (int i = 0; i < 2 * lines.length - 1; i++) { + if(i%2==0) + System.out.print("|"); + else + lines[(i-1)/2].print(); + } + System.out.println(); + } +} diff --git "a/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/User.java" "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/User.java" new file mode 100644 index 0000000..dfcc6cf --- /dev/null +++ "b/\354\235\264\355\230\204\355\235\254/untitled/src/main/java/org/example/ver2/User.java" @@ -0,0 +1,23 @@ +package org.example.ver2; + +public class User { + private Game game; + public User(Game game) { + this.game = game; + } + public void setGame(Game game) { + this.game = game; + } + public void makeLadder(int width, int height) { + game.makeLadder(width, height); + } + public boolean drawHorizontalLine(int row, int column) { + return game.drawHorizontalLine(row, column); + } + public int runGame(int startColumn) { + return game.runGame(startColumn); + } + public void print() { + game.printLadder(); + } +}