From fd93c81ea8c132279f00a41e1586d6de14dc6d64 Mon Sep 17 00:00:00 2001 From: sturzucosmin Date: Wed, 3 Nov 2021 21:31:42 +0200 Subject: [PATCH 1/6] test github 1 --- _1_basics/src/main/java/code/_3_in_class/HelloWorld.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java b/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java index ce7a7ffe1..bfdb075e0 100644 --- a/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java +++ b/_1_basics/src/main/java/code/_3_in_class/HelloWorld.java @@ -3,6 +3,6 @@ public class HelloWorld { public static void main(String[] args) { - System.out.println("hello world 2"); + System.out.println("hello world test github"); } } From aec079e4219075eb3c9722d695d1af51a4bbf535 Mon Sep 17 00:00:00 2001 From: sturzucosmin Date: Thu, 4 Nov 2021 16:55:05 +0200 Subject: [PATCH 2/6] Challenge 1 FizzBuzz --- .../_2_challenge/_1_fizzbuzz/FizzBuzz.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/_1_basics/src/main/java/code/_2_challenge/_1_fizzbuzz/FizzBuzz.java b/_1_basics/src/main/java/code/_2_challenge/_1_fizzbuzz/FizzBuzz.java index 47838aba3..eaee04913 100644 --- a/_1_basics/src/main/java/code/_2_challenge/_1_fizzbuzz/FizzBuzz.java +++ b/_1_basics/src/main/java/code/_2_challenge/_1_fizzbuzz/FizzBuzz.java @@ -2,7 +2,22 @@ public class FizzBuzz { - public String fizzBuzz(int i) { + public static void main(String[] args) { + + System.out.println("Stage 1: "); + + for(int i = 1; i <= 100; i++) { + System.out.print(fizzBuzz(i)+", "); + } + + System.out.println("\nStage 2: "); + + for(int i = 1; i <= 100; i++) { + System.out.print(fizzBuzz2(i)+", "); + } + } + + public static String fizzBuzz(int i) { String s = ""; NumberWordCorrelation[] correlations = { @@ -24,7 +39,7 @@ public String fizzBuzz(int i) { return s; } - public String fizzBuzz2(int i) { + public static String fizzBuzz2(int i) { String s = ""; NumberWordCorrelation[] correlations = { From d43df3473f676422650520832b4ffc0fc68e5f5d Mon Sep 17 00:00:00 2001 From: sturzucosmin Date: Sun, 28 Nov 2021 18:41:37 +0200 Subject: [PATCH 3/6] Project 01 - Design Patterns --- .../_2_challenge/_2_foobarqix/FooBarQix.java | 20 +++++++- .../design_patterns/requirements/Bow.java | 9 ++++ .../requirements/GameScore.java | 24 ++++++++++ .../design_patterns/requirements/Gun.java | 9 ++++ .../design_patterns/requirements/Main.java | 47 ++++++++++++++++++- .../design_patterns/requirements/Pistol.java | 9 ++++ .../requirements/Shooting.java | 19 ++++++++ .../design_patterns/requirements/Weapon.java | 9 ++++ 8 files changed, 143 insertions(+), 3 deletions(-) create mode 100644 clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java create mode 100644 clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java create mode 100644 clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java create mode 100644 clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java create mode 100644 clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java create mode 100644 clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java diff --git a/_1_basics/src/main/java/code/_2_challenge/_2_foobarqix/FooBarQix.java b/_1_basics/src/main/java/code/_2_challenge/_2_foobarqix/FooBarQix.java index 01dd73cce..fe8fd61b9 100644 --- a/_1_basics/src/main/java/code/_2_challenge/_2_foobarqix/FooBarQix.java +++ b/_1_basics/src/main/java/code/_2_challenge/_2_foobarqix/FooBarQix.java @@ -1,7 +1,23 @@ package code._2_challenge._2_foobarqix; public class FooBarQix { - public String compute(int i) { + + public static void main(String[] args) { + + System.out.println("Stage 1: "); + + for(int i = 1; i <= 100; i++) { + System.out.println(i+" => "+compute(i)); + } + + System.out.println("\nStage 2: "); + + for(int i = 1; i <= 100; i++) { + System.out.println(i+" => "+compute(i)); + } + } + + public static String compute(int i) { String s = ""; if (i % 3 == 0) s += "Foo"; if (i % 5 == 0) s += "Bar"; @@ -22,7 +38,7 @@ public String compute(int i) { return s; } - public String compute2(int i) { + public static String compute2(int i) { String s = ""; boolean isDivisible = false; diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java new file mode 100644 index 000000000..f15f0bc1b --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java @@ -0,0 +1,9 @@ +package clean.code.design_patterns.requirements; + +public class Bow implements Weapon { + @Override + public void shoot() { + GameScore gameScore = GameScore.getInstance(); + gameScore.AddScore(5); + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java new file mode 100644 index 000000000..6ca616b8c --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java @@ -0,0 +1,24 @@ +package clean.code.design_patterns.requirements; + + +public class GameScore { + private int score = 0; + private static final GameScore instance = new GameScore(); + + private GameScore() { + this.score = 0; + } + + public static GameScore getInstance() { + return instance; + } + + public int getScore() { + return score; + } + + public void AddScore(int valueToAdd) { + this.score += valueToAdd; + } + +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java new file mode 100644 index 000000000..78fec0b3c --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java @@ -0,0 +1,9 @@ +package clean.code.design_patterns.requirements; + +public class Gun implements Weapon { + @Override + public void shoot() { + GameScore gameScore = GameScore.getInstance(); + gameScore.AddScore(15); + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java index 8a9fccb7b..5fa2cb401 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java @@ -1,8 +1,53 @@ package clean.code.design_patterns.requirements; +import java.util.Scanner; + +//Singleton Design Pattern pentru GameScore +//Composite Pattern pentru Weapon, Bow, Pistol, Gun si Shooting + +//Clasele se pot aplica in anumite jocuri indie cu un singur player care are un singur scor/joc (singleton) si in +//functie de arma aleasa pentru a efectua o actiune scorul este modificat corespunzator public class Main { public static void main(String[] args) { - //TODO implement your design patterns in this package + Scanner console = new Scanner(System.in); + + Weapon bow = new Bow(); + Weapon pistol = new Pistol(); + Weapon gun = new Gun(); + + Shooting shooting = new Shooting(); + + GameScore gameScore = GameScore.getInstance(); + System.out.println("Your initial score is: " + gameScore.getScore()); + + String chooseWeapon; + + + label: + while(true) { + System.out.println("Choose your weapon by writing 'bow', 'pistol', 'gun' or something else if you want to finish"); + chooseWeapon = console.nextLine(); + + switch (chooseWeapon) { + case "bow": + shooting.add(bow); + break; + case "pistol": + shooting.add(pistol); + break; + case "gun": + shooting.add(gun); + break; + default: + break label; + } + + } + + shooting.shoot(); + System.out.println("Your score is: " + gameScore.getScore()); + } } + diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java new file mode 100644 index 000000000..75b343d75 --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java @@ -0,0 +1,9 @@ +package clean.code.design_patterns.requirements; + +public class Pistol implements Weapon { + @Override + public void shoot() { + GameScore gameScore = GameScore.getInstance(); + gameScore.AddScore(10); + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java new file mode 100644 index 000000000..0d025d297 --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java @@ -0,0 +1,19 @@ +package clean.code.design_patterns.requirements; + +import java.util.ArrayList; +import java.util.List; + +public class Shooting implements Weapon { + private List weapons = new ArrayList(); + + public void add(Weapon w) { + this.weapons.add(w); + } + + @Override + public void shoot() { + for (Weapon wp : weapons) { + wp.shoot(); + } + } +} diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java new file mode 100644 index 000000000..81b47ddde --- /dev/null +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java @@ -0,0 +1,9 @@ +package clean.code.design_patterns.requirements; + +import java.util.ArrayList; +import java.util.List; + +public interface Weapon { + void shoot(); +} + From 2b4d2e7455f21ac97bc5f15ee757818c80e7227f Mon Sep 17 00:00:00 2001 From: sturzucosmin Date: Sun, 28 Nov 2021 18:45:47 +0200 Subject: [PATCH 4/6] Project 01 - Design Patterns --- .../java/clean/code/design_patterns/requirements/Bow.java | 2 ++ .../clean/code/design_patterns/requirements/GameScore.java | 1 + .../java/clean/code/design_patterns/requirements/Gun.java | 1 + .../java/clean/code/design_patterns/requirements/Main.java | 1 + .../java/clean/code/design_patterns/requirements/Pistol.java | 2 ++ .../clean/code/design_patterns/requirements/Shooting.java | 4 +++- .../java/clean/code/design_patterns/requirements/Weapon.java | 3 +-- 7 files changed, 11 insertions(+), 3 deletions(-) diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java index f15f0bc1b..de5082c5f 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java @@ -1,5 +1,6 @@ package clean.code.design_patterns.requirements; + public class Bow implements Weapon { @Override public void shoot() { @@ -7,3 +8,4 @@ public void shoot() { gameScore.AddScore(5); } } + diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java index 6ca616b8c..4f88a752d 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java @@ -1,6 +1,7 @@ package clean.code.design_patterns.requirements; + public class GameScore { private int score = 0; private static final GameScore instance = new GameScore(); diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java index 78fec0b3c..0c29f565b 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java @@ -1,5 +1,6 @@ package clean.code.design_patterns.requirements; + public class Gun implements Weapon { @Override public void shoot() { diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java index 5fa2cb401..e9ebac315 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java @@ -1,6 +1,7 @@ package clean.code.design_patterns.requirements; import java.util.Scanner; + //Singleton Design Pattern pentru GameScore //Composite Pattern pentru Weapon, Bow, Pistol, Gun si Shooting diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java index 75b343d75..14b5192fd 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java @@ -1,5 +1,6 @@ package clean.code.design_patterns.requirements; + public class Pistol implements Weapon { @Override public void shoot() { @@ -7,3 +8,4 @@ public void shoot() { gameScore.AddScore(10); } } + diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java index 0d025d297..192941b06 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java @@ -1,10 +1,11 @@ package clean.code.design_patterns.requirements; + import java.util.ArrayList; import java.util.List; public class Shooting implements Weapon { - private List weapons = new ArrayList(); + private List weapons = new ArrayList<>(); public void add(Weapon w) { this.weapons.add(w); @@ -17,3 +18,4 @@ public void shoot() { } } } + diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java index 81b47ddde..4069097b1 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java @@ -1,9 +1,8 @@ package clean.code.design_patterns.requirements; -import java.util.ArrayList; -import java.util.List; public interface Weapon { void shoot(); } + From f7f95e916b802083cb3263721f6853dfc8bd472f Mon Sep 17 00:00:00 2001 From: sturzucosmin Date: Sun, 28 Nov 2021 18:55:52 +0200 Subject: [PATCH 5/6] Project 01 - Design Patterns final commit --- .../main/java/clean/code/design_patterns/requirements/Bow.java | 1 - .../java/clean/code/design_patterns/requirements/GameScore.java | 2 -- .../main/java/clean/code/design_patterns/requirements/Gun.java | 1 - .../main/java/clean/code/design_patterns/requirements/Main.java | 2 -- .../java/clean/code/design_patterns/requirements/Pistol.java | 1 - .../java/clean/code/design_patterns/requirements/Shooting.java | 1 - .../java/clean/code/design_patterns/requirements/Weapon.java | 1 - 7 files changed, 9 deletions(-) diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java index de5082c5f..0c31d89e3 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Bow.java @@ -1,6 +1,5 @@ package clean.code.design_patterns.requirements; - public class Bow implements Weapon { @Override public void shoot() { diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java index 4f88a752d..abc12cb58 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/GameScore.java @@ -1,7 +1,5 @@ package clean.code.design_patterns.requirements; - - public class GameScore { private int score = 0; private static final GameScore instance = new GameScore(); diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java index 0c29f565b..78fec0b3c 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Gun.java @@ -1,6 +1,5 @@ package clean.code.design_patterns.requirements; - public class Gun implements Weapon { @Override public void shoot() { diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java index e9ebac315..4ac874c38 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Main.java @@ -1,7 +1,5 @@ package clean.code.design_patterns.requirements; import java.util.Scanner; - - //Singleton Design Pattern pentru GameScore //Composite Pattern pentru Weapon, Bow, Pistol, Gun si Shooting diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java index 14b5192fd..f6454c962 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Pistol.java @@ -1,6 +1,5 @@ package clean.code.design_patterns.requirements; - public class Pistol implements Weapon { @Override public void shoot() { diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java index 192941b06..d1e24f0a0 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Shooting.java @@ -1,6 +1,5 @@ package clean.code.design_patterns.requirements; - import java.util.ArrayList; import java.util.List; diff --git a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java index 4069097b1..36d492025 100644 --- a/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java +++ b/clean_code_projects/_2_project_requirements_design_patterns/src/main/java/clean/code/design_patterns/requirements/Weapon.java @@ -1,6 +1,5 @@ package clean.code.design_patterns.requirements; - public interface Weapon { void shoot(); } From 56d003d5685f1ed5c2c7a334ba6f58435a011034 Mon Sep 17 00:00:00 2001 From: sturzucosmin Date: Sun, 19 Dec 2021 20:45:44 +0200 Subject: [PATCH 6/6] Project Chess Sturzu Cosmin --- .../code/chess/requirements/ChessBoard.java | 20 ++++++++++++++++--- .../clean/code/chess/requirements/Pawn.java | 10 ++++++++-- .../chess/requirements/ChessBoardTest.java | 2 +- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java index 1e40d959f..eb4eb7a86 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/ChessBoard.java @@ -13,10 +13,24 @@ public ChessBoard() { } public void Add(Pawn pawn, int xCoordinate, int yCoordinate, PieceColor pieceColor) { - throw new UnsupportedOperationException("Need to implement ChessBoard.add()"); + try { + pawn.setPieceColor(pieceColor); + } catch (UnsupportedOperationException e) {System.out.println("Color invalid");} + + try { + pawn.setChessBoard(this); + pawn.setYCoordinate(yCoordinate); + pawn.setXCoordinate(xCoordinate); + + pieces[xCoordinate][yCoordinate] = pawn; + + } catch(ArrayIndexOutOfBoundsException arrayIndexOutOfBoundsException) { + pawn.setYCoordinate(-1); + pawn.setXCoordinate(-1); + } } public boolean IsLegalBoardPosition(int xCoordinate, int yCoordinate) { - throw new UnsupportedOperationException("Need to implement ChessBoard.IsLegalBoardPosition()"); + return xCoordinate <= 7 && yCoordinate <= 7 && xCoordinate >= 0 && yCoordinate >= 0; } -} +} \ No newline at end of file diff --git a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java index e589abeb7..83c25064e 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java +++ b/clean_code_projects/_1_project_requirements_chess/src/main/java/clean/code/chess/requirements/Pawn.java @@ -39,12 +39,18 @@ public PieceColor getPieceColor() { return this.pieceColor; } - private void setPieceColor(PieceColor value) { + public void setPieceColor(PieceColor value) { pieceColor = value; } public void Move(MovementType movementType, int newX, int newY) { - throw new UnsupportedOperationException("Need to implement Pawn.Move()"); + if(movementType == MovementType.MOVE){ + if(newY == getYCoordinate()+1 && newX == getXCoordinate() ){ + setYCoordinate(newY); + } else if(newY == getYCoordinate()-1 && newX == getXCoordinate() ){ + setYCoordinate(newY); + } + } } @Override diff --git a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java index 5b8ca4079..681e666cd 100644 --- a/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java +++ b/clean_code_projects/_1_project_requirements_chess/src/test/java/clean/code/chess/requirements/ChessBoardTest.java @@ -39,7 +39,7 @@ public void testIsLegalBoardPosition_True_X_equals_5_Y_equals_5() { @Test public void testIsLegalBoardPosition_False_X_equals_11_Y_equals_5() { boolean isValidPosition = testSubject.IsLegalBoardPosition(11, 5); - assertTrue(isValidPosition); + assertFalse(isValidPosition); } @Test