Projektname: „Family Focker“ Team: Christian Zähringer, Mario Schwarz, Thomas Schwarz

Preview:

Citation preview

Projektname: „Family Focker“

Team:Christian Zähringer, Mario Schwarz,

Thomas Schwarz

Vortragsübersicht

13.06.2008 2Robocode Projekt SS 08

Aller Anfang ist schwer

13.06.2008 3Robocode Projekt SS 08

Zeitplanung

13.06.2008 4Robocode Projekt SS 08

Ideen und Umsetzung• Schussstärke in

Abhängigkeit von Distanz

• Kommunikation bei Teambeschuss

• Ausweichroutine bei Rammevent und Beschuss

• Schiessen bei Radarkontakt

Strategie

13.06.2008 5Robocode Projekt SS 08

Ideen und Umsetzung

Das Kreiseln

//Um den Gegnermassen auszuweichen//fahren wir eine zufällig erzeugte Distanz nach

vorne

setAhead (((int) (Math.random()*(1.0-400.0)+400.0)));

//und drehen uns dabei um eine zufällig erzeugte//Gradzahl nach rechts

setTurnRight (((int) (Math.random()*(1.0-80.0)+80.0)));

13.06.2008 6Robocode Projekt SS 08

Ideen und UmsetzungSchussstärke und

Distanz//Wenn die Entfernung zum Ziel //> 200 beträgt oder unsere Energie < 15 istif (entfernung > 200 || getEnergy() < 15) {

fire(1); //leichter Angriff}

//Wenn die Entfernung zum Ziel > 50 beträgtelse if (entfernung > 50) {

fire(2); //mittlerer Angriff}

//Ansonsten starte einen Angriff mit voller Schussstärke

else {fire(3);}

13.06.2008 7Robocode Projekt SS 08

Ideen und UmsetzungKommunikation bei

Teambeschuss

//Wenn wir von einem Kollegen beschossen werden

//versuchen wir ihm eine Nachricht zu schicken

If (isTeammate(e.getName())){try {broadcastMessage("AUTSCH"); }

//Sicherheitshalber fangen wir noch einen möglichen

//Übertragungsfehler abcatch (IOException ex){

System.out.println ("Fehler beim senden!“ +getName());}

13.06.2008 8Robocode Projekt SS 08

Ideen und UmsetzungAusweichroutine bei Rammevent

//Wenn wir gerammt werden//prüfen wir als erstes ob es unser Teamkollege

istpublic void onHitRobot (HitRobotEvent e){

if (isTeammate(e.getName())){

//und weichen dann nach Hinten oder Vorne ausmovecheck (e.getBearing());}

//Falls es ein feindlicher Roboter war der uns rammtelse { //weichen wir nach vorne oder hinten aus

movecheck (e.getBearing());

//zielen mit der Kanone auf den GegnerturnGunRight (e.getBearing()); fire(3); //und geben ihm saures

13.06.2008 9Robocode Projekt SS 08

Ideen und Umsetzung

13.06.2008Robocode Projekt SS 08 10

Fazit

Gesetzte Ziele

13.06.2008 11Robocode Projekt SS 08

Fazit

z.B. Feindklasse

Roboter verkeilen sich manchmal in Ecken

Problematik

13.06.2008 12Robocode Projekt SS 08

Fragen ?

13.06.2008 13Robocode Projekt SS 08

Recommended