* Einfach programmieren und dann auf Testen klicken. * Falls du mit dem Ergebnis zufrieden bist, kannst du unter * Kompetitv gegen andere Bots antreten. */ public class BomberBot extends Bot { /** * Diese Methode gibt die Richtung an, * in die sich der Bot bewegt. * * @return UP, RIGHT, LEFT, DOWN */ public int turn() { //Der Bot befindet sich im Moment an dieser Stelle char cur = this.world[this.y][this.x]; //Der Wert von cur ist entweder ' ' (leer), 'W' (Mauer) oder 'O' (Kiste) if (this.bombs > 0) { //Falls wir eine Bombe haben this.layBomb(); //Werfen wir die Bombe } //Für erweiterte Logik gibt es noch this.maxBombs // - die Anzahl der maximal verfügbaren Bomben for (Entity entity : this.entities) { //Jedes Entity hat die Methoden #getX() und #getY() if (entity instanceof EntityBomb) { //Bomben haben außerdem #getTime() (5 bis 1) - die Zeit bis zur Explosion //Eventuell sollte man vor Bomben wegrennen } else if (entity instanceof EntityBot) { //Bots haben die Methode #getColor() (char) - äquivalent zu this.own. } } return UP; } }
Jeder Bot bewegt sich durch seine turn
Methode.
Durch layBomb()
wird eine Bombe gelegt, welche Kisten und andere Bots
zerstört.
Der letzte lebende Bot gewinnt.
this.x
und this.y
ist die Position,
this.world[y][x]
(' '
(Leer),'W'
(Wand),'O'
(Box)) die Welt.
this.entities
ist eine Collection an Entities(EntityBomb/EntityBot)
Im Wettbewerb tritt dein Bot gegen andere Bots in Echtzeit an.
In der League wird dein Bot gegen andere Bots mehrfach antreten.
Am Ende gewinnt der
Bot mit den meisten Gewinnen