Upload
yngvi-raff
View
111
Download
1
Embed Size (px)
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