From 7790bbd44cf45f9664c116c1ae0f5b1a1a549278 Mon Sep 17 00:00:00 2001 From: Yas Hassan Pour Date: Tue, 16 Apr 2024 21:14:30 +0330 Subject: [PATCH] Quidditch match --- Answers/Yas_Hassanpour_40231712003/.gitignore | 38 ++++++++++++++++ .../.idea/.gitignore | 3 ++ .../.idea/encodings.xml | 7 +++ .../Yas_Hassanpour_40231712003/.idea/misc.xml | 14 ++++++ .../Yas_Hassanpour_40231712003/.idea/vcs.xml | 6 +++ Answers/Yas_Hassanpour_40231712003/pom.xml | 17 +++++++ .../src/main/java/org/example/Beater.java | 12 +++++ .../src/main/java/org/example/Chaser.java | 14 ++++++ .../src/main/java/org/example/Keeper.java | 14 ++++++ .../src/main/java/org/example/Match.java | 33 ++++++++++++++ .../src/main/java/org/example/MyApp.java | 10 +++++ .../src/main/java/org/example/Player.java | 12 +++++ .../src/main/java/org/example/Seeker.java | 14 ++++++ .../src/main/java/org/example/Team.java | 44 +++++++++++++++++++ 14 files changed, 238 insertions(+) create mode 100644 Answers/Yas_Hassanpour_40231712003/.gitignore create mode 100644 Answers/Yas_Hassanpour_40231712003/.idea/.gitignore create mode 100644 Answers/Yas_Hassanpour_40231712003/.idea/encodings.xml create mode 100644 Answers/Yas_Hassanpour_40231712003/.idea/misc.xml create mode 100644 Answers/Yas_Hassanpour_40231712003/.idea/vcs.xml create mode 100644 Answers/Yas_Hassanpour_40231712003/pom.xml create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Beater.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Chaser.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Keeper.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Match.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/MyApp.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Player.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Seeker.java create mode 100644 Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Team.java diff --git a/Answers/Yas_Hassanpour_40231712003/.gitignore b/Answers/Yas_Hassanpour_40231712003/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/.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/Yas_Hassanpour_40231712003/.idea/.gitignore b/Answers/Yas_Hassanpour_40231712003/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Answers/Yas_Hassanpour_40231712003/.idea/encodings.xml b/Answers/Yas_Hassanpour_40231712003/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Answers/Yas_Hassanpour_40231712003/.idea/misc.xml b/Answers/Yas_Hassanpour_40231712003/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Answers/Yas_Hassanpour_40231712003/.idea/vcs.xml b/Answers/Yas_Hassanpour_40231712003/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Answers/Yas_Hassanpour_40231712003/pom.xml b/Answers/Yas_Hassanpour_40231712003/pom.xml new file mode 100644 index 0000000..86764f8 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + org.example + Yas_Hassanpour_40231712003 + 1.0-SNAPSHOT + + + 17 + 17 + UTF-8 + + + \ No newline at end of file diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Beater.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Beater.java new file mode 100644 index 0000000..6c2c977 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Beater.java @@ -0,0 +1,12 @@ +package org.example; +import java.util.Random; + +public class Beater extends Player implements Player.Success { + @Override + public boolean isSuccessful() { + Random randNum = new Random(); + if(randNum.nextInt(100)+1<=40) + return true; + else return false; + } +} diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Chaser.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Chaser.java new file mode 100644 index 0000000..355f3a5 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Chaser.java @@ -0,0 +1,14 @@ +package org.example; + +import java.util.Random; + +public class Chaser extends Player implements Player.Success{ + @Override + public boolean isSuccessful() { + Random randNum = new Random(); + if(randNum.nextInt(100)+1<=30) + return true; + else + return false; + } +} diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Keeper.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Keeper.java new file mode 100644 index 0000000..a1c41ea --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Keeper.java @@ -0,0 +1,14 @@ +package org.example; + +import java.util.Random; + +public class Keeper extends Player implements Player.Success{ + @Override + public boolean isSuccessful() { + Random randNum= new Random(); + if(randNum.nextInt(100)+1<=70) + return true; + else + return false; + } +} diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Match.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Match.java new file mode 100644 index 0000000..83e672f --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Match.java @@ -0,0 +1,33 @@ +package org.example; + +public class Match { + Team team1; + Team team2; + public Match(){ + team1= new Team(); + team2= new Team(); + } + public void start() + { + for (int i=0; i<100; i++) { + team1.play(); + team2.play(); + } + System.out.println("Team 1: "+ team1.goals); + System.out.println("Team 2: "+team2.goals); + + if(team1.goals== team2.goals) + { + System.out.println("It's a draw!"); + } + if(team1.goals> team2.goals) + { + System.out.println("Team 1 is the winner!"); + } + if(team1.goals< team2.goals) + { + System.out.println("Team 2 is the winner!"); + } + } + +} diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/MyApp.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/MyApp.java new file mode 100644 index 0000000..7717667 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/MyApp.java @@ -0,0 +1,10 @@ +package org.example; + + +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/Yas_Hassanpour_40231712003/src/main/java/org/example/Player.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Player.java new file mode 100644 index 0000000..d09875b --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Player.java @@ -0,0 +1,12 @@ +package org.example; + +import java.util.Random; + +public class Player { + String name; + int number; + interface Success { + public boolean isSuccessful (); + + } +} diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Seeker.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Seeker.java new file mode 100644 index 0000000..4263970 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Seeker.java @@ -0,0 +1,14 @@ +package org.example; + +import java.util.Random; + +public class Seeker extends Player implements Player.Success{ + @Override + public boolean isSuccessful() { + Random randNum = new Random(); + if (randNum.nextInt(100)+1<=5) + return true; + else + return false; + } +} diff --git a/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Team.java b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Team.java new file mode 100644 index 0000000..0bb5c58 --- /dev/null +++ b/Answers/Yas_Hassanpour_40231712003/src/main/java/org/example/Team.java @@ -0,0 +1,44 @@ +package org.example; + +public class Team { + Keeper keeper= new Keeper(); + Seeker seeker = new Seeker(); + Beater[] beaters = new Beater[2]; + Chaser[] chasers = new Chaser[3]; + int goals; + public Team() { + for (int i = 0; i < chasers.length; i++) { + chasers[i] = new Chaser(); + } + } + private void setGoals() + { + goals++; + } + private boolean + beaterIsSuccessful() { + for (Beater beater : beaters) { + if (beater.isSuccessful()) { + return true; + } + } + return false; + } + + private int successfulChasersNum() { + int successfulChasers = 0; + for (Chaser chaser : chasers) { + if (chaser.isSuccessful()) { + successfulChasers++; + } + } + return successfulChasers; + } + public void play() + { + if(keeper.isSuccessful() && successfulChasersNum()>=2) + setGoals(); + if(seeker.isSuccessful()) + goals=+150; + } +}