From 0493903c234bffcb181c441316ba5afcf961dcf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Mon, 2 May 2016 11:02:25 +0200 Subject: Board: improve findBestEntry to chose NORTH or SOUTH if possible --- core/src/ch/asynk/rustanddust/engine/Board.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/core/src/ch/asynk/rustanddust/engine/Board.java b/core/src/ch/asynk/rustanddust/engine/Board.java index f1e1583..1bc11c9 100644 --- a/core/src/ch/asynk/rustanddust/engine/Board.java +++ b/core/src/ch/asynk/rustanddust/engine/Board.java @@ -385,7 +385,17 @@ public abstract class Board implements Disposable, Animation o = o.opposite(); boolean r = to.roadFrom(o); int c = to.costFrom(pawn, o); - if ((c < cost) || (r && (c == cost))) { + if ( + // cheaper or same cost and ... + (c < cost) || ((c == cost) && ( + // now road or same and ... + (!road && r) || ((road == r) && ( + // nicer looking move + (o == Orientation.SOUTH || o == Orientation.NORTH) + )) + )) + ) + { entry = o; cost = c; road = r; -- cgit v1.1-2-g2b99