Pixel

setzer

.de
Aktuellste Kommentare:
  • Stefan schrieb:
    Schöner Beitrag und nützliche Links, vielen Dank dafür!...
    [lesen]
  • Pixelsetzer schrieb:
    Hi Marius, danke für den Hinweis. Ich hab das gar nicht gesehen, dass die Zeichen unformatiert wurden. Ich habe es gleich mal geändert. ;-) Wegen...
    [lesen]
  • Marius Gerum schrieb:
    Sehr schön, gefällt mir gut :-) OOP ftw ;-) Marius...
    [lesen]
  • Marius Gerum schrieb:
    upps, im letzten Kommentar ... wusste nicht dass HTML funzt, ich meinte > und < ^^...
    [lesen]
  • Marius Gerum schrieb:
    Hi, schöner Artikel und gut strukturierter Code. 2 Dinge würden mir an dieser Stelle vielleicht noch fehlen, und zwar das fertige Applet zum sofo...
    [lesen]

RoboCode Tutorial: Teil 2 – Die richtige Vorlage

Im ersten Teil meines Tutorials zu Robocode hast du gelernt, wie du deinen ersten sehr einfachen Roboter erstellst und ihn gegen einen anderen kämpfen lässt.
Dabei bin ich weniger auf den Code eingegangen, sonder mehr auf die Benutzeroberfläche.
Hier möchte ich dir jetzt helfen, eine gewisse Ordnung in dein Roboter-Programm zu bringen und biete dir deshalb eine Vorlage zum Kopieren an. Der wenige Text ist eingedeutscht und ich habe noch ein paar sehr nützliche Funktionen hinzugefügt, die jedoch noch leer sind. Eine Vorlage eben.

Damit die Vorlage auch gleich für komplexere Roboter verwendet werden kann, wird hier gleich die “AdvancedRobot”-Class verwendet. Dies ist an folgenden Code-Teil zu erkennen: public class MeinErsterRoboter extends AdvancedRobot {

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package tutorial;
import robocode.*;
import java.awt.Color;
 
/**
* MeinErsterRoboter - a robot by (your name here)
*/
public class MeinErsterRoboter extends AdvancedRobot {
/**
* run: MeinErsterRoboter's default behavior
*/
public void run() {
 
// Aussehen des Roboters
setBodyColor( new Color(0, 255, 0) );	// der Körper
setBulletColor( new Color(255, 0, 0) );	// die Kugel
setGunColor( new Color(0, 0, 255) );	// die Kanone
setRadarColor( new Color(255, 0, 0) );	// das Radar
setScanColor( new Color(0, 255, 0) );	// der Scanbereich
 
/**
* Standart Aktion
*/
while(true) {
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
 
/**
* onScannedRobot: Was tun, wenn feindlicher Roboter erkannt
*/
public void onScannedRobot(ScannedRobotEvent e) {
fire(1);
}
 
/**
* onHitByBullet: Was tun, wenn von Kugel getroffen
*/
public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}
 
/**
* onHitRobot: Was tun, wenn gegen anderen Roboter gefahren wird
*/
public void onHitRobot(HitRobotEvent e) {
}
 
/**
* onHitWall: Was tun, wenn gegen eine Wand gefahren wird
*/
public void onHitWall(HitWallEvent e) {
}
 
/**
* onBulletHit: Was tun, wenn meine Kugel trifft
*/
public void onBulletHit(BulletHitEvent e) {
}
 
/**
* onBulletMissed: Was tun, wenn meine Kugel daneben geht
*/
public void onBulletMissed(BulletMissedEvent e) {
}
 
/**
* onDeath: Was tun, wenn ich besiegt wurde
*/
public void onDeath(DeathEvent e)  {
}
 
/*
**************************************
* Meine eigenen Funktionen:
**************************************
*/
 
}
  • Xiider schrieb:
    Mein Robi begeht immer selbstmord-.- Der Debugger sagt folgendes: ========================= Round 1 of 10 ========================= SYSTEM: game aborted. SYSTEM: Mfr* skipped turn 1 SYSTEM: Mfr* skipped turn 2 SYSTEM: Mfr* skipped turn 3 SYSTEM: Mfr* skipped turn 4 SYSTEM: Mfr* skipped turn 5 SYSTEM: Mfr* skipped turn 6 SYSTEM: Mfr* skipped turn 7 SYSTEM: Mfr* skipped turn 8 SYSTEM: Mfr* skipped turn 9 SYSTEM: Mfr* skipped turn 10 SYSTEM: Mfr* skipped turn 11 SYSTEM: Mfr* skipped turn 12 SYSTEM: Mfr* skipped turn 13 SYSTEM: Mfr* skipped turn 14 SYSTEM: Mfr* skipped turn 15 SYSTEM: Mfr* skipped turn 16 SYSTEM: Mfr* skipped turn 17 SYSTEM: Mfr* skipped turn 18 SYSTEM: Mfr* skipped turn 19 SYSTEM: Mfr* skipped turn 20
    18. November 2010, 23:58  

  • Xiider schrieb:
    Hat sich erledigt, k.a. wieso^^
    19. November 2010, 00:04  

Kommentar schreiben:

Mit der Eingabe des Sicherheits-Codes stimmen Sie der Speicherung ihrer IP-Adresse und ihrer anderen angegebenen Daten zu.
Die IP-Adresse und ihre E-Mail wird nur für die Spam-Abwehr benötigt.