Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Answers/Beater.java
Original file line number Diff line number Diff line change
@@ -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
}
}
11 changes: 11 additions & 0 deletions Answers/Chaser.java
Original file line number Diff line number Diff line change
@@ -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
}
}
11 changes: 11 additions & 0 deletions Answers/Keeper.java
Original file line number Diff line number Diff line change
@@ -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
}
}
20 changes: 20 additions & 0 deletions Answers/Main.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
32 changes: 32 additions & 0 deletions Answers/Match.java
Original file line number Diff line number Diff line change
@@ -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!");
}
}
}
}
13 changes: 13 additions & 0 deletions Answers/Player.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
11 changes: 11 additions & 0 deletions Answers/Seeker.java
Original file line number Diff line number Diff line change
@@ -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
}
}
5 changes: 5 additions & 0 deletions Answers/Success.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package Answers;

public interface Success {
boolean isSuccessful();
}
38 changes: 38 additions & 0 deletions Answers/team.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
}