From 67b61ee5f09ddf4f5eecad929dd572e83898df14 Mon Sep 17 00:00:00 2001 From: Hossein Date: Mon, 15 Apr 2024 23:48:48 +0330 Subject: [PATCH 1/2] finish the project --- .idea/.gitignore | 3 ++ .idea/Quidditch.iml | 9 +++++ .idea/misc.xml | 6 ++++ .idea/modules.xml | 9 +++++ .idea/vcs.xml | 6 ++++ Program/Program.iml | 11 ++++++ Program/src/Beater.java | 11 ++++++ Program/src/Chaser.java | 11 ++++++ Program/src/Keeper.java | 11 ++++++ Program/src/Match.java | 30 ++++++++++++++++ Program/src/MyApp.java | 25 ++++++++++++++ Program/src/Player.java | 17 +++++++++ Program/src/Seeker.java | 11 ++++++ Program/src/Team.java | 50 +++++++++++++++++++++++++++ out/production/Program/Player.class | Bin 0 -> 481 bytes out/production/Program/Seeker.class | Bin 0 -> 493 bytes out/production/Program/Success.class | Bin 0 -> 123 bytes 17 files changed, 210 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/Quidditch.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Program/Program.iml create mode 100644 Program/src/Beater.java create mode 100644 Program/src/Chaser.java create mode 100644 Program/src/Keeper.java create mode 100644 Program/src/Match.java create mode 100644 Program/src/MyApp.java create mode 100644 Program/src/Player.java create mode 100644 Program/src/Seeker.java create mode 100644 Program/src/Team.java create mode 100644 out/production/Program/Player.class create mode 100644 out/production/Program/Seeker.class create mode 100644 out/production/Program/Success.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/Quidditch.iml b/.idea/Quidditch.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/Quidditch.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ae8e6d9 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Program/Program.iml b/Program/Program.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Program/Program.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Program/src/Beater.java b/Program/src/Beater.java new file mode 100644 index 0000000..3172d11 --- /dev/null +++ b/Program/src/Beater.java @@ -0,0 +1,11 @@ +class Beater extends Player { + public Beater(String name, int number) { + super(name, number); + } + + @Override + public boolean isSuccessful() { + // Beater has a 40% chance to stop chasers + return Math.random() < 0.4; + } +} // end class Beater \ No newline at end of file diff --git a/Program/src/Chaser.java b/Program/src/Chaser.java new file mode 100644 index 0000000..6589c03 --- /dev/null +++ b/Program/src/Chaser.java @@ -0,0 +1,11 @@ +class Chaser extends Player { + public Chaser(String name, int number) { + super(name, number); + } + + @Override + public boolean isSuccessful() { + // Chaser has a 30% chance to score a goal + return Math.random() < 0.3; + } +} // end class Chaser \ No newline at end of file diff --git a/Program/src/Keeper.java b/Program/src/Keeper.java new file mode 100644 index 0000000..357008b --- /dev/null +++ b/Program/src/Keeper.java @@ -0,0 +1,11 @@ +public class Keeper extends Player { + public Keeper(String name, int number) { + super(name, number); + } + + @Override + public boolean isSuccessful() { + // Keeper has a 70% chance to save a goal + return Math.random() < 0.7; + } +} // end class Keeper \ No newline at end of file diff --git a/Program/src/Match.java b/Program/src/Match.java new file mode 100644 index 0000000..425d5fc --- /dev/null +++ b/Program/src/Match.java @@ -0,0 +1,30 @@ +class Match { + private final Team team1; + private final Team team2; + + public 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(); + } + + 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("It's a draw!"); + } else if (team1Goals > team2Goals) { + System.out.println("Team 1 wins!"); + } else { + System.out.println("Team 2 wins!"); + } + } +} diff --git a/Program/src/MyApp.java b/Program/src/MyApp.java new file mode 100644 index 0000000..7867f97 --- /dev/null +++ b/Program/src/MyApp.java @@ -0,0 +1,25 @@ +public class MyApp { + public static void main(String[] args) { + // Creating players for team 1 + Keeper keeper1 = new Keeper("Keeper 1", 1); + Seeker seeker1 = new Seeker("Seeker 1", 2); + Chaser[] chasers1 = {new Chaser("Chaser 1", 3), new Chaser("Chaser 2", 4), + new Chaser("Chaser 3", 5)}; + Beater[] beaters1 = {new Beater("Beater 1", 6), + new Beater("Beater 2", 7)}; + Team team1 = new Team(keeper1, seeker1, chasers1, beaters1); + + // Creating players for team 2 + Keeper keeper2 = new Keeper("Keeper 2", 1); + Seeker seeker2 = new Seeker("Seeker 2", 2); + Chaser[] chasers2 = {new Chaser("Chaser 4", 3), new Chaser("Chaser 5", 4), + new Chaser("Chaser 6", 5)}; + Beater[] beaters2 = {new Beater("Beater 3", 6), + new Beater("Beater 4", 7)}; + Team team2 = new Team(keeper2, seeker2, chasers2, beaters2); + + // Starting the match + Match match = new Match(team1, team2); + match.start(); + } +} \ No newline at end of file diff --git a/Program/src/Player.java b/Program/src/Player.java new file mode 100644 index 0000000..a8601f8 --- /dev/null +++ b/Program/src/Player.java @@ -0,0 +1,17 @@ +interface Success { + boolean isSuccessful(); +} + +public class Player implements Success { + private final String name; + private final int number; + + public Player(String name, int number) { + this.name = name; + this.number = number; + } + + public boolean isSuccessful() { + return false; + } +} \ No newline at end of file diff --git a/Program/src/Seeker.java b/Program/src/Seeker.java new file mode 100644 index 0000000..ae6d908 --- /dev/null +++ b/Program/src/Seeker.java @@ -0,0 +1,11 @@ +class Seeker extends Player { + public Seeker(String name, int number) { + super(name, number); + } + + @Override + public boolean isSuccessful() { + // Seeker has a 5% chance to find the golden snitch + return Math.random() < 0.05; + } +} // end class Seeker \ No newline at end of file diff --git a/Program/src/Team.java b/Program/src/Team.java new file mode 100644 index 0000000..2fd2335 --- /dev/null +++ b/Program/src/Team.java @@ -0,0 +1,50 @@ +class Team { + private final Keeper keeper; + private final Seeker seeker; + private final Chaser[] chasers; + private final Beater[] beaters; + private int goals; + + public 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 keeperSuccess = keeper.isSuccessful(); + int successfulBeaters = 0; + int successfulChasers = 0; + + for (Beater beater : beaters) { + if (beater.isSuccessful()) { + successfulBeaters++; + } + } + + for (Chaser chaser : chasers) { + if (chaser.isSuccessful()) { + successfulChasers++; + } + } + + if (keeperSuccess && successfulBeaters >= 1 && successfulChasers >= 2) { + setGoal(); + } + + if (seeker.isSuccessful()) { + System.out.println("Seeker found the golden snitch!"); + goals += 150; + } + } + + public int getGoals() { + return goals; + } +} \ No newline at end of file diff --git a/out/production/Program/Player.class b/out/production/Program/Player.class new file mode 100644 index 0000000000000000000000000000000000000000..f6bbe3d2037f0a08cdb895e641fc9347e67d1f01 GIT binary patch literal 481 zcmZWl%SyvQ6g|_XO`FE1My;<3x@)W052y$t2!)_RrJ%cMjCD$yLLP$u^=?D?8pHxdBo~2z>;3V^X{@5zkQq%I4q7xGWs50~i;)Rez#M13 zA0&xDyZfIx>P<-aa`{NYj;EsFTC?xuG}Km0UxpJIE6$6ekv=O@t9kieLjhYQg~?ME z>Kh&etno67{oqQmP$Qo`<;`(K+m;}(PU!ND^h+);Pm${tY!GfzcF!M2(dmCc^p96C z`<)fm-u2)Xp$mhsPG}J}&?K=oRSt6+wy{GQ31}OkUu?uSyVxsiPAGD(RDNRwD_3>J P(Q0gYpt)UUA7AL11di70fkhANEhyI)7ZwQspKK}Co1kmaN|mG z;RpCp;@l+AxiHM*oHKLh_wV}$z%jP-kRWSNbY!41sFyB(uzd>l9nT357-~)9mf!QX z%e_(C41LENb-Jy79$Dlxv06f9BHNMNX9nKB}vh7}SK(JIzr*>!BBvS-8+z48~d pDvFOU(3Dpw@;lXJ2z{{tkc+kT1epc Date: Mon, 15 Apr 2024 23:52:30 +0330 Subject: [PATCH 2/2] finish the project --- {Program => Answers/Program}/Program.iml | 0 {Program => Answers/Program}/src/Beater.java | 0 {Program => Answers/Program}/src/Chaser.java | 0 {Program => Answers/Program}/src/Keeper.java | 0 {Program => Answers/Program}/src/Match.java | 0 {Program => Answers/Program}/src/MyApp.java | 0 {Program => Answers/Program}/src/Player.java | 0 {Program => Answers/Program}/src/Seeker.java | 0 {Program => Answers/Program}/src/Team.java | 0 out/production/Program/Beater.class | Bin 0 -> 493 bytes out/production/Program/Chaser.class | Bin 0 -> 493 bytes out/production/Program/Keeper.class | Bin 0 -> 493 bytes out/production/Program/Match.class | Bin 0 -> 1403 bytes out/production/Program/MyApp.class | Bin 0 -> 1352 bytes out/production/Program/Team.class | Bin 0 -> 1478 bytes 15 files changed, 0 insertions(+), 0 deletions(-) rename {Program => Answers/Program}/Program.iml (100%) rename {Program => Answers/Program}/src/Beater.java (100%) rename {Program => Answers/Program}/src/Chaser.java (100%) rename {Program => Answers/Program}/src/Keeper.java (100%) rename {Program => Answers/Program}/src/Match.java (100%) rename {Program => Answers/Program}/src/MyApp.java (100%) rename {Program => Answers/Program}/src/Player.java (100%) rename {Program => Answers/Program}/src/Seeker.java (100%) rename {Program => Answers/Program}/src/Team.java (100%) create mode 100644 out/production/Program/Beater.class create mode 100644 out/production/Program/Chaser.class create mode 100644 out/production/Program/Keeper.class create mode 100644 out/production/Program/Match.class create mode 100644 out/production/Program/MyApp.class create mode 100644 out/production/Program/Team.class diff --git a/Program/Program.iml b/Answers/Program/Program.iml similarity index 100% rename from Program/Program.iml rename to Answers/Program/Program.iml diff --git a/Program/src/Beater.java b/Answers/Program/src/Beater.java similarity index 100% rename from Program/src/Beater.java rename to Answers/Program/src/Beater.java diff --git a/Program/src/Chaser.java b/Answers/Program/src/Chaser.java similarity index 100% rename from Program/src/Chaser.java rename to Answers/Program/src/Chaser.java diff --git a/Program/src/Keeper.java b/Answers/Program/src/Keeper.java similarity index 100% rename from Program/src/Keeper.java rename to Answers/Program/src/Keeper.java diff --git a/Program/src/Match.java b/Answers/Program/src/Match.java similarity index 100% rename from Program/src/Match.java rename to Answers/Program/src/Match.java diff --git a/Program/src/MyApp.java b/Answers/Program/src/MyApp.java similarity index 100% rename from Program/src/MyApp.java rename to Answers/Program/src/MyApp.java diff --git a/Program/src/Player.java b/Answers/Program/src/Player.java similarity index 100% rename from Program/src/Player.java rename to Answers/Program/src/Player.java diff --git a/Program/src/Seeker.java b/Answers/Program/src/Seeker.java similarity index 100% rename from Program/src/Seeker.java rename to Answers/Program/src/Seeker.java diff --git a/Program/src/Team.java b/Answers/Program/src/Team.java similarity index 100% rename from Program/src/Team.java rename to Answers/Program/src/Team.java diff --git a/out/production/Program/Beater.class b/out/production/Program/Beater.class new file mode 100644 index 0000000000000000000000000000000000000000..0842ef8509fc84dfe4c5c2acfd5979831900a335 GIT binary patch literal 493 zcmYLF%TB^j5IvU`3Z)1l;tQ1}Xd)kg@vR9-F(w!m?k=Um)zX^Mn)oMb+`Dn(O5?&0 z@DKbMfL zIout!dVw$8QM=RZ>&POfK{t?x!7w+&ba^l)zR%sEH(^j3&6CXj?~}A=4JB$F**uUl z)MIaGGZanX+UMb9VEdPR;83M(dKP#3+!r!WifS+xQ--V=)7!*%`6NQmh9?Ws5H}KJ zU>ycSOnaea+0*HD=tL`BF%)_Mw{E-qF45O}Ug%r)nUEXg;~_gz8FdutO43qb@=oOE zDeFL?2WVT{wGXiO2v8<3j|ysKpkjfddJIDai6oD}+)20J9_EonPD5Tt0Xjozff?{{N_?NYV{gWwwAyExzsl3{MuMA#Nnd z!1@fj2+X-<*+FnSccPVU7>Z`dt@{CgNc8ijH}@_3LdXpY@sNF~j3&x-C21)zc_;Eq zl=Y#|1GL?}#s}DY1gMgiM+LPqP_ax=Glrpt70QT!I#x+UMr&A)WH+#x$et5R_9~yy pYA8OxKvQ3#DsNO%Aob+}KrYhOV{D?`pn4jq(g}SWTa=`*{SShcSCaq$ literal 0 HcmV?d00001 diff --git a/out/production/Program/Keeper.class b/out/production/Program/Keeper.class new file mode 100644 index 0000000000000000000000000000000000000000..e45d488c4bda61fc435cf25a1436769451af878b GIT binary patch literal 493 zcmYLF%TB^j5IwgoEsr9Ih%bEYKoj`@jF0$8h{c%HuyA)N1*)Ybr8V(ST)21R#+Al} zAK-`h8OFJ76Xqt9d7N`*?)?0HeFHefb{-OB4T_EoR0j3NU2hXd6g^`nS!dbA#%Tz_E-VmAYyu|ctBu1)Fa!(^RC1K6>eIwtB}>-3*6sw9 zcYXwq2qE#@s!%Bp{Q>rFIJ3JEL5XXtxuwz4*g97YY87LLFY7+#U8yUATSvOiDT z_9}&jwi>sPk4^MZ-NaE84NO@0Mu!>FX50pz+|ftJEKK3JKyJfP4+7~$akSPbPM~C< zY~fp+{35x|PNW=q$OhX?ak3q!?FO|UL)TXw73wUCWN2GBjWYsMeYxc{1HUWPPp;ae z6e;N|#+jULRg&v5Yu$JwX())HG`hRgSP8CPqzE(PPi)9 zJtD<+(3Rer3|+0K;E>vMNzZ7nyuEm>K)Kqzl51+zkR1sZb799JLwrq8#op!<5^G?&N|ka=5z(*6lqoKZ1KE z?qk`&1Kp&D0yCd~KG%O9Y&o^08%f`mWmg5^j=-z^#ZC>A@DHWm^PFg=9Ryq3gT}$0 z>_fh|xVkfN4l(~_pM5e8js5>h>Y^zZh4(P3bMGg@JK8zCy%KuHh=KQKN%6jEE&2D8m5Pc_#_;F%8qtE|vTV`6!X;TYvI3LN00n8O6V=aX}fXp2wGDvq-%)99fDkB^EbTP6Jr zADSDq)D-(E?HS(qA;#wTP%co)puzJ3hW|xI{DbNLa6^c^!8{g;XK)j@xQ|n6($npD PU7{Djr2YtPJi+uQ(SA7_ literal 0 HcmV?d00001 diff --git a/out/production/Program/MyApp.class b/out/production/Program/MyApp.class new file mode 100644 index 0000000000000000000000000000000000000000..c8bd2dff2f1678fd49878f91ee908471c076cbb8 GIT binary patch literal 1352 zcmZux%Tg0T6g>mU%w!T?L4i?J5Y&XHJkH*VDObk9hzG*#)j=iYnn={}vwr(f?s0GP%T12w4C5Q-rTRYBvX z{mdTRwu|e7ORJks-cz7X6p96JQbBDZnbn{(bH{P^99M^-K=VoIHYmV{NE zlkwa_aXmdR$PFZC9A`_An@IL!L9Rzk!!ed;H|&xqx3KKTqTGy_4zrpX)^W0mMl_rv zb;hwhK|RBY9}8-`pq{O!hBb662rWDIj)5+m7kj>-;9SD;kCL|hU8PqnU!Q?LEuGBj zNODqeW^SUFC^!UBKT)vfQ5}O-G^S&yipF(}5CvNt(J@vwcUciK{DiR6iNy-OS03X@7RT+xW|=$FEW{B-FDYWX#P)`W47eaLmc>zrA(IO zwaaASFY9@E*(GKphi)^yDlalf2j25+9t~it>U(e~G<-On(Vvkb48|~&RPo#qzOvtv z2J@swX7{O^cjgMh97CReK>T*miAla1;!^_>p>mxf8st;qGu%^#@>Z6oxr#FQo#7hu z8!(IOL=oJ;95Yiae-tkXb3ZH4a`8y0jHp#XeJa6%VgF?@h_(c7MjpKfGxhioS5Y-D#wCPivjuD7q>q{_Jzxl~LD#gr-~dxT_4 zJEGZlRCC~{=0&NQ(vOG^|0Oyah(?5{shXOpn-QUFR4|@1!=_Qj*+d>OxpkoaNT;})rm+%S=D5D9V`Tl=p$9J^i2il~`FMK0$6Sp`cif@?5ZQ9&| zFSrAXw>E*SLrK)Z52PWXMpdQo=GB8nx!|fDE0A-N=#=p>8uC Tl3`F?#UtdXrQk6&Yq0Vg$pjZf literal 0 HcmV?d00001 diff --git a/out/production/Program/Team.class b/out/production/Program/Team.class new file mode 100644 index 0000000000000000000000000000000000000000..08377bb462aca9150a0bf2b82d6c8d8777da1993 GIT binary patch literal 1478 zcmaJ>O>Yxd6g|%~pQkph#NCRm@Q-+V$5UHT5Oq_``#MqH% zT$OFbrmd>(Kv~jFH{GI!wh%YgVh11gM44slj@^}yLn>cIZ1DtyWyvF?~ z4v37_?GwVXr(g}cwd=jG6F1@>VXNmbBQTLfs%&)oo%Kq*8B|)`_Il8%L0pCOF7sF`?i;&D*g1O?s_0_ z&i0tVohtQsGbHp`PmV#IueaO&eSRmD$#F6Hw-rzmq zK80{k4q&>c1}M0v2PnFZK0w*k25|mV0Y2e*3?|PU!{qt1FvPUOOzfaQ+YlCMJ(q;! zT3+NAgR9bnl4NnR;0d`k(3B(#)T!l=re)32BK;4zUq6AP-+843x#~cX$xAAoow%my z1eW%~h;JDtN8d;86PUXgpV!W73zW-qx}!gvF|?U%Ia@YarJ3yJm9%fr33ePHza4pBUk`88x*G-cB4gV7EP~N~KVoc$COydW*_=(s(