Android Open Source - Turn-of-War Player






From Project

Back to project page Turn-of-War.

License

The source code is released under:

Apache License

If you think the Android project Turn-of-War listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * This file is part of Turn of War which is a fork of Dragon Wars
 * as of 20/11/2013./*from w ww.ja  va2 s .  c  om*/
 *
 * Copyright (C) 2013 Ed Woodhouse <edwoodhou@gmail.com>
 *
 * Turn of War is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Turn of War is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Turn of War. If not, see <http://www.gnu.org/licenses/>.
 */
/* This file is part of Dragon Wars.
 *
 * Dragon Wars is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Dragon Wars is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Dragon Wars. If not, see <http://www.gnu.org/licenses/>.
 */

package uk.co.fuuzetsu.turnofwar.engine;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import android.graphics.Bitmap;

public class Player {
    private final String name;
    private final Boolean lost;
    private Integer gold = 0;
    private final Integer colour;
    private Bitmap flag;
    private Map<String, Bitmap> unitSprites;

    private final List<Unit> ownedUnits = new ArrayList<Unit>();
    private final List<Building> ownedBuildings = new ArrayList<Building>();
    private boolean isAi = false;

    public Player(String name, final Integer colour) {
        this.name = name;
        this.colour = colour;
        this.lost = false;
    }

    public final String getName() {
        return this.name;
    }

    public final Boolean hasLost() {
        Boolean hasHQ = true;
        for (Unit u : getOwnedUnits()) {
            if (u.getName().equals("CommandVehicle")) {
                hasHQ = false;
            }
        }
        return (hasHQ);
    }

    // return this.lost || (ownedUnits.isEmpty() && ownedBuildings.isEmpty());
    // to win when they have no buildings and units left

    public final Boolean hasMoveableUnits() {
        for (Unit u : ownedUnits)
            if (!u.hasFinishedTurn()) {
                return true;
            }

        return false;
    }

    public final void removeUnit(final Unit unit) {
        ownedUnits.remove(unit);
    }

    public final void removeBuilding(final Building building) {
        ownedBuildings.remove(building);
    }

    public final List<Unit> getOwnedUnits() {
        return this.ownedUnits;
    }

    public final void addUnit(final Unit unit) {
        this.ownedUnits.add(unit);
    }

    public final void addBuilding(final Building building) {
        this.ownedBuildings.add(building);
    }

    @Override
  public final String toString() {
        return name;
    }

    public final Integer getGoldAmount() {
        return this.gold;
    }

    public final void setGoldAmount(final Integer amount) {
        this.gold = amount;
    }

    public final List<Building> getOwnedBuildings() {
        return this.ownedBuildings;
    }

    public final Integer getColour() {
        return this.colour;
    }

    public final Bitmap getFlag() {
        return flag;
    }

    public final Boolean hasFlag() {
        return flag != null;
    }

    public final void setFlag(final Bitmap flag) {
        this.flag = flag;
    }

    public final Bitmap getUnitSprite(final String unitName) {
        return unitSprites.get(unitName);
    }

    public final void setUnitSprites(final Map<String, Bitmap> sprites) {
        unitSprites = sprites;
    }

    public boolean isAi() {
        return this.isAi;
    }

    public final void setIsAi(final boolean isAi) {
        this.isAi = isAi;
    }

    public void setGameState(final GameState gameState) {
        return;
    }

    public void takeTurn() {
        return; /* Regular players do nothing here */
    }

    /* For AI to override */
    public void setState(final GameState gs) {
        return;
    }
}




Java Source Code List

uk.co.fuuzetsu.turnofwar.DrawingThread.java
uk.co.fuuzetsu.turnofwar.GameActivity.java
uk.co.fuuzetsu.turnofwar.GameView.java
uk.co.fuuzetsu.turnofwar.HelpActivity.java
uk.co.fuuzetsu.turnofwar.IsAiAdapter.java
uk.co.fuuzetsu.turnofwar.MainGyroSplash.java
uk.co.fuuzetsu.turnofwar.MainMenuActivity.java
uk.co.fuuzetsu.turnofwar.MapSelectActivity.java
uk.co.fuuzetsu.turnofwar.MenuActivity.java
uk.co.fuuzetsu.turnofwar.PlayerSelectActivity.java
uk.co.fuuzetsu.turnofwar.Results.java
uk.co.fuuzetsu.turnofwar.StatisticsActivity.java
uk.co.fuuzetsu.turnofwar.engine.BasicMapInfo.java
uk.co.fuuzetsu.turnofwar.engine.BitmapChanger.java
uk.co.fuuzetsu.turnofwar.engine.Building.java
uk.co.fuuzetsu.turnofwar.engine.ColourSwap.java
uk.co.fuuzetsu.turnofwar.engine.DrawableMapObject.java
uk.co.fuuzetsu.turnofwar.engine.FloatPair.java
uk.co.fuuzetsu.turnofwar.engine.FuncEx.java
uk.co.fuuzetsu.turnofwar.engine.Func.java
uk.co.fuuzetsu.turnofwar.engine.GameField.java
uk.co.fuuzetsu.turnofwar.engine.GameFinishedException.java
uk.co.fuuzetsu.turnofwar.engine.GameMap.java
uk.co.fuuzetsu.turnofwar.engine.GameState.java
uk.co.fuuzetsu.turnofwar.engine.InformationState.java
uk.co.fuuzetsu.turnofwar.engine.Logic.java
uk.co.fuuzetsu.turnofwar.engine.MapReader.java
uk.co.fuuzetsu.turnofwar.engine.Pair.java
uk.co.fuuzetsu.turnofwar.engine.PlayerAI.java
uk.co.fuuzetsu.turnofwar.engine.Player.java
uk.co.fuuzetsu.turnofwar.engine.Position.java
uk.co.fuuzetsu.turnofwar.engine.Statistics.java
uk.co.fuuzetsu.turnofwar.engine.Unit.java
uk.co.fuuzetsu.turnofwar.engine.Database.Database.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.AtomicAction.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.AttackAt.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.BuildUnit.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.MoveTo.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.Node.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.StateTree.java