[Toss-devel-svn] SF.net SVN: toss:[1274] trunk/Toss
Status: Beta
Brought to you by:
lukaszkaiser
|
From: <luk...@us...> - 2011-01-05 00:52:46
|
Revision: 1274
http://toss.svn.sourceforge.net/toss/?rev=1274&view=rev
Author: lukaszkaiser
Date: 2011-01-05 00:52:39 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
Correcting checkers, adding pure chess pawn progress game.
Modified Paths:
--------------
trunk/Toss/WebClient/Main.js
trunk/Toss/WebClient/index.html
trunk/Toss/examples/Checkers.toss
Added Paths:
-----------
trunk/Toss/examples/Pawns.toss
trunk/Toss/examples/Pawns.tossstyle
Modified: trunk/Toss/WebClient/Main.js
===================================================================
--- trunk/Toss/WebClient/Main.js 2010-12-30 22:58:00 UTC (rev 1273)
+++ trunk/Toss/WebClient/Main.js 2011-01-05 00:52:39 UTC (rev 1274)
@@ -238,7 +238,7 @@
var li = new_play_item (GAME_NAME, CUR_PLAY_I);
old_li.parentNode.replaceChild (li, old_li);
if (PLAYS[CUR_PLAY_I][(m + 1) % 2] == "computer") {
- var m = suggest_move ();
+ var m = suggest_move_better ();
if (m != "") { make_move (); }
}
}
@@ -390,4 +390,4 @@
"Hide Move Suggestions";
document.getElementById("player-info-par").style.display = "block";
}
-}
\ No newline at end of file
+}
Modified: trunk/Toss/WebClient/index.html
===================================================================
--- trunk/Toss/WebClient/index.html 2010-12-30 22:58:00 UTC (rev 1273)
+++ trunk/Toss/WebClient/index.html 2011-01-05 00:52:39 UTC (rev 1274)
@@ -104,7 +104,7 @@
<p class="game-par">
<button class="bt" onclick="new_play ('Checkers')">New Game</button>
<a class="game_list"
- href="http://en.wikipedia.org/wiki/Checkers">Checkers</a>
+ href="http://en.wikipedia.org/wiki/English_draughts">Checkers</a>
</p>
<ul class="plays-list" id="plays-list-Checkers"></ul>
<p class="game-par">
Modified: trunk/Toss/examples/Checkers.toss
===================================================================
--- trunk/Toss/examples/Checkers.toss 2010-12-30 22:58:00 UTC (rev 1273)
+++ trunk/Toss/examples/Checkers.toss 2011-01-05 00:52:39 UTC (rev 1274)
@@ -8,30 +8,17 @@
REL DiagBa (x, y) = ex z (C(z, x) and R(z, y))
REL DiagWb (x, y) = ex z (C(x, z) and R(z, y))
REL DiagBb (x, y) = ex z (C(z, x) and R(y, z))
+REL AnyDiag (x, y) =
+ DiagWa (x, y) or DiagWb (x, y) or DiagBa (x, y) or DiagBb (x, y)
REL DiagW2 (x, y, z) =
(DiagWa (x, y) and DiagWa (y, z)) or (DiagWb (x, y) and DiagWb (y, z))
REL DiagB2 (x, y, z) =
(DiagBa (x, y) and DiagBa (y, z)) or (DiagBb (x, y) and DiagBb (y, z))
REL Diag2 (x, y, z) = DiagW2 (x, y, z) or DiagB2 (x, y, z)
-REL BeatsW (x, y) = ex z (b(z) and not b(y) and not w(y) and Diag2 (x, z, y))
-REL BeatsB (x, y) = ex z (w(z) and not b(y) and not w(y) and Diag2 (x, z, y))
-REL Da (x, y) = DiagWa (x, y) or DiagBa (x, y)
-REL Db (x, y) = DiagWb (x, y) or DiagBb (x, y)
-REL FreeDa (x, y) = tc 7 x, y (Da (x, y) and not w(y) and not b(y))
-REL FreeDb (x, y) = tc 7 x, y (Db (x, y) and not w(y) and not b(y))
-REL FreeDWa (x, y) = tc 6 x, y (DiagWa (x, y) and not w(y) and not b(y))
-REL FreeDWb (x, y) = tc 6 x, y (DiagWb (x, y) and not w(y) and not b(y))
-REL FreeDBa (x, y) = tc 6 x, y (DiagBa (x, y) and not w(y) and not b(y))
-REL FreeDBb (x, y) = tc 6 x, y (DiagBb (x, y) and not w(y) and not b(y))
-REL TrDWa (x, y) = ex z (FreeDWa (x, z) and (z = y or DiagWa (z, y)))
-REL TrDWb (x, y) = ex z (FreeDWb (x, z) and (z = y or DiagWb (z, y)))
-REL TrDBa (x, y) = ex z (FreeDBa (x, z) and (z = y or DiagBa (z, y)))
-REL TrDBb (x, y) = ex z (FreeDBb (x, z) and (z = y or DiagBb (z, y)))
-REL TDiagW2 (x, y, z) =
- (TrDWa (x, y) and DiagWa (y, z)) or (TrDWb (x, y) and DiagWb (y, z))
-REL TDiagB2 (x, y, z) =
- (TrDBa (x, y) and DiagBa (y, z)) or (TrDBb (x, y) and DiagBb (y, z))
-REL TDiag2 (x, y, z) = TDiagW2 (x, y, z) or TDiagB2 (x, y, z)
+REL BeatsW (x, y) = ex z (b(z) and not b(y) and not w(y) and DiagW2 (x, z, y))
+REL BeatsWX (x, y) = ex z (b(z) and not b(y) and not w(y) and Diag2 (x, z, y))
+REL BeatsB (x, y) = ex z (w(z) and not b(y) and not w(y) and DiagB2 (x, z, y))
+REL BeatsBX (x, y) = ex z (w(z) and not b(y) and not w(y) and DiagB2 (x, z, y))
RULE WhiteMove:
[ a, b | W { a } |
vx {a->0.,b->0.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
@@ -70,14 +57,14 @@
->
[ a, b | Wq { b } |
vx {a->0.,b->0.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
- emb w, b pre FreeDa(a, b) or FreeDb(a, b)
+ emb w, b pre AnyDiag (a, b)
RULE BlackQMove:
[ a, b | Bq { a } |
vx {a->0.,b->0.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
->
[ a, b | Bq { b } |
vx {a->0.,b->0.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
- emb w, b pre FreeDa(a, b) or FreeDb(a, b)
+ emb w, b pre AnyDiag (a, b)
RULE WhiteBeat:
[ a, b, c | W { a }; b { b } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
@@ -86,7 +73,7 @@
[ a, b, c | W { c } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
x {a->0.,b->10.,c->20.}; y {a->0.,b->10.,c->20.} ]
- emb w, b pre Diag2 (a, b, c) and not IsEight(c)
+ emb w, b pre DiagW2 (a, b, c) and not IsEight(c)
post not ex x, y (_new_W(x) and BeatsW (x, y))
RULE BlackBeat:
[ a, b, c | B { a }; w { b } |
@@ -96,7 +83,7 @@
[ a, b, c | B { c } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
x {a->0.,b->10.,c->20.}; y {a->0.,b->10.,c->20.} ]
- emb w, b pre Diag2 (a, b, c) and not IsFirst(c)
+ emb w, b pre DiagB2 (a, b, c) and not IsFirst(c)
post not ex x, y (_new_B(x) and BeatsB (x, y))
RULE WhiteBeatPromote:
[ a, b, c | W { a }; b { b } |
@@ -106,7 +93,7 @@
[ a, b, c | Wq { c } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
x {a->0.,b->10.,c->20.}; y {a->0.,b->10.,c->20.} ]
- emb w, b pre Diag2 (a, b, c) and IsEight(c)
+ emb w, b pre DiagW2 (a, b, c) and IsEight(c)
post not ex x, y (_new_W(x) and BeatsW (x, y))
RULE BlackBeatPromote:
[ a, b, c | B { a }; w { b } |
@@ -116,7 +103,7 @@
[ a, b, c | Bq { c } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
x {a->0.,b->10.,c->20.}; y {a->0.,b->10.,c->20.} ]
- emb w, b pre Diag2 (a, b, c) and IsFirst(c)
+ emb w, b pre DiagB2 (a, b, c) and IsFirst(c)
post not ex x, y (_new_B(x) and BeatsB (x, y))
RULE WhiteBeatCont:
[ a, b, c | W { a }; b { b } |
@@ -144,7 +131,7 @@
[ a, b, c | Wq { c } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
x {a->0.,b->10.,c->20.}; y {a->0.,b->10.,c->20.} ]
- emb w, b pre TDiag2 (a, b, c)
+ emb w, b pre Diag2 (a, b, c)
RULE BlackQBeat:
[ a, b, c | Bq { a }; w { b } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
@@ -153,7 +140,7 @@
[ a, b, c | Bq { c } |
vx {a->0.,b->0.,c->0.}; vy {a->0.,b->0.,c->0.};
x {a->0.,b->10.,c->20.}; y {a->0.,b->10.,c->20.} ]
- emb w, b pre TDiag2 (a, b, c)
+ emb w, b pre Diag2 (a, b, c)
LOC 0 {
PLAYER 1
PAYOFF {
Added: trunk/Toss/examples/Pawns.toss
===================================================================
--- trunk/Toss/examples/Pawns.toss (rev 0)
+++ trunk/Toss/examples/Pawns.toss 2011-01-05 00:52:39 UTC (rev 1274)
@@ -0,0 +1,183 @@
+PLAYERS 1, 2
+DATA depth: 2, adv_ratio: 2
+REL DiagW (x, y) = ex z (C(x, z) and (R(y, z) or R(z, y)))
+REL DiagB (x, y) = ex z (C(z, x) and (R(y, z) or R(z, y)))
+REL IsFirst(x) = not ex z C(z, x)
+REL IsSecond(x) = ex y (C(y, x) and IsFirst(y))
+REL IsEight(x) = not ex z C(x, z)
+REL IsSeventh(x) = ex y (C(x, y) and IsEight(y))
+RULE WhiteDiag:
+ [ a, b | W { a }; B { b } |
+ vx {a->0.,b->10.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
+ ->
+ [ a, b | W { b } |
+ vx {a->0.,b->10.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
+ emb W, B pre DiagW(a, b) and not ex x (B(x) and not ex y C(y, x))
+RULE WhiteStraight:
+ [ | B:1 {}; R:2 {} | ] "
+
+ .
+
+ W
+" -> [ | B:1 {}; R:2 {} |
+ ] "
+
+ W
+
+ .
+" emb W, B pre not ex x (B(x) and not ex y C(y, x))
+RULE WhiteStraightTwo:
+ [ | B:1 {}; R:2 {} | ] "
+
+ .
+
+ .
+
+ W
+" -> [ | B:1 {}; R:2 {} |
+ ] "
+
+ W
+
+ .
+
+ .
+" emb W, B pre IsSecond(a1) and not ex x (B(x) and not ex y C(y, x))
+RULE WhitePawnRightDbl:
+ [ | | ] "
+ ...
+ ?..-B
+ ...
+ ? ...
+ ...
+ W..B
+" -> [ | | ] "
+ ...
+ ?...
+ ...
+ ? W..
+ ...
+ ....
+" emb W, B
+RULE WhitePawnLeftDbl:
+ [ | | ] "
+ ...
+ -B.?
+ ...
+ . ?..
+ ...
+ B..W
+" -> [ | | ] "
+ ...
+ ...?
+ ...
+ W ?..
+ ...
+ ....
+" emb W, B
+RULE BlackDiag:
+ [ a, b | B { a }; W { b } |
+ vx {a->0.,b->10.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
+ ->
+ [ a, b | B { b } |
+ vx {a->0.,b->10.}; vy {a->0.,b->0.}; x {a->0.,b->10.}; y {a->0.,b->10.} ]
+ emb W, B pre DiagB(a, b) and not ex x (W(x) and not ex y C(x, y))
+RULE BlackStraight:
+ [ | R:2 {}; W:1 {} | ] "
+
+ B
+
+ .
+" -> [ | R:2 {}; W:1 {} |
+ ] "
+
+ .
+
+ B
+" emb W, B pre not ex x (W(x) and not ex y C(x, y))
+RULE BlackStraightTwo:
+ [ | R:2 {}; W:1 {} | ] "
+
+ B
+
+ .
+
+ .
+" -> [ | R:2 {}; W:1 {} |
+ ] "
+
+ .
+
+ .
+
+ B
+" emb W, B pre IsSeventh(a3) and not ex x (W(x) and not ex y C(x, y))
+RULE BlackPawnRightDbl:
+ [ | | ] "
+ ...
+ B..W
+ ...
+ ? ...
+ ...
+ ?..-W
+" -> [ | | ] "
+ ...
+ ....
+ ...
+ ? B..
+ ...
+ ?...
+" emb W, B
+RULE BlackPawnLeftDbl:
+ [ | | ] "
+ ...
+ W..B
+ ...
+ . ?..
+ ...
+ -W.?
+" -> [ | | ] "
+ ...
+ ....
+ ...
+ B ?..
+ ...
+ ...?
+" emb W, B
+LOC 0 {
+ PLAYER 1
+ PAYOFF {
+ 1: :(ex x (W(x) and not ex y C(x, y))) - :(ex x (B(x) and not ex y C(y, x)));
+ 2: :(ex x (B(x) and not ex y C(y, x))) - :(ex x (W(x) and not ex y C(x, y)))
+ }
+ MOVES [WhiteDiag -> 1]; [WhiteStraight -> 1];
+ [WhitePawnRightDbl -> 1]; [WhitePawnLeftDbl -> 1]; [WhiteStraightTwo -> 1]
+}
+LOC 1 {
+ PLAYER 2
+ PAYOFF {
+ 1: :(ex x (W(x) and not ex y C(x, y))) - :(ex x (B(x) and not ex y C(y, x)));
+ 2: :(ex x (B(x) and not ex y C(y, x))) - :(ex x (W(x) and not ex y C(x, y)))
+ }
+ MOVES [BlackDiag -> 0]; [BlackStraight -> 0];
+ [BlackPawnRightDbl -> 0]; [BlackPawnLeftDbl -> 0]; [BlackStraightTwo -> 0]
+}
+MODEL [ | |
+ ] "
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ B..B B..B B..B B..B
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ ... ... ... ...
+ W W..W W..W W..W W..
+ ... ... ... ...
+ ... ... ... ...
+"
Added: trunk/Toss/examples/Pawns.tossstyle
===================================================================
--- trunk/Toss/examples/Pawns.tossstyle (rev 0)
+++ trunk/Toss/examples/Pawns.tossstyle 2011-01-05 00:52:39 UTC (rev 1274)
@@ -0,0 +1,6 @@
+nocolor ;
+elOPACITY: 20 ;
+relOPACITY: 150 ;
+arrLENscale: 0.0 ;
+W: ~/pawn_white.svg;
+B: ~/pawn_black.svg;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|