Shrew Soft - Die Alternative zum Cisco VPN! Ausführliche Anleitung gibts hier: | Mit Trick zum Schnellverbinden.



  • Jonas: Tolle Anleitung und danke für die Alternative! :daumen: Mit dem Cisco Client ging das echt gar nicht…
  • Rahul: Webseite aufmöbeln!!!! hahaha –> Geile Sache!!! :daumen:
  • Ich: du bist mein vorbild! ;)
  • Christian: läuft unter windows ;)
  • Jan: cool, schicke liste… werds mir mal zur gemüte führen. maniac manson ist cool : )
  • Twitter Button from twitbuttons.com
    1337 - Leetspeak Fan Seite
    darktree.de - Fotografie, Linux und vieles mehr
    Jan Hellriegel - Malerei und Design
    VOLLSTRECKER - Fotografie, Design und die Juristerei
    Witpraechtiger.de - Personal Portfolio



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

    Beispiele zu den Klassen

    public void onScannedRobot(ScannedRobotEvent e) {
        fire(1);
    }

    In diese Klasse schreibst du nun, welche Interaktionen bei einem gefundenen Gegner ablaufen sollen.
    In diesem Beispiel von eurem ersten Quellcode schießt er lediglich eine Kugel der Stärke 1 in die Richtung von eurer Kanonenrohrmündung.

    Die Stärke der Kugel könnt ihr in Zahlenwerten anpassen, weshalb es sich lohnt, je nach Entfernung eures Gegners die Kugel stärker, beziehungsweise schwächer abzuschießen.
    Dies hat den Effekt, dass zum Beispiel bei einer 1 die Kugel schwach ist, dafür aber schneller an ihr Ziel gelangt. Ergo ist bei einer Kugel Stufe 3 die Geschwindigkeit sehr langsam, dafür aber der Energieverlust umso höher. Der Zahlenwert kann auch als Dezimalzahl angegeben werden und lässt somit einen größeren Spielraum, da die Klasse fire als double deklariert wurde.

    Hier ein sehr sehr simples Beispiel mit fixen Entfernungslängen zur Anpassung der Kugelgröße:

     double range             = e.getDistance();
     int closecombatrange     = 200;
     int allrounderrange      = 600;
     int artilleryrange       = 1000;
    
     /* Abfrage ob der Roboter ein Teammitglied ist
     danach je nach Entfernung die Kugelgröße bestimmen */
     if(!robot.isTeammate(e.getName())) {
           if(robot.getGunHeat() == 0) {
                 if (range <= closecombatrange)
                    robot.fire(3);
                 else if(range >= closecombatrange && range <= allrounderrange)
                    robot.fire(2);
                 else if(range >= allrounderrange && range <= artilleryrange)
                    robot.fire(1);
          }
    }

    onHitByBullet(HitByBulletEvent e) & onBulletHit(BulletHitEvent e)

    Im dritten Teil des Tutorials habe ich die ColorEngine beschrieben. Um den Energiestatus für einen Farbwechsel ermitteln zu können, lasse ich die Klasse bei OnHitbyBullet (Energie verloren)
    und bei onBulletHit (Energie gewonnen) aufrufen:

     public void onHitByBullet(HitByBulletEvent e) {
     //Änderung der Farbe, wenn der Roboter Energie verliert
     ColorEngine.change(getEnergy(),(TeamRobot)this);
     }
     public void onBulletHit(BulletHitEvent e) {
     //Änderung der Farbe, wenn der Roboter Energie gewonnen hat
     ColorEngine.change(getEnergy(),(TeamRobot)this);
     }

    onHitRobot(HitRobotEvent e)

    Ein weiterer wichtiger Punkt ist das Rammen des Roboters. Rammt ihr den Gegner verlieren beide Energie.
    Dies kann euch sehr nützlich werden, wenn zum Beispiel der eigene Roboter ein bisschen mehr Energie hat und den Gegner solange verfolgt und rammt bis dieser keine Energie besitzt.

    onHitWall(HitWallEvent e)

    Ihr solltet auf jeden Fall eine Routine einbauen, die eine Handhabung bei einer Kollision mit der Wand erlaubt, da es sonst vorkommen kann, dass der Roboter an dieser Stelle hängen bleibt und ihr die Runde verliert.

    onWin(WinEvent e) & onRobotDeath(RobotDeathEvent e)

    Diese beiden Klassen sind eher obligatorisch. Ihr könnt zum Beispiel einen Siegestanz vollführen, Farben ändern, Nachricht schreiben, …

    Im fünften Teil meines Tutorials möchte ich auf die Teamgeschichte, nützliche Informationen, Codeschnipsel und weiterführende Links eingehen.



    Schlagwörter: , , , , , ,


    Kommentare:

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



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