java中explore_Java ServerPlayer.exploreMap方法代码示例

import net.sf.freecol.server.model.ServerPlayer; //导入方法依赖的package包/类

public void testHorsesLost() {

Game game = ServerTestHelper.startServerGame(getTestMap(true));

Map map = game.getMap();

AIMain aiMain = ServerTestHelper.getServer().getAIMain();

// Create players, settlement and unit

ServerPlayer inca = (ServerPlayer)game.getPlayerByNationId("model.nation.inca");

ServerPlayer dutch = (ServerPlayer)game.getPlayerByNationId("model.nation.dutch");

dutch.exploreMap(true);

Tile settlementTile = map.getTile(2, 1);

FreeColTestCase.IndianSettlementBuilder builder

= new FreeColTestCase.IndianSettlementBuilder(game);

builder.player(inca).settlementTile(settlementTile).build();

IndianSettlement is = settlementTile.getIndianSettlement();

Player.makeContact(inca, dutch);

Tile unitTile = map.getTile(2, 2);

Unit scout = new ServerUnit(game, unitTile, dutch,

scoutType, scoutRole);

assertEquals(scoutRole, scout.getRole());

AIUnit aiUnit = aiMain.getAIUnit(scout);

aiUnit.setMission(null);

assertNotNull("The scout should be an AI unit", aiUnit);

assertEquals("Scout should have the scout role", scoutRole,

scout.getRole());

assertTrue("Scout should be able to speak to chief",

scout.hasAbility(Ability.SPEAK_WITH_CHIEF));

assertEquals("The Inca settlement should be a scouting target", null,

ScoutingMission.invalidReason(aiUnit, is));

assertEquals("The Inca settlement should be found as scouting target",

is, ScoutingMission.findTarget(aiUnit, 10, false));

assertEquals("Scouting mission should be assignable to scout", null,

ScoutingMission.invalidReason(aiUnit));

ScoutingMission mission

= new ScoutingMission(aiMain, aiUnit, is);

assertEquals("Scout should have been assigned the Scouting mission",

mission, aiUnit.getMission());

assertEquals(null, mission.invalidReason());

assertTrue("Scouting mission should be valid",

mission.isValid());

assertEquals("Scouting mission target should be the Inca settlement",

is, mission.getTarget());

// Invalidate the mission by losing the horses.

scout.changeRole(spec().getDefaultRole(), 0);

assertFalse("Scout should not have the scout role",

scout.hasAbility(Ability.SPEAK_WITH_CHIEF));

assertNotNull("Scouting mission should be invalid",

aiUnit.getMission().invalidReason());

assertNotNull("Scouting mission should be impossible for this unit",

ScoutingMission.invalidReason(aiUnit));

// Restore the horses.

scout.changeRole(scoutRole, 1);

assertTrue("Scouting mission should be valid again",

aiUnit.getMission().isValid());

// Complete the mission, should be invalid.

is.setScouted(dutch);

assertFalse("Scouting mission should be invalid lacking target",

aiUnit.getMission().isValid());

// Add an LCR. Mission could become valid again.

Tile lcrTile = map.getTile(2, 3);

lcrTile.addLostCityRumour(new LostCityRumour(game, lcrTile));

assertEquals("Scouting mission should be possible for this unit", null,

ScoutingMission.invalidReason(aiUnit));

assertEquals("The LCR tile should be a scouting target",

lcrTile, ScoutingMission.findTarget(aiUnit, 10, false));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值