Kommentare, Kommentare

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@509 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Ida Massow 2011-06-20 04:39:54 +02:00
parent 477e8e9b82
commit 74d8205f30
18 changed files with 315 additions and 154 deletions

View file

@ -21,6 +21,9 @@ import jrummikub.util.Pair;
*/
public class AIControl extends AbstractTurnControl {
private TurnLogic logic;
/**
* Does the AI control currently use an internal timer
*/
public static boolean useBackgroundThread = true;
long startTime;
@ -63,7 +66,7 @@ public class AIControl extends AbstractTurnControl {
turnDone = true;
super.cleanUp();
}
@Override
public void abortTurn() {
aborted = true;
@ -160,8 +163,8 @@ public class AIControl extends AbstractTurnControl {
for (StoneSet set : result) {
turnInfo.getTable().drop(
set,
new Position(10 * (Math.random() * 2 - 1),
5 * (Math.random() * 2 - 1)));
new Position(10 * (Math.random() * 2 - 1), 5 * (Math
.random() * 2 - 1)));
for (Stone stone : set) {
turnInfo.getHand().pickUp(stone);
}
@ -173,10 +176,11 @@ public class AIControl extends AbstractTurnControl {
private void doNotMoveExistingSets(List<StoneSet> result) {
outerLoop: for (Iterator<Pair<StoneSet, Position>> it = turnInfo.getTable()
.iterator(); it.hasNext();) {
outerLoop: for (Iterator<Pair<StoneSet, Position>> it = turnInfo
.getTable().iterator(); it.hasNext();) {
Pair<StoneSet, Position> pair = it.next();
setSearch: for (Iterator<StoneSet> it2 = result.iterator(); it2.hasNext();) {
setSearch: for (Iterator<StoneSet> it2 = result.iterator(); it2
.hasNext();) {
StoneSet set = it2.next();
if (set.getSize() != pair.getFirst().getSize()) {
continue;

View file

@ -16,12 +16,12 @@ public interface ITurnControl {
* Start the turn
*
* @param info
* the current turn state
* the current turn state
*
* @param settings
* the game settings
* the game settings
* @param view
* view for user interaction.
* view for user interaction.
*/
public void setup(TurnInfo info, GameSettings settings, IView view);
@ -49,10 +49,16 @@ public interface ITurnControl {
*/
public void abortTurn();
/**
* Emitted in network when the table changes during player turn
*
* @return the event
*/
public IEvent1<ITable> getTableUpdateEvent();
/**
* The TurnInfo class encapsulates all information concerning the current turn
* The TurnInfo class encapsulates all information concerning the current
* turn
*/
public class TurnInfo {
private ITable table;
@ -64,13 +70,13 @@ public interface ITurnControl {
* Creates a new TurnInfo instance
*
* @param table
* the current table
* the current table
* @param hand
* the current player's hand
* the current player's hand
* @param hasLaidOut
* has the player laid out yet?
* has the player laid out yet?
* @param turnMode
* the turn mode
* the turn mode
*/
public TurnInfo(ITable table, IHand hand, boolean hasLaidOut,
TurnMode turnMode) {