[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. |