Neues Foto veröffentlicht. Aufgenommen bei einer Tour in



  • runamoK: Ist aber nen langes Wochenende :D
  • Christian: Ich setze mich mal am Wochenende an die Bearbeitung. ;)
  • kristof: Ich erwarte die versprochenen Bilder (Punkt)
  • Jens: Schaut super aus, hast du gut gemacht (:
  • kristof: sehr schöne aufnahme! demnächst werde ich mich auch mal an einem panorama versuchen.
  • Twitter Button from twitbuttons.com
    darktree.de - Fotografie, Linux und vieles mehr
    Jan Hellriegel - Malerei und Design
    NETZFUCHS - IT-Lifestyle Blog
    VOLLSTRECKER - Fotografie, Design und die Juristerei
    Witpraechtiger.de - Personal Portfolio



    25Oct 2009
    Kategorie: Anleitungen, JAVA, Programmierung       Keine Kommentare       Trackback                 Diese Seite drucken

    Im letzten Artikel habe ich euch gezeigt, wie man ganz einfach einen Roboter erstellen kann. Allerdings hat diese Standardroutine keine großen Gewinnaussichten, da der Bot nur vor und zurück fährt.
    Deswegen fangen wir jetzt an den Bot zu verbessern. Eine Liste mit allen schon verfügbaren Befehlen (API)  gibt es hier: Klick

    Zuerst müsst ihr festlegen welche Art von Roboter möchte ich, bzw. muss ich verwenden.
    Zur Auswahl stehen wie folgt:

    • JuniorRobot (Einfachste Klasse, allerdings für einen richtigen Kampf nicht zu empfehlen)
    • Robot (Standardauswahl)
    • AdvancedRobot (Erweiterte Version von Robot)
    • TeamRobot (Basiert auf der AdvancedRobot Klasse, wird benötigt, damit ein Team zusammen arbeiten kann)

    Für den Anfang würde ich euch die AdvancedRobot Klasse empfehlen.

    Also fangen wir an:

    //import java.awt.Color;

    Den Kommentar solltet ihr entfernen, damit ihr dem Roboter sein eigenes Aussehen zuweisen könnt.

    public void run() {
    		// After trying out your robot, try uncommenting the import at the top,
    		// and the next line:
    		//setColors(Color.red,Color.blue,Color.green);
    		while(true) {
    			// Replace the next 4 lines with any behavior you would like
    			ahead(100);
    			turnGunRight(360);
    			back(100);
    			turnGunRight(360);
    		}
    	}

    Hier seht ihr den Befehl um die Farbe zu ändern: //setColors
    Diesen Eintrag könnt ihr entfernen und durch Diesen ersetzen:

     setBodyColor(Color.black);
     setGunColor(Color.red);
     setRadarColor(Color.green);
     setScanColor(Color.red);

    Wählt einfach die Farbe die ihr haben möchtet. Soll euer Roboter komplett in eine Farbe eingefärbt werden könnt ihr auch diesen Befehl verwenden:

    setAllColors(Color.green);

    Ich habe mir damals eine einfache Klasse geschrieben, die je nach Energiestatus die Farbe(GrünGelbRot) des Roboters ändert. Den Code dazu seht ihr hier:

    public class ColorEngine {
    
     public static void change(double energie, TeamRobot robot) {
     if(energie <=100 && energie >= 60)
     robot.setAllColors(Color.green);
    
     else if(energie <=59 && energie >= 40)
     robot.setAllColors(Color.yellow);
    
     else if(energie <=39 && energie >= 0)
     robot.setAllColors(Color.red);
    
     }
    }

    Die Klassen:

    In der While Schleife stehen die Befehle, die der Roboter ausführt, so lange er noch keinen Roboter gefunden hat.

    Danach folgen Standardklassen, die bei bestimmten Zeitpunkten auftreten:

    • onScannedRobot(ScannedRobotEvent e) – Was passiert, wenn der Roboter einen Gegner gefunden hat?
    • onHitByBullet(HitByBulletEvent e) – Was passiert, wenn der eigene Roboter von einer gegnerischen Kugel getroffen wurde?
    • onBulletHit(BulletHitEvent e) – Was passiert, wenn der eigene Roboter einen Gegner mit einer Kugel trifft?
    • onHitRobot(HitRobotEvent e) – Was passiert, wenn es eine Kollision zwischen einem Gegner und dem eigenen Roboter gibt? (Prüfung auf Teamkollision später)
    • onHitWall(HitWallEvent e) – Was passiert, wenn der Roboter gegen eine Wand fährt?
    • onWin(WinEvent e) – Was passiert, wenn der Roboter gewinnt? (Spezielle Bewegung, Nachricht senden)
    • onRobotDeath(RobotDeathEvent e) – Was passiert wenn der aktuelle Gegner besiegt wird?

    Die schon oben erwähnte API erklärt jede Funktion ganz genau. Im folgenden Beitrag werde ich auf diese einzelnen eingehen und dazu einige Beispielen nennen.



    Schlagwörter: , , , , , , , ,


    Kommentare:

    :) :( ;) :D :P :daumen: :nein: :lol: ^^ teufel :traurig: more »



    Christian Neu © 2009 - 2010
    Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Blog Top Liste - by TopBlogs.de BlogPingR.de - Blog Ping-Dienst, Blogmonitor blogoscoopZurück zum Anfang