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

Preview:

DESCRIPTION

Team : 13th Legion Igor Pshul Julie Mogoun Max Schmitt Steffen Balzer. Übersicht. Zeitplan. Templates. Vorlagen, die mit Inhalt gefüllt werden können. SVN. SVN unter Windows ( Turtoise Client). SVN unter Linux. Entwurf- Strategie Flussdiagramm. Kampfbeginn. Scannen. - PowerPoint PPT Presentation

Citation preview

Team : 13th Legion

Igor PshulJulie MogounMax Schmitt

Steffen Balzer

Übersicht

Zeitplan, Tools

Flussdiagramm

MethodenFazit

Zeitplan

Templates

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

SVN

„Ordner“ auf den von mehreren PC‘s zugegriffen werden kann

Datensicherung in einem zentralen Projektarchiv (repository)

Revisionszählung mit Möglichkeit der Wiederherstellung

SVN unter Windows (Turtoise Client)

SVN unter Linux

Entwurf-Strategie

Flussdiagramm

Kampfbeginn

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

Offensivtaktik

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

Defensivtaktik

Blindes Feuern in Richtung

Gegneraufkommen

Gegner in Teamnähe

Mehr Treffer als Fehlschüs

se

Nein

Feuer einstellen

Ja

Ja

Nein

Scannen

if (getHeading() > Zielwinkel ) {

if (getHeading() - Zielwinkel >=0 && getHeading()- Zielwinkel <90) {

turnLeft(getHeading()-Zielwinkel );

ahead();

}

if (getHeading() - Zielwinkel <=359 && getHeading()- Zielwinkel >=270) {

turnRight(360 - getHeading()+Zielwinkel );

ahead();

}

if (getHeading() - Zielwinkel <270 && getHeading()- Zielwinkel >=180) {

turnLeft( (getHeading()-Zielwinkel) - 180);

back();

}

if (getHeading() - Zielwinkel <180 && getHeading() - Zielwinkel >=90) {

turnRight(180 - (getHeading() -Zielwinkel));

back();

}

}

Methoden - Drehen

Methoden - F_FILTER

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);

}

F_Navigation_population (1)

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++;

F_Navigation_population (2)

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;

Kommunikation Sender(...)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()); }(...)

Kommunikation Empfänger

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);}

Klassendiagramm

Fazit

Erfahrungen Probleme

Verbesserungs-vorschläge

Erweiterbar- und

Wiederverwert-barkeit

Fragen

Recommended