diff --git a/Answers/Beater.java b/Answers/Beater.java new file mode 100644 index 0000000..8a17d39 --- /dev/null +++ b/Answers/Beater.java @@ -0,0 +1,11 @@ +package Answers; + +import java.util.Random; +public class Beater extends Player { + Beater(String name, int number) { + super(name, number); + } + public boolean isSuccessful() { + return (new Random().nextInt(100) < 40); // 40% chance for beater + } +} diff --git a/Answers/Chaser.java b/Answers/Chaser.java new file mode 100644 index 0000000..7c1603c --- /dev/null +++ b/Answers/Chaser.java @@ -0,0 +1,11 @@ +package Answers; + +import java.util.Random; +public class Chaser extends Player { + Chaser(String name, int number) { + super(name, number); + } + public boolean isSuccessful() { + return (new Random().nextInt(100) < 30); // 30% chance for chaser + } +} diff --git a/Answers/Keeper.java b/Answers/Keeper.java new file mode 100644 index 0000000..a11d87a --- /dev/null +++ b/Answers/Keeper.java @@ -0,0 +1,11 @@ +package Answers; + +import java.util.Random; +public class Keeper extends Player { + Keeper(String name, int number) { + super(name , number); + } + public boolean isSuccessful() { + return (new Random().nextInt(100) < 70); // 70% chance for keeper + } +} diff --git a/Answers/Main.java b/Answers/Main.java new file mode 100644 index 0000000..4c6c9ce --- /dev/null +++ b/Answers/Main.java @@ -0,0 +1,20 @@ +package Answers; + +public class Main { + public static void main(String[] args) { + Keeper keeper1 = new Keeper("Answers.Keeper 1", 1); + Seeker seeker1 = new Seeker("Answers.Seeker 1", 1); + Chaser[] chasers1 = {new Chaser("Answers.Chaser 1", 1), new Chaser("Answers.Chaser 1", 2), new Chaser("Answers.Chaser 1", 3)}; + Beater[] beaters1 = {new Beater("Answers.Beater 1", 1), new Beater("Answers.Beater 1", 2)}; + team team1 = new team(keeper1, seeker1, chasers1, beaters1); +//first Answers.team have one keeper & one seeker & two beater & three chaser + Keeper keeper2 = new Keeper("Answers.Keeper 2", 1); + Seeker seeker2 = new Seeker("Answers.Seeker 2", 1); + Chaser[] chasers2 = {new Chaser("Answers.Chaser 2", 1), new Chaser("Answers.Chaser 2", 2), new Chaser("Answers.Chaser 2", 3)}; + Beater[] beaters2 = {new Beater("Answers.Beater 2", 1), new Beater("Answers.Beater 2", 2)}; + team team2 = new team(keeper2, seeker2, chasers2, beaters2); +//second Answers.team have one keeper & one seeker & two beater & three chaser + Match match = new Match(team1, team2); + match.start(); + } +} diff --git a/Answers/Match.java b/Answers/Match.java new file mode 100644 index 0000000..6325dd7 --- /dev/null +++ b/Answers/Match.java @@ -0,0 +1,32 @@ +package Answers; +import Answers.team; +public class Match { + team team1; + team team2; + Match(team team1, team team2) { + this.team1 = team1; + this.team2 = team2; + } + public void start() { + for (int i = 0; i < 100; i++) { + team1.play(); + team2.play(); + } + System.out.println("Team 1 goals: " + team1.goals); + System.out.println("Team 2 goals: " + team2.goals); + + if (team1.seeker.isSuccessful()) { + System.out.println("Team 1 wins with the golden snitch!"); + } else if (team2.seeker.isSuccessful()) { + System.out.println("Team 2 wins with the golden snitch!"); + } else { + if (team1.goals > team2.goals) { + System.out.println("Team 1 wins!"); + } else if (team2.goals > team1.goals) { + System.out.println("Team 2 wins!"); + } else { + System.out.println("It's equal!"); + } + } + } +} diff --git a/Answers/Player.java b/Answers/Player.java new file mode 100644 index 0000000..fab1f41 --- /dev/null +++ b/Answers/Player.java @@ -0,0 +1,13 @@ +package Answers; + +public class Player implements Success { + String name; + int number; + Player(String name, int number) { + this.name = name; + this.number = number; + } + public boolean isSuccessful() { + return false; + } +} diff --git a/Answers/Seeker.java b/Answers/Seeker.java new file mode 100644 index 0000000..e0e491d --- /dev/null +++ b/Answers/Seeker.java @@ -0,0 +1,11 @@ +package Answers; +import Answers.Player; +import java.util.Random; +public class Seeker extends Player { + Seeker(String name, int number) { + super(name, number); + } + public boolean isSuccessful() { + return (new Random().nextInt(100) < 5); // 5% chance for seeker + } +} diff --git a/Answers/Success.java b/Answers/Success.java new file mode 100644 index 0000000..624482f --- /dev/null +++ b/Answers/Success.java @@ -0,0 +1,5 @@ +package Answers; + +public interface Success { + boolean isSuccessful(); +} \ No newline at end of file diff --git a/Answers/team.java b/Answers/team.java new file mode 100644 index 0000000..de8e8c7 --- /dev/null +++ b/Answers/team.java @@ -0,0 +1,38 @@ +package Answers; + +public class team { + Keeper keeper; + Seeker seeker; + Chaser[] chasers; + Beater[] beaters; + int goals; + team(Keeper keeper, Seeker seeker, Chaser[] chasers, Beater[] beaters) { + this.keeper = keeper; + this.seeker = seeker; + this.chasers = chasers; + this.beaters = beaters; + this.goals = 0; + } + private void setGoal() { + goals++; + } + public void play() { + boolean ksuccess = keeper.isSuccessful(); + boolean bsuccess = false; + for (Beater beater : beaters) { + if (beater.isSuccessful()) { + bsuccess = true; + break; + } + } + int chsuccess = 0; + for (Chaser chaser : chasers) { + if (chaser.isSuccessful()) { + chsuccess++; + } + } + if (ksuccess && bsuccess && chsuccess >= 2) { + setGoal(); + } + } +}