diff --git a/Answers/Third_Project/.gitignore b/Answers/Third_Project/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/Answers/Third_Project/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/Answers/Third_Project/.idea/.gitignore b/Answers/Third_Project/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Answers/Third_Project/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Answers/Third_Project/.idea/encodings.xml b/Answers/Third_Project/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/Answers/Third_Project/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Answers/Third_Project/.idea/misc.xml b/Answers/Third_Project/.idea/misc.xml new file mode 100644 index 0000000..fdc35ea --- /dev/null +++ b/Answers/Third_Project/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Answers/Third_Project/.idea/vcs.xml b/Answers/Third_Project/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/Answers/Third_Project/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Answers/Third_Project/pom.xml b/Answers/Third_Project/pom.xml new file mode 100644 index 0000000..5540a07 --- /dev/null +++ b/Answers/Third_Project/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + org.example + Third_Project + 1.0-SNAPSHOT + + + 21 + 21 + UTF-8 + + + \ No newline at end of file diff --git a/Answers/Third_Project/src/main/java/Match.java b/Answers/Third_Project/src/main/java/Match.java new file mode 100644 index 0000000..d5833db --- /dev/null +++ b/Answers/Third_Project/src/main/java/Match.java @@ -0,0 +1,28 @@ +public class Match { + Team blue = new Team(); + Team red = new Team(); + public void start(){ + for (int i=0; i<100; i++) { + if (blue.getgoal() > 100) + break; + if (red.getgoal() > 100) + break; + blue.play(); + red.play(); + } + int blue_point = blue.getgoal(); + int red_point = red.getgoal(); + String result = " "; + if (blue_point > red_point) + result = "The winner is : Blue Team"; + else if (red_point > blue_point) { + result = "The winner is : Red Team"; + }else { + result = "No Winner Draw !"; + } + + System.out.println(result); + System.out.println("Blue team : " + blue_point); + System.out.println("Red team : " + red_point); + } +} diff --git a/Answers/Third_Project/src/main/java/MyApp.java b/Answers/Third_Project/src/main/java/MyApp.java new file mode 100644 index 0000000..60d474f --- /dev/null +++ b/Answers/Third_Project/src/main/java/MyApp.java @@ -0,0 +1,6 @@ +public class MyApp { + public static void main(String[] args) { + Match match = new Match(); + match.start(); + } +} \ No newline at end of file diff --git a/Answers/Third_Project/src/main/java/Player.java b/Answers/Third_Project/src/main/java/Player.java new file mode 100644 index 0000000..a7108e0 --- /dev/null +++ b/Answers/Third_Project/src/main/java/Player.java @@ -0,0 +1,96 @@ +import java.util.Random; + +public class Player { + private String name; + private int number; + protected Random random; + + public Player(String name, int number) { + this.name = name; + this.number = number; + this.random = new Random(); + } + protected int getRandomNumber(){ + return random.nextInt(101); + } +} + +//--------------------------------------------------------------------- + +class Keeper extends Player implements Success { + private boolean Saved; + + public Keeper(String name, int number) { + super(name, number); + this.Saved = false; + } + public void attemptToSaveGoal() { + if (getRandomNumber() <= 70 ) { + Saved = true; + } + } + @Override + public boolean isSuccessful() { + return Saved; + } +} + +//--------------------------------------------------------------------- + +class Seeker extends Player implements Success { + private boolean foundSnitch; + + public Seeker(String name, int number) { + super(name, number); + this.foundSnitch = false; + } + public void attemptToFindSnitch() { + if (getRandomNumber() <= 5 ) { + foundSnitch = true; + } + } + @Override + public boolean isSuccessful() { + return foundSnitch; + } +} + +//--------------------------------------------------------------------- + +class Chaser extends Player implements Success { + private boolean Scored; + + public Chaser(String name, int number) { + super(name, number); + this.Scored = false; + } + public void attemptToScoreGoal() { + if (getRandomNumber() <= 30 ) { + Scored = true; + } + } + @Override + public boolean isSuccessful() { + return Scored; + } +} + +//--------------------------------------------------------------------- + +class Beater extends Player implements Success { + private boolean Stopped; + + public Beater(String name, int number) { + super(name, number); + this.Stopped = false; + } + public void attemptToStopChaser() { + if (getRandomNumber() <= 40 ) { + Stopped = true; + } + } + @Override + public boolean isSuccessful() { + return Stopped; + } +} \ No newline at end of file diff --git a/Answers/Third_Project/src/main/java/Success.java b/Answers/Third_Project/src/main/java/Success.java new file mode 100644 index 0000000..c748298 --- /dev/null +++ b/Answers/Third_Project/src/main/java/Success.java @@ -0,0 +1,3 @@ +public interface Success { + public boolean isSuccessful(); +} diff --git a/Answers/Third_Project/src/main/java/Team.java b/Answers/Third_Project/src/main/java/Team.java new file mode 100644 index 0000000..f1d7909 --- /dev/null +++ b/Answers/Third_Project/src/main/java/Team.java @@ -0,0 +1,41 @@ +public class Team { + Keeper keeper = new Keeper("keeper",1); + Seeker seeker = new Seeker("seeker",2); + Chaser chaser1 = new Chaser("chaser1",3); + Chaser chaser2 = new Chaser("chaser2",4); + Chaser chaser3 = new Chaser("chaser3",5); + Beater beater1 = new Beater("beater1",6); + Beater beater2 = new Beater("beater2",7); + + private int goal = 0; + private void setgoal(){ + goal ++; + } + public int getgoal(){ + return goal; + } + + public void play(){ + //game plays + keeper.attemptToSaveGoal(); + chaser1.attemptToScoreGoal(); + chaser2.attemptToScoreGoal(); + chaser3.attemptToScoreGoal(); + beater1.attemptToStopChaser(); + beater2.attemptToStopChaser(); + seeker.attemptToFindSnitch(); + //result + boolean SnitchCatched = seeker.isSuccessful(); + boolean condition = false; + boolean chasing = (chaser1.isSuccessful() && chaser2.isSuccessful()) || (chaser1.isSuccessful() && chaser3.isSuccessful()) || (chaser2.isSuccessful() && chaser3.isSuccessful()); + boolean beating = (beater1.isSuccessful() || beater2.isSuccessful()); + boolean keeping = keeper.isSuccessful(); + condition = chasing && beating && keeping; + + if (SnitchCatched){ + goal += 150; + } + if (condition ) + setgoal(); + } +}