Update Spiel.java
This commit is contained in:
parent
91f15c4809
commit
c4b3007943
|
|
@ -1,25 +1,25 @@
|
||||||
package fußballmanager;
|
package fußballmanager;
|
||||||
|
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
|
|
||||||
import fußballmanager.personen.*;
|
import fußballmanager.personen.*;
|
||||||
|
|
||||||
public class Spiel {
|
public class Spiel {
|
||||||
int spielzeit;
|
int spielzeit;
|
||||||
int verlängerung;
|
int verlängerung;
|
||||||
Team heimteam;
|
Team heimteam;
|
||||||
Team auswärtsteam;
|
Team auswärtsteam;
|
||||||
Schiedsrichter schiri;
|
Schiedsrichter schiri;
|
||||||
Ball b;
|
Ball b;
|
||||||
//true = heim | false = auswärts
|
//true = heim | false = auswärts
|
||||||
boolean ballBesitz;
|
boolean ballBesitz;
|
||||||
|
|
||||||
public Spiel(Team heim, Team aus, Schiedsrichter s) {
|
public Spiel(Team heim, Team aus, Schiedsrichter s) {
|
||||||
this.heimteam = heim;
|
this.heimteam = heim;
|
||||||
this.auswärtsteam = aus;
|
this.auswärtsteam = aus;
|
||||||
this.schiri = s;
|
this.schiri = s;
|
||||||
ballBesitz = ((int) Math.random()) == 0 ? true : false;
|
ballBesitz = ((int) Math.random()) == 0 ? true : false;
|
||||||
spielzeit = 0;
|
spielzeit = 0;
|
||||||
|
|
@ -37,9 +37,9 @@ public class Spiel {
|
||||||
Team nichtballteam;
|
Team nichtballteam;
|
||||||
if(ballBesitz){
|
if(ballBesitz){
|
||||||
ballteam = heimteam;
|
ballteam = heimteam;
|
||||||
nichtballteam = auswärtsteam;
|
nichtballteam = auswärtsteam;
|
||||||
}else{
|
}else{
|
||||||
ballteam = auswärtsteam;
|
ballteam = auswärtsteam;
|
||||||
nichtballteam = heimteam;
|
nichtballteam = heimteam;
|
||||||
}
|
}
|
||||||
for(Spieler s:ballteam.spieler){
|
for(Spieler s:ballteam.spieler){
|
||||||
|
|
@ -53,8 +53,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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue