Erste Schritte


NEU: Items & Pfützen

Um das Spiel etwas interessanter zu machen, haben wir Hindernisse und Items eingefügt.

puddle.png Es gibt nur ein Hindernis - die Pfütze. Wenn man über sie hinweg läuft, verliert man etwas von seiner Farbe (pro Tick). Meidet sie also!

Die Items geben einen Vorteil im Spiel. Man kann sie kaufen, wenn man an seiner Base steht und genug Punkte hat. Gleichzeitig kann man nur ein Item benutzen. Es gibt 3 Arten von Items:

ItemBeschreibung
EimerDer Eimer erlaubt dem Spieler für kurze Zeit mehr Farbe (+ 500 ml) zu tragen
RegenstiefelDurch die Stiefel laufen die Spieler kurze Zeit 50% schneller und Pfützen haben keinen Effekt
WasserbombeDie Wasserbombe kann man auf einen Gegner werfen. Diesem werden 500 ml entfernt

Wichtig!

Beim Kauf handelt es sich um dieselben Punkte, die das Spiel entscheiden. Denkt vor dem Kauf lieber nochmal nach, ob ihr diese Punkte wirklich für ein Item ausgeben oder behalten wollt.


Demo-Bot:


Dieser Bot läuft zu einem einzigen zufälligen Haus und malt dieses an.

import Game.Controller.IPlayerController;
import Game.Controller.MapInfo;
import Game.Controller.PlayerInfo;
import Game.Logic.House;
import Game.Logic.Order;


/**
 * This ExampleBot randomly chooses a house to go to, then paints that house.
 */
public class TestBot implements IPlayerController
{
    @Override
    public String getName()
    {
        return "TestBot";
    }

    @Override
    public String getAuthor()
    {
        return "Max Muster";
    }

    @Override
    public String getID()
    {
        return "010001";
    }

    // save the house which you want to paint
    House destination;

    @Override
    public Order think(MapInfo mapInfo, PlayerInfo ownPlayer, PlayerInfo[] enemyPlayers)
    {
        // if there is no target yet, choose a random one
        int numHouses = mapInfo.getNumHouses();
        if (destination == null) {
            destination = mapInfo.getHouse((int)(Math.random() * (numHouses)));
        }

        // if near enough, paint the house
        if (ownPlayer.getPosition().distance(destination.getPosition()) < destination.getRadius()) {
            if (destination.getOwner() != ownPlayer.getIndex()) {
                return Order.PAINT();
            } 
            // if the house is painted, do nothing
            else {
                return Order.IDLE();
            }
        // if not near enough, go to the house
        } else {
            return Order.MOVE(destination.getPosition().sub(ownPlayer.getPosition()));
        }
    }
}