Team : 13th Legion Julie Mogoun Max Schmitt Steffen Balzer Igor Pshul.

Post on 06-Apr-2015

107 views 4 download

Transcript of Team : 13th Legion Julie Mogoun Max Schmitt Steffen Balzer Igor Pshul.

Team : 13th Legion

Julie MogounMax Schmitt

Steffen BalzerIgor Pshul

Vorlagen, die mit Inhalt gefüllt werden können

Rückzug in ruhige Zone, dabei feuern

Scannen

Mit Teamkamerad am Rand treffen

Position im

Gegnerauf-kommen

Gegner in Teamnähe

Ja

Nein

Ja

Nein

Offensivtaktik

Defensivhaltung

Mehrere Gegner

Zielenergie < 15%

Richtung Gegner-

aufkommen

Rückzug des

Gegners

Ziel fokussieren und

gemeinsamer Angriff

Verfolgen und vernichten

Ziel nach Energie scannen

Zwischen Ziel mit geringster

Energie und Reichweite

wählen

Ja

Nein

JaNein

Nein

Nein

Scannen

Kampf-beginn

Ja

Ja

Blindes Feuern in Richtung

Gegneraufkommen

Gegner in Teamnähe

Mehr Treffer als Fehlschüs

se

Nein

Feuer einstellen

Ja

Ja

Nein

Scannen

if (heading > angle ) {if (heading- angle >=0 && heading-angle <90) { robot.turnLeft(heading-angle );

robot.ahead(c); }

if (heading- angle <=359 && heading-angle >=270){ robot.turnRight(360 - heading+angle ); robot.ahead(c); } if (heading- angle <270 && heading-angle >=180) { robot.turnLeft( (heading-angle) - 180); robot.back(c); } if (heading- angle <180 && heading-angle >=90){ robot.turnRight(180 - (heading-angle)); robot.back(c); }

}

angle

heading

private ArrayList <ScannedRobotEvent> filter = new ArrayList();(…) synchronized void filter(ScannedRobotEvent e){

int i=0;boolean none = true;while (i< filter.size()){

if(filter.get(i).getName().equals(e.getName())) none = false;

i++;}if(none && !isTeammate(e.getName())) filter.add(e);

}

public double[] populationCheck (ArrayList <ScannedRobotEvent> filter){int anz1=0, anz2=0, anz3=0 ,anz4=0;double[] ziel = new double[4];

for (int i = 0; i < filter.size(); i++){if (getTargetsX(robot, filter.get(i)) > robot.getBattleFieldWidth()/2 &&

getTargetsY(robot, filter.get(i)) > robot.getBattleFieldHeight() /2)anz1++;

else if (…)

double x_1_1 = robot.getBattleFieldWidth() - (robot.getBattleFieldWidth()/4), y_1_1 = robot.getBattleFieldHeight(),

x_1_2 = robot.getBattleFieldWidth(), y_1_2 = robot.getBattleFieldHeight() - (robot.getBattleFieldHeight()/4), (…)

if(anz1 <= anz2 && anz1 <= anz3 && anz1 <= anz4) {ziel[0]=x_1_1; ziel[1] = y_1_1; ziel[2] = x_1_2; ziel[3] = y_1_2;}

else if

(…)return ziel;

(...)try{ broadcastMessage(e.getName()); } catch(Exception ex){ out.println("Fehler beim Senden der Nachricht von"+getName()); }double[] befehl = new double[2];(...)try{ broadcastMessage(befehl); out.print("sende Nachricht");

} catch(Exception ex){ out.println("Fehler beim Senden der Nachricht von"+getName()); }(...)

public void onMessageReceived(MessageEvent e){Object empfang = e.getMessage(); if(empfang instanceof double[]){

ziel = (double[]) empfang;out.print("empfangen");start2 = true;m.moveTo(ziel[0], ziel[1]);start2 = false;

}else if(empfang instanceof String){

befehl = (String) empfang;out.println(befehl);}

Erfahrungen Probleme

Verbesserungs-vorschläge

Erweiterbar- und

Wiederverwert-barkeit