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();
+ }
+}