Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/A+little+Pachisi+game?V=16
QUERY_STRINGV=16
CONTENT_TYPE
DOCUMENT_URI/revision/A+little+Pachisi+game
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.70.100.217
REMOTE_PORT31216
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR52.14.150.55
HTTP_CF_RAY881aa77b8a0de1db-ORD
HTTP_X_FORWARDED_PROTOhttps
HTTP_CF_VISITOR{"scheme":"https"}
HTTP_ACCEPT*/*
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_CONNECTING_IP52.14.150.55
HTTP_CDN_LOOPcloudflare
HTTP_CF_IPCOUNTRYUS

Body


Error

Unknow state transition: LINE -> END

-code

1

-level

0

-errorstack

INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit {A little Pachisi game} \[Richard\ Suchenwirth\]\ 2002-06-06\ --\ Here's\ a\ little\ Pachisi\ game\ \n(in\ Germany\ known\ as\ '''Mensch\ aergere\ dich\ nicht'''),\ featuring\ the\ classical\ board,\ \na\ lightly\ animated\ die,\ and\ moving\ pieces.\ \nAll\ dimensions\ are\ computed\ from\ the\ -size\ switch,\ so\ maybe\ change\ that\ to\ suit\ your\ likings.\ \nAs\ usual,\ playing\ is\ left\ to\ the\ humans.\ \nSee\ also\ \[Tcl/Tk\ games\],\ and\ enjoy!\n\n\[WikiDbImage\ pachisi.jpg\]\n\n''MNO''\ -\ This\ game\ is\ also\ known\ (in\ England\ at\ least)\ as\ \[Ludo\]\n\n----\n======\n\ package\ require\ Tk\n\ proc\ pachisi\ \{w\ args\}\ \{\n\ \ \ array\ set\ opts\ \{\n\ \ \ \ \ -size\ 25\ -bg\ LightBlue1\ -fg\ white\ -colors\ \{red\ green\ yellow\ blue\}\n\ \ \ \}\n\ \ \ array\ set\ opts\ \$args\n\ \ \ set\ hw\ \[expr\ 14*\$opts(-size)\]\n\ \ \ canvas\ \$w\ -bg\ \$opts(-bg)\ -height\ \$hw\ -width\ \$hw\n\ \ \ set\ m\ \[expr\ \$hw/2\]\n\ \ \ set\ d\ \$opts(-size)\n\ \ \ set\ x\ \[expr\ \$d\ *\ 1.25\]\n\ \ \ set\ x0\ \$x\n\ \ \ set\ y\ \[expr\ \$d\ *\ 1.25\]\n\ \ \ \$w\ create\ line\ \$x0\ \[expr\ \$m-\$y\]\ \[expr\ \$m-\$x0\]\ \[expr\ \$m-\$y\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \$x0\ \[expr\ \$m+\$y\]\ \[expr\ \$m-\$x0\]\ \[expr\ \$m+\$y\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$x0\]\ \[expr\ \$m-\$y\]\ \[expr\ 2*\$m-\$x0\]\ \[expr\ \$m-\$y\]\\\n\ \ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$x0\]\ \[expr\ \$m+\$y\]\ \[expr\ 2*\$m-\$x0\]\ \[expr\ \$m+\$y\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$y\]\ \$x0\ \[expr\ \$m-\$y\]\ \[expr\ \$m-\$x0\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$y\]\ \$x0\ \[expr\ \$m+\$y\]\ \[expr\ \$m-\$x0\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$y\]\ \[expr\ \$m+\$x0\]\ \[expr\ \$m-\$y\]\ \[expr\ 2*\$m-\$x0\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$y\]\ \[expr\ \$m+\$x0\]\ \[expr\ \$m+\$y\]\ \[expr\ 2*\$m-\$x0\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$y-\$d/2\]\ \[expr\ \$m-\$d\]\ \[expr\ \$y-\$d/2\]\ \[expr\ \$m+\$d\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m*2-\$y+\$d/2\]\ \[expr\ \$m-\$d\]\ \[expr\ \$m*2-\$y+\$d/2\]\\\n\ \ \ \ \ \ \ \[expr\ \$m+\$d\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$d\]\ \[expr\ \$y-\$d/2\]\ \[expr\ \$m+\$d\]\ \[expr\ \$y-\$d/2\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$d\]\ \[expr\ \$m*2-\$y+\$d/2\]\ \[expr\ \$m+\$d\]\\\n\ \ \ \ \ \[expr\ \$m*2-\$y+\$d/2\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+5*\$d\]\ \[expr\ \$m+2*\$d\]\ \[expr\ \$m+6*\$d\]\\\n\ \ \ \ \ \[expr\ \$m+2*\$d\]\ -arrow\ first\n\ \ \ \$w\ create\ line\ \[expr\ \$m-2*\$d\]\ \[expr\ \$m+5*\$d\]\ \[expr\ \$m-2*\$d\]\\\n\ \ \ \ \ \[expr\ \$m+6*\$d\]\ -arrow\ first\n\ \ \ \$w\ create\ line\ \[expr\ \$m-5*\$d\]\ \[expr\ \$m-2*\$d\]\ \[expr\ \$m-6*\$d\]\\\n\ \ \ \ \ \[expr\ \$m-2*\$d\]\ -arrow\ first\n\ \ \ \$w\ create\ line\ \[expr\ \$m+2*\$d\]\ \[expr\ \$m-5*\$d\]\ \[expr\ \$m+2*\$d\]\\\n\ \ \ \ \ \[expr\ \$m-6*\$d\]\ -arrow\ first\n\ \ \ foreach\ i\ \{1\ 2\ 3\ 4\ 5\}\ \{\n\ \ \ \ \ point8\ \$w\ \$m\ \$x\ \$y\ \$d\ \$opts(-fg)\n\ \ \ \ \ set\ x\ \[expr\ \$x+\$d*1.25\]\n\ \ \ \}\n\ \ \ set\ x\ \[expr\ \$x-\$d*1.25\]\n\ \ \ set\ y\ 0\n\ \ \ point8\ \$w\ \$m\ \$x\ \$y\ \$d\ \$opts(-fg)\n\ \ \ set\ xm\ \[expr\ \$x+\$m\]\n\ \ \ set\ co\ \$opts(-colors)\n\ \ \ set\ d2\ \[expr\ \$d*0.75\]\n\ \ \ set\ d15\ \$d2*2\n\ \ \ pnest\ \$w\ \$m+\$x-\$d\ \$d15\ \$d2\ \[lindex\ \$co\ 0\]\n\ \ \ pnest\ \$w\ \$m+\$x-\$d\ \$m+\$x-\$d\ \$d2\ \[lindex\ \$co\ 1\]\n\ \ \ pnest\ \$w\ \$d15\ \$m+\$x-\$d\ \$d2\ \[lindex\ \$co\ 2\]\n\ \ \ pnest\ \$w\ \$d15\ \$m-\$x+\$d\ \$d2\ \[lindex\ \$co\ 3\]\n\ \ \ for\ \{set\ i\ 0\;set\ y\ \[expr\ \$d*2\]\}\ \{\$i<4\}\ \{incr\ i\;set\ y\ \[expr\ \$y+\$d\]\}\ \{\n\ \ \ \ \ point\ \$w\ \$m\ \$y\ \$d2\ \[lindex\ \$co\ 0\]\n\ \ \ \ \ point\ \$w\ \$m*2-\$y\ \$m\ \$d2\ \[lindex\ \$co\ 1\]\n\ \ \ \ \ point\ \$w\ \$m\ \$m*2-\$y\ \$d2\ \[lindex\ \$co\ 2\]\n\ \ \ \ \ point\ \$w\ \$y\ \$m\ \$d2\ \[lindex\ \$co\ 3\]\n\ \ \ \}\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \[expr\ \$m+\$d\]\ \$d\]\ -fill\ \[lindex\ \$co\ 0\]\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \$xm\ \[expr\ \$m+\$d\]\]\ -fill\ \[lindex\ \$co\ 1\]\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \[expr\ \$m-\$d\]\ \$xm\]\ -fill\ \[lindex\ \$co\ 2\]\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \$d\ \[expr\ \$m-\$d\]\]\ -fill\ \[lindex\ \$co\ 3\]\n\ \ \ set\ mvbody\ \{set\ g(x)\ \[@w\ canvasx\ %x\]\;\ set\ g(y)\ \[@w\ canvasy\ %y\]\}\n\ \ \ regsub\ -all\ @w\ \$mvbody\ \$w\ mvbody\n\ \ \ \$w\ bind\ mv\ <1>\ \$mvbody\n\ \ \ canvas:die\ \$w\ \[expr\ \$m-12.5\]\ \[expr\ \$m-12.5\]\n\ \ \ set\ w\n\ \}\n\ proc\ pnest\ \{w\ x\ y\ d\ color\}\ \{\n\ \ \ set\ fsize\ \[expr\ \$d/0.75\]\n\ \ \ fpoint\ \$w\ \[expr\ \$x-\$d\]\ \[expr\ \$y-\$d\]\ \$d\ \$fsize\ \$color\ 1\n\ \ \ fpoint\ \$w\ \[expr\ \$x-\$d\]\ \[expr\ \$y+\$d\]\ \$d\ \$fsize\ \$color\ 2\n\ \ \ fpoint\ \$w\ \[expr\ \$x+\$d\]\ \[expr\ \$y-\$d\]\ \$d\ \$fsize\ \$color\ 3\n\ \ \ fpoint\ \$w\ \[expr\ \$x+\$d\]\ \[expr\ \$y+\$d\]\ \$d\ \$fsize\ \$color\ 4\n\ \}\n\ proc\ fpoint\ \{w\ x\ y\ psize\ fsize\ fg\ no\}\ \{\n\ \ \ point\ \$w\ \$x\ \$y\ \$psize\ \$fg\n\ \ \ figure\ \$w\ \$x\ \$y\ \$fsize\ \$fg\ \$no\n\ \}\n\ proc\ point\ \{w\ x\ y\ d\ fg\}\ \{\n\ \ \ \$w\ create\ oval\ \[expr\ \$x-\$d/2.\]\ \[expr\ \$y-\$d/2.\]\ \\\n\ \ \ \[expr\ \$x+\$d/2.\]\ \[expr\ \$y+\$d/2.\]\ -fill\ \$fg\n\ \}\n\ proc\ point8\ \{w\ m\ x\ y\ d\ fg\}\ \{\n\ \ \ point\ \$w\ \$m+\$x\ \$m+\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m+\$x\ \$m-\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$x\ \$m+\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$x\ \$m-\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m+\$y\ \$m+\$x\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m+\$y\ \$m-\$x\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$y\ \$m+\$x\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$y\ \$m-\$x\ \$d\ \$fg\n\ \}\n\ proc\ figure\ \{w\ x\ y\ size\ color\ no\}\ \{\n\ \ \ set\ d\ \[expr\ \$size/6.\]\n\ \ \ set\ s\ \$size/1.5\n\ \ \ set\ y\ \[expr\ \$y-\$d*2.5\]\n\ \ \ \$w\ create\ arc\ \[expr\ \$x-\$s\]\ \[expr\ \$y-\$s\]\ \[expr\ \$x+\$s\]\ \[expr\ \$y+\$s\]\\\n\ \ \ \ \ -start\ 250\ -extent\ 40\ -fill\ \$color\ -tags\ \[list\ mv\ \$color\$no\]\n\ \ \ \$w\ create\ oval\ \[expr\ \$x-\$d\]\ \[expr\ \$y-\$d\]\ \[expr\ \$x+\$d\]\ \[expr\ \$y+\$d\]\\\n\ \ \ \ \ -fill\ \$color\ -tags\ \[list\ mv\ \$color\$no\]\n\ \ \ \$w\ bind\ \$color\$no\ <B1-Motion>\ \[list\ figure:move\ \$w\ \$color\$no\ %x\ %y\]\n\ \}\n\ proc\ figure:move\ \{w\ tag\ x\ y\}\ \{\n\ \ \ global\ g\n\ \ \ set\ x0\ \[\$w\ canvasx\ \$x\]\;\ set\ y0\ \[\$w\ canvasy\ \$y\]\n\ \ \ \$w\ move\ \$tag\ \[expr\ \$x0-\$g(x)\]\ \[expr\ \$y0-\$g(y)\]\n\ \ \ \$w\ raise\ \$tag\n\ \ \ set\ g(x)\ \$x0\;\ set\ g(y)\ \$y0\n\ \}\n\ proc\ canvas:die\ \{w\ x\ y\ args\}\ \{\n\ \ \ upvar\ #0\ g\ opt\n\ \ \ array\ set\ opt\ \{-size\ 25\ -fg\ gold\ -bg\ red\ -mayroll\ 1\}\n\ \ \ array\ set\ opt\ \$args\n\ \ \ set\ s\ \$opt(-size)\n\ \ \ set\ id\ \[\$w\ create\ rect\ \$x\ \$y\ \[expr\ \$x+\$s\]\ \[expr\ \$y+\$s\]\ \\\n\ \ \ \ \ -fill\ \$opt(-bg)\ -tags\ mvg\]\n\ \ \ set\ ::g(\$id,fg)\ \$opt(-fg)\n\ \ \ set\ ::g(\$id,bg)\ \$opt(-bg)\n\ \ \ set\ grouptag\ group\$id\n\ \ \ \$w\ addtag\ \$grouptag\ withtag\ \$id\n\ \ \ set\ ex\ \[expr\ \$x+\$s/10.\]\n\ \ \ set\ ey\ \[expr\ \$y+\$s/10.\]\n\ \ \ set\ d\ \[expr\ \$s/5.\]\;#\ dot\ diameter\n\ \ \ set\ dotno\ 1\ \;#\ dot\ counter\n\ \ \ foreach\ y\ \[list\ \$ey\ \[expr\ \$ey+\$d*1.5\]\ \[expr\ \$ey+\$d*3\]\]\ \{\n\ \ \ \ \ foreach\ x\ \[list\ \$ex\ \[expr\ \$ex+\$d*1.5\]\ \[expr\ \$ex+\$d*3\]\]\ \{\n\ \ \ \ \ \ \ \$w\ create\ oval\ \$x\ \$y\ \[expr\ \$x+\$d\]\ \[expr\ \$y+\$d\]\ \\\n\ \ \ \ \ \ \ \ \ -fill\ \$opt(-bg)\ -outline\ \$opt(-bg)\ \\\n\ \ \ \ \ \ \ \ \ -tags\ \[list\ mvg\ \$grouptag\ \$\{id\}d\$dotno\]\n\ \ \ \ \ \ \ incr\ dotno\n\ \ \ \ \ \}\n\ \ \ \}\n\ \ \ \$w\ bind\ mvg\ <1>\ \{cdie:roll\ %W\ \[%W\ find\ withtag\ current\]\}\n\ \ \ cdie:set\ \$w\ \$id\ \[expr\ int(rand()*6)+1\]\n\ \ \ set\ id\n\ \}\n\ proc\ cdie:set\ \{w\ id\ n\}\ \{\n\ \ \ set\ bg\ \$::g(\$id,bg)\n\ \ \ foreach\ i\ \[\$w\ gettags\ \$id\]\ \{\n\ \ \ \ \ if\ \[regexp\ group\ \$i\]\ \{set\ grouptag\ \$i\;break\}\n\ \ \ \}\n\ \ \ \$w\ itemconfig\ \$grouptag\ -fill\ \$bg\ -outline\ \$bg\n\ \ \ foreach\ i\ \[lindex\ \[list\ \\\n\ \ \ \ \ \{\}\ \{d5\}\ \[random:select\ \{\{d3\ d7\}\ \{d1\ d9\}\}\]\ \\\n\ \ \ \ \ \[random:select\ \{\{d1\ d5\ d9\}\ \{d3\ d5\ d7\}\}\]\ \\\n\ \ \ \ \ \{d1\ d3\ d7\ d9\}\ \{d1\ d3\ d5\ d7\ d9\}\ \\\n\ \ \ \ \ \[random:select\ \{\{d1\ d3\ d4\ d6\ d7\ d9\}\ \{d1\ d2\ d3\ d7\ d8\ d9\}\}\]\ \\\n\ \ \ \ \ \]\ \$n\]\ \{\n\ \ \ \ \ \ \ \$w\ itemconfig\ \$id\$i\ -fill\ \$::g(\$id,fg)\ -outline\ \$::g(\$id,fg)\n\ \ \ \}\n\ \ \ set\ ::g(\$id)\ \$n\n\ \}\n\ proc\ cdie:roll\ \{w\ id\}\ \{\n\ \ \ #\ wiggle:\ amount,\ pick\ one\ of\ eight\ wiggle\ directions\n\ \ \ set\ dwig\ \[expr\ \$::g(-size)/5\]\n\ \ \ regexp\ \{group(\[0-9\]+)\}\ \[\$w\ gettags\ \$id\]\ ->\ id\n\ \ \ for\ \{set\ i\ 10\}\ \{\$i<100\}\ \{incr\ i\ 10\}\ \{\n\ \ \ \ \ cdie:set\ \$w\ \$id\ \[expr\ int(rand()*6)+1\]\n\ \ \ \ \ set\ wig\ \[random:select\ \{0,1\ 0,-1\ 1,0\ -1,0\ 1,1\ -1,1\ 1,-1\ -1,-1\}\]\n\ \ \ \ \ set\ wig\ \[lexpr\ \\\$i*\$dwig\ \[split\ \$wig\ ,\]\]\n\ \ \ \ \ eval\ \$w\ move\ group\$id\ \$wig\n\ \ \ \ \ update\n\ \ \ \ \ set\ wig\ \[lexpr\ \\\$i*-1\ \$wig\]\ \;#\ wiggle\ back\n\ \ \ \ \ eval\ \$w\ move\ group\$id\ \$wig\n\ \ \ \ \ after\ \$i\n\ \ \ \}\n\ \}\n\ proc\ random:select\ L\ \{lindex\ \$L\ \[expr\ int(rand()*\[llength\ \$L\].)\]\}\n\ proc\ lexpr\ \{term\ L\}\ \{\n\ \ \ #\ map\ an\ expr\ term\ to\ each\ element\ \\\$i\ of\ a\ list\n\ \ \ set\ res\ \[list\]\n\ \ \ foreach\ i\ \$L\ \{lappend\ res\ \[eval\ expr\ \$term\]\}\n\ \ \ set\ res\n\ \}\n\ #####################################\n\ \ proc\ NextPlayer\ \{\}\ \{\n\ \ #:\ Move\ Turn-Marker-Button\ to\ position\ of\ next\ player\n\ \ \ \ incr\ ::pos\ 1\n\ \ \ \ switch\ \ --\ \$::pos\ \{\n\ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ \ 35\ \ 95\;\ .b1\ config\ -fg\ blue\ \ \ \}\n\ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ 253\ \ 36\;\ .b1\ config\ -fg\ red\ \ \ \ \}\n\ \ \ \ \ \ \ \ 3\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ 305\ 255\;\ .b1\ config\ -fg\ green4\ \}\n\ \ \ \ \ \ \ \ 4\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ \ 92\ 305\;\ .b1\ config\ -fg\ yellow1\ \;\ set\ ::pos\ 0\ \}\n\ \ \ \ \ \ \ \ default\ \{\ set\ ::pos\ 0\ \}\n\ \ \ \ \}\n\ \ \}\n\ #####################################\n\ \ pack\ \[pachisi\ .p\ -bg\ beige\]\n\n\ \ button\ .b1\ -text\ \"Done\"\ -command\ \{NextPlayer\}\n\ \ set\ bw\ \[.p\ create\ window\ 22\ 14\ -window\ .b1\]\n\ \ set\ pos\ 0\n\ \ NextPlayer\n----\n\n\[HJG\]\ 2007-07-13\ Added\ a\ turnmarker,\ to\ show\ which\ player\ has\ his\ turn\ to\ do.\n\n<<categories>>\ Games regexp2} CALL {my render {A little Pachisi game} \[Richard\ Suchenwirth\]\ 2002-06-06\ --\ Here's\ a\ little\ Pachisi\ game\ \n(in\ Germany\ known\ as\ '''Mensch\ aergere\ dich\ nicht'''),\ featuring\ the\ classical\ board,\ \na\ lightly\ animated\ die,\ and\ moving\ pieces.\ \nAll\ dimensions\ are\ computed\ from\ the\ -size\ switch,\ so\ maybe\ change\ that\ to\ suit\ your\ likings.\ \nAs\ usual,\ playing\ is\ left\ to\ the\ humans.\ \nSee\ also\ \[Tcl/Tk\ games\],\ and\ enjoy!\n\n\[WikiDbImage\ pachisi.jpg\]\n\n''MNO''\ -\ This\ game\ is\ also\ known\ (in\ England\ at\ least)\ as\ \[Ludo\]\n\n----\n======\n\ package\ require\ Tk\n\ proc\ pachisi\ \{w\ args\}\ \{\n\ \ \ array\ set\ opts\ \{\n\ \ \ \ \ -size\ 25\ -bg\ LightBlue1\ -fg\ white\ -colors\ \{red\ green\ yellow\ blue\}\n\ \ \ \}\n\ \ \ array\ set\ opts\ \$args\n\ \ \ set\ hw\ \[expr\ 14*\$opts(-size)\]\n\ \ \ canvas\ \$w\ -bg\ \$opts(-bg)\ -height\ \$hw\ -width\ \$hw\n\ \ \ set\ m\ \[expr\ \$hw/2\]\n\ \ \ set\ d\ \$opts(-size)\n\ \ \ set\ x\ \[expr\ \$d\ *\ 1.25\]\n\ \ \ set\ x0\ \$x\n\ \ \ set\ y\ \[expr\ \$d\ *\ 1.25\]\n\ \ \ \$w\ create\ line\ \$x0\ \[expr\ \$m-\$y\]\ \[expr\ \$m-\$x0\]\ \[expr\ \$m-\$y\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \$x0\ \[expr\ \$m+\$y\]\ \[expr\ \$m-\$x0\]\ \[expr\ \$m+\$y\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$x0\]\ \[expr\ \$m-\$y\]\ \[expr\ 2*\$m-\$x0\]\ \[expr\ \$m-\$y\]\\\n\ \ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$x0\]\ \[expr\ \$m+\$y\]\ \[expr\ 2*\$m-\$x0\]\ \[expr\ \$m+\$y\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$y\]\ \$x0\ \[expr\ \$m-\$y\]\ \[expr\ \$m-\$x0\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$y\]\ \$x0\ \[expr\ \$m+\$y\]\ \[expr\ \$m-\$x0\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$y\]\ \[expr\ \$m+\$x0\]\ \[expr\ \$m-\$y\]\ \[expr\ 2*\$m-\$x0\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+\$y\]\ \[expr\ \$m+\$x0\]\ \[expr\ \$m+\$y\]\ \[expr\ 2*\$m-\$x0\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$y-\$d/2\]\ \[expr\ \$m-\$d\]\ \[expr\ \$y-\$d/2\]\ \[expr\ \$m+\$d\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m*2-\$y+\$d/2\]\ \[expr\ \$m-\$d\]\ \[expr\ \$m*2-\$y+\$d/2\]\\\n\ \ \ \ \ \ \ \[expr\ \$m+\$d\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$d\]\ \[expr\ \$y-\$d/2\]\ \[expr\ \$m+\$d\]\ \[expr\ \$y-\$d/2\]\\\n\ \ \ \ \ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m-\$d\]\ \[expr\ \$m*2-\$y+\$d/2\]\ \[expr\ \$m+\$d\]\\\n\ \ \ \ \ \[expr\ \$m*2-\$y+\$d/2\]\ -width\ 2\n\ \ \ \$w\ create\ line\ \[expr\ \$m+5*\$d\]\ \[expr\ \$m+2*\$d\]\ \[expr\ \$m+6*\$d\]\\\n\ \ \ \ \ \[expr\ \$m+2*\$d\]\ -arrow\ first\n\ \ \ \$w\ create\ line\ \[expr\ \$m-2*\$d\]\ \[expr\ \$m+5*\$d\]\ \[expr\ \$m-2*\$d\]\\\n\ \ \ \ \ \[expr\ \$m+6*\$d\]\ -arrow\ first\n\ \ \ \$w\ create\ line\ \[expr\ \$m-5*\$d\]\ \[expr\ \$m-2*\$d\]\ \[expr\ \$m-6*\$d\]\\\n\ \ \ \ \ \[expr\ \$m-2*\$d\]\ -arrow\ first\n\ \ \ \$w\ create\ line\ \[expr\ \$m+2*\$d\]\ \[expr\ \$m-5*\$d\]\ \[expr\ \$m+2*\$d\]\\\n\ \ \ \ \ \[expr\ \$m-6*\$d\]\ -arrow\ first\n\ \ \ foreach\ i\ \{1\ 2\ 3\ 4\ 5\}\ \{\n\ \ \ \ \ point8\ \$w\ \$m\ \$x\ \$y\ \$d\ \$opts(-fg)\n\ \ \ \ \ set\ x\ \[expr\ \$x+\$d*1.25\]\n\ \ \ \}\n\ \ \ set\ x\ \[expr\ \$x-\$d*1.25\]\n\ \ \ set\ y\ 0\n\ \ \ point8\ \$w\ \$m\ \$x\ \$y\ \$d\ \$opts(-fg)\n\ \ \ set\ xm\ \[expr\ \$x+\$m\]\n\ \ \ set\ co\ \$opts(-colors)\n\ \ \ set\ d2\ \[expr\ \$d*0.75\]\n\ \ \ set\ d15\ \$d2*2\n\ \ \ pnest\ \$w\ \$m+\$x-\$d\ \$d15\ \$d2\ \[lindex\ \$co\ 0\]\n\ \ \ pnest\ \$w\ \$m+\$x-\$d\ \$m+\$x-\$d\ \$d2\ \[lindex\ \$co\ 1\]\n\ \ \ pnest\ \$w\ \$d15\ \$m+\$x-\$d\ \$d2\ \[lindex\ \$co\ 2\]\n\ \ \ pnest\ \$w\ \$d15\ \$m-\$x+\$d\ \$d2\ \[lindex\ \$co\ 3\]\n\ \ \ for\ \{set\ i\ 0\;set\ y\ \[expr\ \$d*2\]\}\ \{\$i<4\}\ \{incr\ i\;set\ y\ \[expr\ \$y+\$d\]\}\ \{\n\ \ \ \ \ point\ \$w\ \$m\ \$y\ \$d2\ \[lindex\ \$co\ 0\]\n\ \ \ \ \ point\ \$w\ \$m*2-\$y\ \$m\ \$d2\ \[lindex\ \$co\ 1\]\n\ \ \ \ \ point\ \$w\ \$m\ \$m*2-\$y\ \$d2\ \[lindex\ \$co\ 2\]\n\ \ \ \ \ point\ \$w\ \$y\ \$m\ \$d2\ \[lindex\ \$co\ 3\]\n\ \ \ \}\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \[expr\ \$m+\$d\]\ \$d\]\ -fill\ \[lindex\ \$co\ 0\]\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \$xm\ \[expr\ \$m+\$d\]\]\ -fill\ \[lindex\ \$co\ 1\]\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \[expr\ \$m-\$d\]\ \$xm\]\ -fill\ \[lindex\ \$co\ 2\]\n\ \ \ \$w\ itemconfig\ \[\$w\ find\ closest\ \$d\ \[expr\ \$m-\$d\]\]\ -fill\ \[lindex\ \$co\ 3\]\n\ \ \ set\ mvbody\ \{set\ g(x)\ \[@w\ canvasx\ %x\]\;\ set\ g(y)\ \[@w\ canvasy\ %y\]\}\n\ \ \ regsub\ -all\ @w\ \$mvbody\ \$w\ mvbody\n\ \ \ \$w\ bind\ mv\ <1>\ \$mvbody\n\ \ \ canvas:die\ \$w\ \[expr\ \$m-12.5\]\ \[expr\ \$m-12.5\]\n\ \ \ set\ w\n\ \}\n\ proc\ pnest\ \{w\ x\ y\ d\ color\}\ \{\n\ \ \ set\ fsize\ \[expr\ \$d/0.75\]\n\ \ \ fpoint\ \$w\ \[expr\ \$x-\$d\]\ \[expr\ \$y-\$d\]\ \$d\ \$fsize\ \$color\ 1\n\ \ \ fpoint\ \$w\ \[expr\ \$x-\$d\]\ \[expr\ \$y+\$d\]\ \$d\ \$fsize\ \$color\ 2\n\ \ \ fpoint\ \$w\ \[expr\ \$x+\$d\]\ \[expr\ \$y-\$d\]\ \$d\ \$fsize\ \$color\ 3\n\ \ \ fpoint\ \$w\ \[expr\ \$x+\$d\]\ \[expr\ \$y+\$d\]\ \$d\ \$fsize\ \$color\ 4\n\ \}\n\ proc\ fpoint\ \{w\ x\ y\ psize\ fsize\ fg\ no\}\ \{\n\ \ \ point\ \$w\ \$x\ \$y\ \$psize\ \$fg\n\ \ \ figure\ \$w\ \$x\ \$y\ \$fsize\ \$fg\ \$no\n\ \}\n\ proc\ point\ \{w\ x\ y\ d\ fg\}\ \{\n\ \ \ \$w\ create\ oval\ \[expr\ \$x-\$d/2.\]\ \[expr\ \$y-\$d/2.\]\ \\\n\ \ \ \[expr\ \$x+\$d/2.\]\ \[expr\ \$y+\$d/2.\]\ -fill\ \$fg\n\ \}\n\ proc\ point8\ \{w\ m\ x\ y\ d\ fg\}\ \{\n\ \ \ point\ \$w\ \$m+\$x\ \$m+\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m+\$x\ \$m-\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$x\ \$m+\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$x\ \$m-\$y\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m+\$y\ \$m+\$x\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m+\$y\ \$m-\$x\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$y\ \$m+\$x\ \$d\ \$fg\n\ \ \ point\ \$w\ \$m-\$y\ \$m-\$x\ \$d\ \$fg\n\ \}\n\ proc\ figure\ \{w\ x\ y\ size\ color\ no\}\ \{\n\ \ \ set\ d\ \[expr\ \$size/6.\]\n\ \ \ set\ s\ \$size/1.5\n\ \ \ set\ y\ \[expr\ \$y-\$d*2.5\]\n\ \ \ \$w\ create\ arc\ \[expr\ \$x-\$s\]\ \[expr\ \$y-\$s\]\ \[expr\ \$x+\$s\]\ \[expr\ \$y+\$s\]\\\n\ \ \ \ \ -start\ 250\ -extent\ 40\ -fill\ \$color\ -tags\ \[list\ mv\ \$color\$no\]\n\ \ \ \$w\ create\ oval\ \[expr\ \$x-\$d\]\ \[expr\ \$y-\$d\]\ \[expr\ \$x+\$d\]\ \[expr\ \$y+\$d\]\\\n\ \ \ \ \ -fill\ \$color\ -tags\ \[list\ mv\ \$color\$no\]\n\ \ \ \$w\ bind\ \$color\$no\ <B1-Motion>\ \[list\ figure:move\ \$w\ \$color\$no\ %x\ %y\]\n\ \}\n\ proc\ figure:move\ \{w\ tag\ x\ y\}\ \{\n\ \ \ global\ g\n\ \ \ set\ x0\ \[\$w\ canvasx\ \$x\]\;\ set\ y0\ \[\$w\ canvasy\ \$y\]\n\ \ \ \$w\ move\ \$tag\ \[expr\ \$x0-\$g(x)\]\ \[expr\ \$y0-\$g(y)\]\n\ \ \ \$w\ raise\ \$tag\n\ \ \ set\ g(x)\ \$x0\;\ set\ g(y)\ \$y0\n\ \}\n\ proc\ canvas:die\ \{w\ x\ y\ args\}\ \{\n\ \ \ upvar\ #0\ g\ opt\n\ \ \ array\ set\ opt\ \{-size\ 25\ -fg\ gold\ -bg\ red\ -mayroll\ 1\}\n\ \ \ array\ set\ opt\ \$args\n\ \ \ set\ s\ \$opt(-size)\n\ \ \ set\ id\ \[\$w\ create\ rect\ \$x\ \$y\ \[expr\ \$x+\$s\]\ \[expr\ \$y+\$s\]\ \\\n\ \ \ \ \ -fill\ \$opt(-bg)\ -tags\ mvg\]\n\ \ \ set\ ::g(\$id,fg)\ \$opt(-fg)\n\ \ \ set\ ::g(\$id,bg)\ \$opt(-bg)\n\ \ \ set\ grouptag\ group\$id\n\ \ \ \$w\ addtag\ \$grouptag\ withtag\ \$id\n\ \ \ set\ ex\ \[expr\ \$x+\$s/10.\]\n\ \ \ set\ ey\ \[expr\ \$y+\$s/10.\]\n\ \ \ set\ d\ \[expr\ \$s/5.\]\;#\ dot\ diameter\n\ \ \ set\ dotno\ 1\ \;#\ dot\ counter\n\ \ \ foreach\ y\ \[list\ \$ey\ \[expr\ \$ey+\$d*1.5\]\ \[expr\ \$ey+\$d*3\]\]\ \{\n\ \ \ \ \ foreach\ x\ \[list\ \$ex\ \[expr\ \$ex+\$d*1.5\]\ \[expr\ \$ex+\$d*3\]\]\ \{\n\ \ \ \ \ \ \ \$w\ create\ oval\ \$x\ \$y\ \[expr\ \$x+\$d\]\ \[expr\ \$y+\$d\]\ \\\n\ \ \ \ \ \ \ \ \ -fill\ \$opt(-bg)\ -outline\ \$opt(-bg)\ \\\n\ \ \ \ \ \ \ \ \ -tags\ \[list\ mvg\ \$grouptag\ \$\{id\}d\$dotno\]\n\ \ \ \ \ \ \ incr\ dotno\n\ \ \ \ \ \}\n\ \ \ \}\n\ \ \ \$w\ bind\ mvg\ <1>\ \{cdie:roll\ %W\ \[%W\ find\ withtag\ current\]\}\n\ \ \ cdie:set\ \$w\ \$id\ \[expr\ int(rand()*6)+1\]\n\ \ \ set\ id\n\ \}\n\ proc\ cdie:set\ \{w\ id\ n\}\ \{\n\ \ \ set\ bg\ \$::g(\$id,bg)\n\ \ \ foreach\ i\ \[\$w\ gettags\ \$id\]\ \{\n\ \ \ \ \ if\ \[regexp\ group\ \$i\]\ \{set\ grouptag\ \$i\;break\}\n\ \ \ \}\n\ \ \ \$w\ itemconfig\ \$grouptag\ -fill\ \$bg\ -outline\ \$bg\n\ \ \ foreach\ i\ \[lindex\ \[list\ \\\n\ \ \ \ \ \{\}\ \{d5\}\ \[random:select\ \{\{d3\ d7\}\ \{d1\ d9\}\}\]\ \\\n\ \ \ \ \ \[random:select\ \{\{d1\ d5\ d9\}\ \{d3\ d5\ d7\}\}\]\ \\\n\ \ \ \ \ \{d1\ d3\ d7\ d9\}\ \{d1\ d3\ d5\ d7\ d9\}\ \\\n\ \ \ \ \ \[random:select\ \{\{d1\ d3\ d4\ d6\ d7\ d9\}\ \{d1\ d2\ d3\ d7\ d8\ d9\}\}\]\ \\\n\ \ \ \ \ \]\ \$n\]\ \{\n\ \ \ \ \ \ \ \$w\ itemconfig\ \$id\$i\ -fill\ \$::g(\$id,fg)\ -outline\ \$::g(\$id,fg)\n\ \ \ \}\n\ \ \ set\ ::g(\$id)\ \$n\n\ \}\n\ proc\ cdie:roll\ \{w\ id\}\ \{\n\ \ \ #\ wiggle:\ amount,\ pick\ one\ of\ eight\ wiggle\ directions\n\ \ \ set\ dwig\ \[expr\ \$::g(-size)/5\]\n\ \ \ regexp\ \{group(\[0-9\]+)\}\ \[\$w\ gettags\ \$id\]\ ->\ id\n\ \ \ for\ \{set\ i\ 10\}\ \{\$i<100\}\ \{incr\ i\ 10\}\ \{\n\ \ \ \ \ cdie:set\ \$w\ \$id\ \[expr\ int(rand()*6)+1\]\n\ \ \ \ \ set\ wig\ \[random:select\ \{0,1\ 0,-1\ 1,0\ -1,0\ 1,1\ -1,1\ 1,-1\ -1,-1\}\]\n\ \ \ \ \ set\ wig\ \[lexpr\ \\\$i*\$dwig\ \[split\ \$wig\ ,\]\]\n\ \ \ \ \ eval\ \$w\ move\ group\$id\ \$wig\n\ \ \ \ \ update\n\ \ \ \ \ set\ wig\ \[lexpr\ \\\$i*-1\ \$wig\]\ \;#\ wiggle\ back\n\ \ \ \ \ eval\ \$w\ move\ group\$id\ \$wig\n\ \ \ \ \ after\ \$i\n\ \ \ \}\n\ \}\n\ proc\ random:select\ L\ \{lindex\ \$L\ \[expr\ int(rand()*\[llength\ \$L\].)\]\}\n\ proc\ lexpr\ \{term\ L\}\ \{\n\ \ \ #\ map\ an\ expr\ term\ to\ each\ element\ \\\$i\ of\ a\ list\n\ \ \ set\ res\ \[list\]\n\ \ \ foreach\ i\ \$L\ \{lappend\ res\ \[eval\ expr\ \$term\]\}\n\ \ \ set\ res\n\ \}\n\ #####################################\n\ \ proc\ NextPlayer\ \{\}\ \{\n\ \ #:\ Move\ Turn-Marker-Button\ to\ position\ of\ next\ player\n\ \ \ \ incr\ ::pos\ 1\n\ \ \ \ switch\ \ --\ \$::pos\ \{\n\ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ \ 35\ \ 95\;\ .b1\ config\ -fg\ blue\ \ \ \}\n\ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ 253\ \ 36\;\ .b1\ config\ -fg\ red\ \ \ \ \}\n\ \ \ \ \ \ \ \ 3\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ 305\ 255\;\ .b1\ config\ -fg\ green4\ \}\n\ \ \ \ \ \ \ \ 4\ \ \ \ \ \ \ \{\ .p\ coords\ \$::bw\ \ 92\ 305\;\ .b1\ config\ -fg\ yellow1\ \;\ set\ ::pos\ 0\ \}\n\ \ \ \ \ \ \ \ default\ \{\ set\ ::pos\ 0\ \}\n\ \ \ \ \}\n\ \ \}\n\ #####################################\n\ \ pack\ \[pachisi\ .p\ -bg\ beige\]\n\n\ \ button\ .b1\ -text\ \"Done\"\ -command\ \{NextPlayer\}\n\ \ set\ bw\ \[.p\ create\ window\ 22\ 14\ -window\ .b1\]\n\ \ set\ pos\ 0\n\ \ NextPlayer\n----\n\n\[HJG\]\ 2007-07-13\ Added\ a\ turnmarker,\ to\ show\ which\ player\ has\ his\ turn\ to\ do.\n\n<<categories>>\ Games} CALL {my revision {A little Pachisi game}} CALL {::oo::Obj764108 process revision/A+little+Pachisi+game} CALL {::oo::Obj764106 process}

-errorcode

NONE

-errorinfo

Unknow state transition: LINE -> END
    while executing
"error $msg"
    (class "::Wiki" method "render_wikit" line 6)
    invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
    (class "::Wiki" method "render" line 8)
    invoked from within
"my render $name $C"
    (class "::Wiki" method "revision" line 31)
    invoked from within
"my revision $page"
    (class "::Wiki" method "process" line 56)
    invoked from within
"$server process [string trim $uri /]"

-errorline

4