diff --git a/Answers/40230212031/scr/org/example/Beater.java b/Answers/40230212031/scr/org/example/Beater.java new file mode 100644 index 0000000..4f17c6e --- /dev/null +++ b/Answers/40230212031/scr/org/example/Beater.java @@ -0,0 +1,12 @@ +import java.util.Random; + +class Beater extends Player implements Success { + public Beater (String name, int number) { + super(name, number); + } + @Override + public boolean isSuccessful() { + Random random = new Random(); + return random.nextInt(100) < 40; + } +} \ No newline at end of file diff --git a/Answers/40230212031/scr/org/example/Chaser.java b/Answers/40230212031/scr/org/example/Chaser.java new file mode 100644 index 0000000..20b24db --- /dev/null +++ b/Answers/40230212031/scr/org/example/Chaser.java @@ -0,0 +1,13 @@ +import java.util.Random; + class Chaser extends Player implements Success { + public Chaser(String name, int number) { + super(name, number); + } + @Override + public boolean isSuccessful() { + Random random = new Random(); + return random.nextInt(100) < 30; + } + } + + diff --git a/Answers/40230212031/scr/org/example/Keeper.java b/Answers/40230212031/scr/org/example/Keeper.java new file mode 100644 index 0000000..dab9ba4 --- /dev/null +++ b/Answers/40230212031/scr/org/example/Keeper.java @@ -0,0 +1,13 @@ +import java.util.Random; + +class Keeper extends Player implements Success{ + public Keeper(String name, int number) { + super(name, number); + } + + @Override + public boolean isSuccessful() { + Random random = new Random(); + return random.nextInt(100) < 70; + } +} \ No newline at end of file diff --git a/Answers/40230212031/scr/org/example/Match.java b/Answers/40230212031/scr/org/example/Match.java new file mode 100644 index 0000000..5609136 --- /dev/null +++ b/Answers/40230212031/scr/org/example/Match.java @@ -0,0 +1,35 @@ +public class Match { + private Team team1; + private Team team2; + + public void setTeam1(Team team1) { + this.team1 = team1; + } + + public void setTeam2(Team team2) { + this.team2 = team2; + } + public void start() { + + for (int i = 0; i < 100; i++) { + team1.play(); + team2.play(); + } + + + int team1Goals = team1.getGoals(); + int team2Goals = team2.getGoals(); + + System.out.println("Team 1 goals: " + team1Goals); + System.out.println("Team 2 goals: " + team2Goals); + + if (team1Goals > team2Goals) { + System.out.println("Team 1 wins!"); + } else if (team2Goals > team1Goals) { + System.out.println("Team 2 wins!"); + } else { + System.out.println("The match ends in a draw!"); + } + } + } + diff --git a/Answers/40230212031/scr/org/example/MyApp.java b/Answers/40230212031/scr/org/example/MyApp.java new file mode 100644 index 0000000..442d3dc --- /dev/null +++ b/Answers/40230212031/scr/org/example/MyApp.java @@ -0,0 +1,34 @@ +import java.util.ArrayList; +import java.util.List; +public class MyApp { + public static void main(String[] args) { + Match match = new Match(); + + List team1Players = new ArrayList<>(); + team1Players.add(new Keeper("Amir", 1)); + team1Players.add(new Seeker("Ali", 2)); + team1Players.add(new Chaser("Danial", 3)); + team1Players.add(new Chaser("Hossein", 4)); + team1Players.add(new Chaser("Sasan", 5)); + team1Players.add(new Beater("mohsen", 6)); + team1Players.add(new Beater("Alireza", 7)); + + List team2Players = new ArrayList<>(); + team2Players.add(new Keeper("Ali", 1)); + team2Players.add(new Seeker("Emad", 2)); + team2Players.add(new Chaser("Arian", 3)); + team2Players.add(new Chaser("Masoud", 4)); + team2Players.add(new Chaser("Mojtaba", 5)); + team2Players.add(new Beater("Sina", 6)); + team2Players.add(new Beater("Soheil", 7)); + + Team team1 = new Team(team1Players); + Team team2 = new Team(team2Players); + + + match.setTeam1(team1); + match.setTeam2(team2); + + match.start(); + } +} diff --git a/Answers/40230212031/scr/org/example/Player.java b/Answers/40230212031/scr/org/example/Player.java new file mode 100644 index 0000000..60a1aeb --- /dev/null +++ b/Answers/40230212031/scr/org/example/Player.java @@ -0,0 +1,13 @@ +public class Player implements Success { + private String name; + private int number; + + public Player(String name, int number) { + this.name = name; + this.number = number; + } + @Override + public boolean isSuccessful() { + return false; + } +} \ No newline at end of file diff --git a/Answers/40230212031/scr/org/example/Seeker.java b/Answers/40230212031/scr/org/example/Seeker.java new file mode 100644 index 0000000..0470c38 --- /dev/null +++ b/Answers/40230212031/scr/org/example/Seeker.java @@ -0,0 +1,13 @@ +import java.util.Random; + +class Seeker extends Player implements Success { + public Seeker(String name, int number) { + + super(name, number); + } + @Override + public boolean isSuccessful() { + Random random = new Random(); + return random.nextInt(100) < 5; + } +} diff --git a/Answers/40230212031/scr/org/example/Success.java b/Answers/40230212031/scr/org/example/Success.java new file mode 100644 index 0000000..36d8e11 --- /dev/null +++ b/Answers/40230212031/scr/org/example/Success.java @@ -0,0 +1,3 @@ +interface Success { + boolean isSuccessful(); +} diff --git a/Answers/40230212031/scr/org/example/Team.java b/Answers/40230212031/scr/org/example/Team.java new file mode 100644 index 0000000..18c7c2e --- /dev/null +++ b/Answers/40230212031/scr/org/example/Team.java @@ -0,0 +1,66 @@ +import java.util.ArrayList; +import java.util.List; +public class Team { + private List players; + private int goals; + + public Team(List players) { + this.players = players; + this.goals = 0; + } + public void setGoal() { + goals++; + } + public int getGoals() { + return goals; + } + + public void play () { + Keeper keeper = null; + List beaters = new ArrayList<>(); + List chasers = new ArrayList<>(); + for (int i = 0; i < players.size(); i++) { + Player player = players.get(i); + if (player instanceof Keeper) { + keeper = (Keeper) player; + } else if (player instanceof Beater) { + beaters.add((Beater) player); + } else if (player instanceof Chaser) { + chasers.add((Chaser) player); + } + } + boolean keeperSuccess; + if (keeper != null && keeper.isSuccessful()) { + keeperSuccess = true; + } else { + keeperSuccess = false; + } + + boolean atLeastOneBeaterSuccess = false; + for (int i = 0; i < beaters.size(); i++) { + Beater beater = beaters.get(i); + if (beater.isSuccessful()) { + atLeastOneBeaterSuccess = true; + break; + } + } + + boolean atLeastTwoChasersSuccess = false; + int successfulChasers = 0; + for (int i = 0; i < chasers.size(); i++) { + Chaser chaser = chasers.get(i); + if (chaser.isSuccessful()) { + successfulChasers++; + } + } + if (successfulChasers >= 2) { + atLeastTwoChasersSuccess = true; + } + + if (keeperSuccess && atLeastOneBeaterSuccess && atLeastTwoChasersSuccess) { + setGoal(); + } + } +} + +