diff --git a/src/fussballmanager/Flugbahn.java b/src/fussballmanager/Flugbahn.java
new file mode 100644
index 0000000..4b3de4b
--- /dev/null
+++ b/src/fussballmanager/Flugbahn.java
@@ -0,0 +1,29 @@
+package fussballmanager;
+
+public class Flugbahn {
+ //Steigung m
+ //Y-Achsen abschnitt b
+ //Definitionsbereich x1 und x2 + y1 und y2
+
+ double m,b;
+ Position p1,p2;
+
+ public Flugbahn(Position p1,Position p2) {
+ m = (p1.y-p2.y)/(p1.x-p2.x);
+ b = p1.y+m*p1.x;
+ }
+
+ public double f(double x){
+ return m*x+b;
+ }
+
+ public boolean isInRange(Position p){
+ if(p1.x
p.x||p1.x>p.x&&p2.x s.getDef()) {
+ int rng = new Random().nextInt(100);
+ if (rng < 89) {
+ // Ball wurde abgenommen
+ System.out.println(s.getname() + " gab Ball an " + g.getname());
+ 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) {
+ System.out.println(s.getname() + " passt Ball an " + t.getname());
+ // Ball wurde weg gepasst
+ t.takeBall(s);
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+
+
+
+ public String getSpielzeit() {
+ String r = "";
+ NumberFormat numberFormat = new DecimalFormat("0");
+ numberFormat.setRoundingMode(RoundingMode.DOWN);
+ r += "Spielzeit: " + numberFormat.format(this.spielzeit / 60) + ":";
+ if (spielzeit % 60 < 10){
+ r += "0";
+ }
+ r += spielzeit % 60;
+ return r;
+ }
+
+
+}
diff --git a/src/fussballmanager/Team.java b/src/fussballmanager/Team.java
new file mode 100644
index 0000000..a87cd8c
--- /dev/null
+++ b/src/fussballmanager/Team.java
@@ -0,0 +1,85 @@
+package fussballmanager;
+
+import fussballmanager.namegen.Datenbank;
+import fussballmanager.personen.*;
+
+public class Team {
+ String name;
+ Trainer trainer;
+ Spieler[] spieler = new Spieler[10];
+ Torwart torwart;
+ int siege = 0;
+
+ public Team(String name){
+ this.name = name;
+ fülleTeam();
+ addTrainer();
+ }
+
+ public Team(){
+ this.name = Datenbank.genName()+"'s Team";
+ fülleTeam();
+ addTrainer();
+ }
+
+ public void fülleTeam(){
+ //Fülle Feldspieler
+ for(int i =0; i<10;i++){
+ spieler[i] = new Spieler();
+ }
+ //Fülle Torwart
+ torwart = new Torwart();
+ }
+
+ public void addTrainer(){
+ trainer = new Trainer();
+ }
+
+ public void setPositions(boolean heim){
+ if (heim){
+ torwart.p.x = 5;
+ torwart.p.y = 22.5;
+ for(int i = 0; i < 3; i++){
+ spieler[i].p.x = 20;
+ spieler[i].p.y = 7.5+15*i;
+ }
+ for(int i = 3; i < 7; i++){
+ spieler[i].p.x = 38;
+ spieler[i].p.y =5.625+11.25*i;
+ }
+ for(int i = 7; i < 9; i++){
+ spieler[i].p.x = 52;
+ spieler[i].p.y =11.25+22.5*i;
+ }
+ spieler[9].p.x=44;
+ spieler[9].p.y=45;
+ }else{
+ torwart.p.x = 90-5;
+ torwart.p.y = 22.5;
+ for(int i = 0; i < 3; i++){
+ spieler[i].p.x = 90-20;
+ spieler[i].p.y = 7.5+15*i;
+ }
+ for(int i = 3; i < 7; i++){
+ spieler[i].p.x = 90-38;
+ spieler[i].p.y =5.625+11.25*i;
+ }
+ for(int i = 7; i < 9; i++){
+ spieler[i].p.x = 90-52;
+ spieler[i].p.y =11.25+22.5*i;
+ }
+ spieler[9].p.x=46;
+ spieler[9].p.y=45;
+ }
+
+ }
+
+ public boolean isInTeam(Person p){
+ for(Person pp:spieler){
+ if(p.equals(pp)) return true;
+ }
+ if(torwart.equals(p)) return true;
+ return false;
+ }
+}
+
diff --git a/src/fussballmanager/namegen/Datenbank.java b/src/fussballmanager/namegen/Datenbank.java
new file mode 100644
index 0000000..601332c
--- /dev/null
+++ b/src/fussballmanager/namegen/Datenbank.java
@@ -0,0 +1,54 @@
+package fussballmanager.namegen;
+
+import java.util.ArrayList;
+
+public class Datenbank {
+ int n = 100;
+ static int counterName = 0;
+ static int counterVorname = 0;
+ static int counterBeiname = 0;
+ static String[] nameFeld;
+ static ArrayList namen = new ArrayList();//
+ static ArrayList vornamen = new ArrayList();
+ static ArrayList beinamen = new ArrayList();
+
+ public static String genName(){
+ String r = "";
+ namenListeFüllen();
+ r += namen.get((int) (Math.random() * namen.size()));
+ return r;
+ }
+
+ public static String genVorname(){
+ String r = "";
+ vornameFeldFüllen();
+ r += vornamen.get((int) (Math.random() * vornamen.size()));
+ return r;
+ }
+
+ static void namenListeFüllen(){
+ namen.add("Günter");//
+ namen.add("Diabetes");
+ namen.add("Dextrose");
+ namen.add("Hackschnetzler");
+ namen.add("Rasur");
+ namen.add("Algrim");
+ namen.add("Schmitz");
+ namen.add("Wühl");
+ namen.add("Hommers");
+ namen.add("Dagoba");
+ }
+
+ static void vornameFeldFüllen(){
+ vornamen.add("Günter");//
+ vornamen.add("Gorden");
+ vornamen.add("Dr.");
+ vornamen.add("Profi");
+ vornamen.add("Hommers");
+ vornamen.add("Metti");
+ vornamen.add("Moriz");
+ vornamen.add("Läon");
+ vornamen.add("Hommers");
+ vornamen.add("Willi");
+ }
+}
diff --git a/src/fussballmanager/personen/Ball.java b/src/fussballmanager/personen/Ball.java
new file mode 100644
index 0000000..d9652c5
--- /dev/null
+++ b/src/fussballmanager/personen/Ball.java
@@ -0,0 +1,5 @@
+package fussballmanager.personen;
+
+public class Ball{
+ public Spieler s;
+}
diff --git a/src/fussballmanager/personen/Person.java b/src/fussballmanager/personen/Person.java
new file mode 100644
index 0000000..12723c0
--- /dev/null
+++ b/src/fussballmanager/personen/Person.java
@@ -0,0 +1,25 @@
+package fussballmanager.personen;
+
+import fussballmanager.Team;
+
+public abstract class Person {
+ int alter;
+ Team team;
+ String name,vorname;
+
+ public void setTeam(Team team){
+ this.team = team;
+ }
+
+ public Team getTeam(){
+ return team;
+ }
+
+ public boolean isInTeam(Person p){
+ return team.isInTeam(p);
+ }
+
+ public String getname() {
+ return vorname + " " + name;
+ }
+}
diff --git a/src/fussballmanager/personen/Schiedsrichter.java b/src/fussballmanager/personen/Schiedsrichter.java
new file mode 100644
index 0000000..9a77b20
--- /dev/null
+++ b/src/fussballmanager/personen/Schiedsrichter.java
@@ -0,0 +1,10 @@
+package fussballmanager.personen;
+
+import fussballmanager.namegen.Datenbank;
+
+public class Schiedsrichter extends Person{
+ public Schiedsrichter(){
+ name = Datenbank.genName();
+ vorname = Datenbank.genVorname();
+ }
+}
diff --git a/src/fussballmanager/personen/Spieler.java b/src/fussballmanager/personen/Spieler.java
new file mode 100644
index 0000000..cf3a9e4
--- /dev/null
+++ b/src/fussballmanager/personen/Spieler.java
@@ -0,0 +1,60 @@
+package fussballmanager.personen;
+
+import java.util.Random;
+
+import fussballmanager.Position;
+import fussballmanager.namegen.Datenbank;
+
+public class Spieler extends Person {
+ int stärke;
+ int verteidigung;
+ int tore;
+ public int motivation;
+ public double geschwindigkeit;
+ public Position p;
+ Ball b;
+ int karte = 0;
+
+ public int getAttack() {
+ return (int) (stärke+(0.2*motivation));
+ }
+
+ public int getDef() {
+ return (int) (verteidigung+(0.2*motivation));
+ }
+
+
+ public void setBall(Ball b){
+ this.b = b;
+ }
+
+ public void takeBall(Spieler s){
+ b = s.b;
+ b.s = s;
+ s.b = null;
+ }
+
+ public Spieler(int stärke, int verteidigung, int alter, String vorname,
+ String name) {
+ this.stärke = stärke;
+ this.verteidigung = verteidigung;
+ this.alter = alter;
+ this.vorname = vorname;
+ this.name = name;
+ }
+
+ public Spieler() {
+ int random = new Random().nextInt(100);
+ this.verteidigung = random;
+ this.stärke = 100-random;
+ this.geschwindigkeit = 4+Math.random()*2;
+ this.vorname = Datenbank.genVorname();
+ this.name = Datenbank.genName();
+ p = new Position(0,0);
+ }
+
+ public boolean hasBall() {
+ if(b!=null) return true;
+ return false;
+ }
+}
diff --git a/src/fussballmanager/personen/Torwart.java b/src/fussballmanager/personen/Torwart.java
new file mode 100644
index 0000000..3c98f08
--- /dev/null
+++ b/src/fussballmanager/personen/Torwart.java
@@ -0,0 +1,20 @@
+package fussballmanager.personen;
+
+import java.util.Random;
+
+import fussballmanager.Position;
+import fussballmanager.namegen.Datenbank;
+
+public class Torwart extends Spieler{
+
+ public Torwart() {
+ int random = new Random().nextInt(100);
+ this.verteidigung = random;
+ this.stärke = 100-random;
+ this.geschwindigkeit = 4+Math.random()*2;
+ this.vorname = Datenbank.genVorname();
+ this.name = Datenbank.genName();
+ p = new Position(0,0);
+ }
+
+}
diff --git a/src/fussballmanager/personen/Trainer.java b/src/fussballmanager/personen/Trainer.java
new file mode 100644
index 0000000..cab5d56
--- /dev/null
+++ b/src/fussballmanager/personen/Trainer.java
@@ -0,0 +1,24 @@
+package fussballmanager.personen;
+
+import fussballmanager.namegen.Datenbank;
+
+public class Trainer extends Person{
+ int inspiration;
+ int erfahrung = 0;
+
+ public Trainer(){
+ this.name = Datenbank.genName();
+ this.vorname = Datenbank.genVorname();
+ this.inspiration = (int) (Math.random()*100);
+ }
+
+ public Trainer(String vorname, String name, int inspiration){
+ this.name = name;
+ this.vorname = vorname;
+ this.inspiration = inspiration;
+ }
+
+
+
+
+}