import api.bomberbot.Bot; import api.bomberbot.Entity; import api.bomberbot.EntityBomb; import api.bomberbot.EntityBot; /** * Dies ist die Bot-Steuer-Klasse. *

* 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; } }

BomberBot

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.

Details

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)


Wettbewerb

Im Wettbewerb tritt dein Bot gegen andere Bots in Echtzeit an.


League

In der League wird dein Bot gegen andere Bots mehrfach antreten.
Am Ende gewinnt der Bot mit den meisten Gewinnen