Christian Zähringer, Mario Schwarz, Projektname: „Family Focker“ Team: Christian Zähringer, Mario Schwarz, Thomas Schwarz
Vortragsübersicht Robocode Projekt SS 08 13.06.2008 Aller Anfang ist schwer Ideen und Umsetzung Testphase Fazit Fragen Robocode Projekt SS 08 13.06.2008
Aller Anfang ist schwer Einarbeitung in Robocode Betrachten fremder Roboter Funktionen verstehen Zeitplan aufstellen Robos planen Robocode Projekt SS 08 13.06.2008
Zeitplanung Robocode Projekt SS 08 13.06.2008
Ideen und Umsetzung Strategie Zufällig große Kreise abfahren Allgemein > 3 Gegner Zufällig große Kreise abfahren Die Roboter werden pink eingefärbt < 3 Gegner Auf Gegner zufahren und umkreisen Die Roboter werden rot eingefärbt Schussstärke in Abhängigkeit von Distanz Kommunikation bei Teambeschuss Ausweichroutine bei Rammevent und Beschuss Schiessen bei Radarkontakt Strategie Robocode Projekt SS 08 13.06.2008
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))); Robocode Projekt SS 08 13.06.2008
Schussstärke und Distanz Ideen und Umsetzung Schussstärke und Distanz //Wenn die Entfernung zum Ziel //> 200 beträgt oder unsere Energie < 15 ist if (entfernung > 200 || getEnergy() < 15) { fire(1); //leichter Angriff} //Wenn die Entfernung zum Ziel > 50 beträgt else if (entfernung > 50) { fire(2); //mittlerer Angriff} //Ansonsten starte einen Angriff mit voller Schussstärke else { fire(3);} Robocode Projekt SS 08 13.06.2008
Kommunikation bei Teambeschuss Ideen und Umsetzung Kommunikation 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 ab catch (IOException ex){ System.out.println ("Fehler beim senden!“ +getName());} Robocode Projekt SS 08 13.06.2008
Ausweichroutine bei Rammevent Ideen und Umsetzung Ausweichroutine bei Rammevent //Wenn wir gerammt werden //prüfen wir als erstes ob es unser Teamkollege ist public void onHitRobot (HitRobotEvent e){ if (isTeammate(e.getName())){ //und weichen dann nach Hinten oder Vorne aus movecheck (e.getBearing());} //Falls es ein feindlicher Roboter war der uns rammt else { //weichen wir nach vorne oder hinten aus movecheck (e.getBearing()); //zielen mit der Kanone auf den Gegner turnGunRight (e.getBearing()); fire(3); //und geben ihm saures Robocode Projekt SS 08 13.06.2008
Ideen und Umsetzung Robocode Projekt SS 08 13.06.2008
Eine Strategie festlegen um gegen andere Roboter zu bestehen Fazit zwei funktionstüchtige Roboter planen, implementieren und dokumentieren Eine Strategie festlegen um gegen andere Roboter zu bestehen Ziele wurden erreicht Gesetzte Ziele Robocode Projekt SS 08 13.06.2008
Einige Ideen mussten verworfen werden Fazit Einige Ideen mussten verworfen werden Optimier-ungsbedarf z.B. Feindklasse Problematik Roboter verkeilen sich manchmal in Ecken Robocode Projekt SS 08 13.06.2008
Fragen ? Robocode Projekt SS 08 13.06.2008