|
JSettlers v1.0.6 API Built ${date} |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsoc.robot.SOCPlayerTracker
This class is used by the SOCRobotBrain to track possible building spots for itself and other players.
Field Summary | |
protected SOCRobotBrain |
brain
|
protected static java.text.DecimalFormat |
df1
|
protected static int |
EXPAND_LEVEL
|
protected int |
knightsToBuy
|
protected int |
largestArmyETA
|
protected int |
longestRoadETA
|
protected static int |
LR_CALC_LEVEL
|
protected boolean |
needLA
|
protected boolean |
needLR
|
protected SOCPlayer |
player
|
protected java.util.TreeMap |
possibleCities
|
protected java.util.TreeMap |
possibleRoads
|
protected java.util.TreeMap |
possibleSettlements
|
protected int |
roadsToGo
|
protected int |
winGameETA
|
Constructor Summary | |
SOCPlayerTracker(SOCPlayer pl,
SOCRobotBrain br)
constructor |
|
SOCPlayerTracker(SOCPlayerTracker pt)
copy constructor Note: Does NOT copy connections between possible pieces |
Method Summary | |
void |
addNewRoad(SOCRoad road,
java.util.HashMap trackers)
add a road that has just been built |
void |
addNewSettlement(SOCSettlement settlement,
java.util.HashMap trackers)
add a settlement that has just been built |
void |
addOurNewCity(SOCCity city)
add one of our cities |
void |
addOurNewRoad(SOCRoad road,
java.util.HashMap trackers,
int expandLevel)
Add one of our roads that has just been built |
void |
addOurNewSettlement(SOCSettlement settlement,
java.util.HashMap trackers)
add one of our settlements |
void |
addTheirNewRoad(SOCRoad road)
add another player's new road |
void |
addTheirNewSettlement(SOCSettlement settlement)
add another player's new settlement |
static java.util.HashMap |
copyPlayerTrackers(java.util.HashMap trackers)
make copies of player trackers and then make connections between copied pieces Note: not copying threats param trackers player trackers for each player |
void |
expandRoad(SOCPossibleRoad targetRoad,
SOCPlayer player,
SOCPlayer dummy,
java.util.HashMap trackers,
int level)
Expand a possible road to see what this road makes possible |
SOCRobotBrain |
getBrain()
|
int |
getKnightsToBuy()
|
int |
getLargestArmyETA()
|
int |
getLongestRoadETA()
|
SOCPlayer |
getPlayer()
|
java.util.TreeMap |
getPossibleCities()
|
java.util.TreeMap |
getPossibleRoads()
|
java.util.TreeMap |
getPossibleSettlements()
|
int |
getRoadsToGo()
|
int |
getWinGameETA()
|
boolean |
needsLA()
|
boolean |
needsLR()
|
static void |
playerTrackersDebug(java.util.HashMap playerTrackers)
debug output for player trackers |
void |
recalcLargestArmyETA()
calculate the largest army ETA |
void |
recalcLongestRoadETA()
calculate the longest road ETA |
void |
recalcWinGameETA()
recalculate the ETA for winning the game |
void |
releaseMonitor()
release the monitor for this tracker |
protected void |
removeDependents(SOCPossibleRoad road)
remove everything that depends on this road being built |
protected void |
removeFromNecessaryRoads(SOCPossibleRoad pr)
remove this piece from the pieces that support it |
protected void |
removeFromNecessaryRoads(SOCPossibleSettlement ps)
remove this piece from the pieces that support it |
void |
takeMonitor()
take the monitor for this tracker |
static java.util.HashMap |
tryPutPiece(SOCPlayingPiece piece,
SOCGame game,
java.util.HashMap trackers)
See how building a piece impacts the game |
static void |
tryPutPieceNoCopy(SOCPlayingPiece piece,
SOCGame game,
java.util.HashMap trackers)
same as tryPutPiece, but we don't make a copy of the player trackers instead you supply the copy |
void |
undoAddOurNewCity(SOCPossibleCity city)
undo adding one of our cities |
static void |
undoTryPutPiece(SOCPlayingPiece piece,
SOCGame game)
Reset the game back to before we put the temp piece |
void |
updateLRPotential(SOCPossibleRoad posRoad,
SOCPlayer dummy,
SOCRoad dummyRoad,
int lrLength,
int level)
update the potential LR value of a possible road by placing dummy roads and calculating LR |
void |
updateLRValues()
update the longest road values for all possible roads longest road value is how much this road would increase our longest road if it were built the longest road potential is how much this road would increase our LR value if other roads supported by this one were built |
protected void |
updateSettlementConflicts(SOCPossibleSettlement ps,
java.util.HashMap trackers)
update settlement conflicts |
void |
updateThreats(java.util.HashMap trackers)
update threats for pieces that need to be updated |
static void |
updateWinGameETAs(java.util.HashMap playerTrackers)
update winGameETAs for player trackers |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final java.text.DecimalFormat df1
protected static int EXPAND_LEVEL
protected static int LR_CALC_LEVEL
protected SOCRobotBrain brain
protected SOCPlayer player
protected java.util.TreeMap possibleSettlements
protected java.util.TreeMap possibleRoads
protected java.util.TreeMap possibleCities
protected int longestRoadETA
protected int roadsToGo
protected int largestArmyETA
protected int winGameETA
protected int knightsToBuy
protected boolean needLR
protected boolean needLA
Constructor Detail |
public SOCPlayerTracker(SOCPlayer pl, SOCRobotBrain br)
pl
- the playerbr
- the robot brainpublic SOCPlayerTracker(SOCPlayerTracker pt)
pt
- the player trackerMethod Detail |
public static java.util.HashMap copyPlayerTrackers(java.util.HashMap trackers)
public void takeMonitor()
public void releaseMonitor()
public SOCRobotBrain getBrain()
public SOCPlayer getPlayer()
public java.util.TreeMap getPossibleRoads()
public java.util.TreeMap getPossibleSettlements()
public java.util.TreeMap getPossibleCities()
public int getLongestRoadETA()
public int getRoadsToGo()
public int getLargestArmyETA()
public int getKnightsToBuy()
public void addNewRoad(SOCRoad road, java.util.HashMap trackers)
road
- the roadtrackers
- player trackers for the playerspublic void addOurNewRoad(SOCRoad road, java.util.HashMap trackers, int expandLevel)
road
- the roadtrackers
- player trackers for the playersexpandLevel
- how far out we should expand roadspublic void expandRoad(SOCPossibleRoad targetRoad, SOCPlayer player, SOCPlayer dummy, java.util.HashMap trackers, int level)
targetRoad
- the possible roadplayer
- the player who owns the original roaddummy
- the dummy player used to see what's legaltrackers
- player trackerslevel
- how many levels to expandpublic void addTheirNewRoad(SOCRoad road)
road
- the new roadprotected void updateSettlementConflicts(SOCPossibleSettlement ps, java.util.HashMap trackers)
ps
- a possible settlementtrackers
- player trackers for all playerspublic void addNewSettlement(SOCSettlement settlement, java.util.HashMap trackers)
settlement
- the settlementtrackers
- player trackers for the playerspublic void addOurNewSettlement(SOCSettlement settlement, java.util.HashMap trackers)
settlement
- the new settlementtrackers
- player trackers for all of the playerspublic void addTheirNewSettlement(SOCSettlement settlement)
settlement
- the new settlementprotected void removeDependents(SOCPossibleRoad road)
road
- the roadprotected void removeFromNecessaryRoads(SOCPossibleRoad pr)
pr
- the possible roadprotected void removeFromNecessaryRoads(SOCPossibleSettlement ps)
ps
- the possible settlementpublic void addOurNewCity(SOCCity city)
city
- the new citypublic void undoAddOurNewCity(SOCPossibleCity city)
city
- the now possible citypublic void updateThreats(java.util.HashMap trackers)
trackers
- all of the player trackerspublic void recalcLongestRoadETA()
public void recalcLargestArmyETA()
public void updateLRValues()
public void updateLRPotential(SOCPossibleRoad posRoad, SOCPlayer dummy, SOCRoad dummyRoad, int lrLength, int level)
posRoad
- the possible roaddummy
- the dummy playerlrLength
- the current lr lengthlevel
- how many levels of recursionpublic int getWinGameETA()
public boolean needsLR()
public boolean needsLA()
public void recalcWinGameETA()
public static java.util.HashMap tryPutPiece(SOCPlayingPiece piece, SOCGame game, java.util.HashMap trackers)
piece
- the piece to buildgame
- the gametrackers
- the player trackers
public static void tryPutPieceNoCopy(SOCPlayingPiece piece, SOCGame game, java.util.HashMap trackers)
piece
- the piece to buildgame
- the gametrackers
- the player trackerspublic static void undoTryPutPiece(SOCPlayingPiece piece, SOCGame game)
piece
- the piece to removegame
- the gamepublic static void playerTrackersDebug(java.util.HashMap playerTrackers)
playerTrackers
- the player trackerspublic static void updateWinGameETAs(java.util.HashMap playerTrackers)
playerTrackers
- the player trackers
|
JSettlers v1.0.6 API Built ${date} |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |