⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aieasy.java

📁 java 开源游戏源码 RISK 联机对战 战棋类
💻 JAVA
字号:
// Yura Mamyrin

package risk.engine.ai;

import risk.engine.*;
import risk.engine.core.*;

import java.util.*;

/**
 * <p> Class for AIEasyPlayer </p>
 * @author Yura Mamyrin
 */

public class AIEasy extends AICrap {

    public String getPlaceArmies() {

		if ( game.NoEmptyCountries()==false ) {
		    return "autoplace";
		}
		else {
		    Vector t = player.getTerritoriesOwned();
		    Vector n;
		    String name=null;
			name = findAttackableTerritory(player);
		    
			if ( name == null ) {
			return "placearmies " + ((Country)t.elementAt(0)).getColor() +" "+player.getExtraArmies()  ;
		    }

		    if (game.getSetup() ) {
			return "placearmies " + name +" "+player.getExtraArmies() ;
		    }

		    return "placearmies " + name +" 1";

		}

    }

	public String getAttack() {

		Vector t = player.getTerritoriesOwned();
		Vector n;

		Vector outputs = new Vector();

		for (int a=0; a< t.size() ; a++) {

		    if ( ((Country)t.elementAt(a)).getArmies() > 1 ) {

			n = ((Country)t.elementAt(a)).getNeighbours();

			for (int b=0; b< n.size() ; b++) {
			    if ( ((Country)n.elementAt(b)).getOwner() != player ) {
				outputs.add( "attack " + ((Country)t.elementAt(a)).getColor() + " " + ((Country)n.elementAt(b)).getColor() );
			    }
			}

		    }

		}

		if (outputs.size() > 0) {

			return (String)outputs.elementAt( (int)Math.round(Math.random() * (outputs.size()-1) ) );

		}

		return "endattack";

    }

    public String getRoll() {

	    int n=((Country)game.getAttacker()).getArmies() - 1;

	    if (n > 3) {
		    return "roll "+3;
	    }

	    return "roll "+n;

    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -