Update Spiel.java

This commit is contained in:
GordonDaFreeman 2017-09-21 12:49:27 +02:00 committed by GitHub
parent 91f15c4809
commit c4b3007943
1 changed files with 120 additions and 10 deletions

View File

@ -1,25 +1,25 @@
package fußballmanager;
package fußballmanager;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import fußballmanager.personen.*;
import fußballmanager.personen.*;
public class Spiel {
int spielzeit;
int verlängerung;
int verlängerung;
Team heimteam;
Team auswärtsteam;
Team auswärtsteam;
Schiedsrichter schiri;
Ball b;
//true = heim | false = auswärts
//true = heim | false = auswärts
boolean ballBesitz;
public Spiel(Team heim, Team aus, Schiedsrichter s) {
this.heimteam = heim;
this.auswärtsteam = aus;
this.auswärtsteam = aus;
this.schiri = s;
ballBesitz = ((int) Math.random()) == 0 ? true : false;
spielzeit = 0;
@ -37,9 +37,9 @@ public class Spiel {
Team nichtballteam;
if(ballBesitz){
ballteam = heimteam;
nichtballteam = auswärtsteam;
nichtballteam = auswärtsteam;
}else{
ballteam = auswärtsteam;
ballteam = auswärtsteam;
nichtballteam = heimteam;
}
for(Spieler s:ballteam.spieler){
@ -52,8 +52,118 @@ public class Spiel {
}
}
private void attackPhase(){
private void attackPhase() {
Team ballteam;
Team nichtballteam;
if (ballBesitz) {
ballteam = heimteam;
nichtballteam = auswärtsteam;
} else {
ballteam = auswärtsteam;
nichtballteam = heimteam;
}
for (Spieler s : ballteam.spieler) {
if (s.hasBall()) {
boolean weiter = true;
for (Spieler g : nichtballteam.spieler) {
if (weiter)
if (s.p.getDistance(g.p) < 0.5) {
if (g.getAttack() > s.getDef()) {
int rng = new Random().nextInt(100);
if (rng < 89) {
// Ball wurde abgenommen
g.takeBall(s);
s.motivation -= 20;
}
if (rng < 90) {
}
if (rng < 101) {
Spieler t = null;
double d = 200;
for (Spieler temp : ballteam.spieler) {
if (s.p.getDistance(temp.p) < d && !temp.equals(s)) {
d = s.p.getDistance(temp.p);
t = temp;
}
}
Flugbahn fb = new Flugbahn(s.p, t.p);
boolean succes = false;
for (Spieler temp : nichtballteam.spieler) {
if (fb.isInRange(temp.p)) {
// Pass wurde unterbrochen
temp.takeBall(s);
succes = true;
break;
}
}
if (!succes) {
// Ball wurde weg gepasst
t.takeBall(s);
}
}
} else {
Spieler t = null;
double d = 200;
for (Spieler temp : ballteam.spieler) {
if (s.p.getDistance(temp.p) < d && !temp.equals(s)) {
d = s.p.getDistance(temp.p);
t = temp;
}
}
Flugbahn fb = new Flugbahn(s.p, t.p);
boolean succes = false;
for (Spieler temp : nichtballteam.spieler) {
if (fb.isInRange(temp.p)) {
// Pass wurde unterbrochen
temp.takeBall(s);
succes = true;
break;
}
}
if (!succes) {
// Ball wurde weg gepasst
t.takeBall(s);
}
}
//
weiter = false;
}
}
if (weiter) {
double tordis = s.p.getDistance(nichtballteam.torwart.p);
Spieler t = null;
boolean ss = false;
for (Spieler m : ballteam.spieler) {
if (!m.equals(s)) {
if (m.p.getDistance(nichtballteam.torwart.p) < tordis) {
t = m;
ss = true;
}
}
}
if (t != null&&ss) {
Flugbahn fb = new Flugbahn(s.p, t.p);
boolean succes = false;
for (Spieler temp : nichtballteam.spieler) {
if (fb.isInRange(temp.p)) {
// Pass wurde unterbrochen
temp.takeBall(s);
succes = true;
break;
}
}
if (!succes) {
// Ball wurde weg gepasst
t.takeBall(s);
}
}
}
break;
}
}
}