<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/9705" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2005-05-27T10:43:26-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/9705</id>

		<entry>
		<author><name><![CDATA[greenbear]]></name></author>
		<updated>2005-05-27T10:43:26-04:00</updated>

		<published>2005-05-27T10:43:26-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=49895#p49895</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=49895#p49895"/>
		<title type="html"><![CDATA[If someone can fix those tcl or get me better]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=49895#p49895"><![CDATA[
its not a eggdrop script, its a desktop game that just happen to have been written in the same scripting language. it has a GUI (frames and windows and buttons to click ..etc), and its not intended for eggdrop whatsoever. It will never work on a eggdrop.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=24">greenbear</a> — Fri May 27, 2005 10:43 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[loozer]]></name></author>
		<updated>2005-05-27T07:40:20-04:00</updated>

		<published>2005-05-27T07:40:20-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=49887#p49887</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=49887#p49887"/>
		<title type="html"><![CDATA[okay]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=49887#p49887"><![CDATA[
then i would like u to join that network and that channel and type !start nick<br>then u can know if its impossible or not<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6274">loozer</a> — Fri May 27, 2005 7:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[^DooM^]]></name></author>
		<updated>2005-05-27T06:48:31-04:00</updated>

		<published>2005-05-27T06:48:31-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=49883#p49883</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=49883#p49883"/>
		<title type="html"><![CDATA[If someone can fix those tcl or get me better]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=49883#p49883"><![CDATA[
As greenbear said its a desktop game. Not all tcl files are eggdrop specific. It would be impossible to play that dot2dot game in an IRC channel using an eggdrop. For other games such as hangman, uno, acro and trivia check the TCL Archive on this site.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3723">^DooM^</a> — Fri May 27, 2005 6:48 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[loozer]]></name></author>
		<updated>2005-05-27T06:44:59-04:00</updated>

		<published>2005-05-27T06:44:59-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=49882#p49882</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=49882#p49882"/>
		<title type="html"><![CDATA[hi there]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=49882#p49882"><![CDATA[
so u have any tcl can play that game there is one game running in irc.beirut.com network in channel games if anyone can give me that tcl i would be thankfull<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6274">loozer</a> — Fri May 27, 2005 6:44 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[greenbear]]></name></author>
		<updated>2005-05-26T19:02:21-04:00</updated>

		<published>2005-05-26T19:02:21-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=49870#p49870</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=49870#p49870"/>
		<title type="html"><![CDATA[If someone can fix those tcl or get me better]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=49870#p49870"><![CDATA[
its not a eggdrop script, its a desktop game.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=24">greenbear</a> — Thu May 26, 2005 7:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[loozer]]></name></author>
		<updated>2005-05-26T18:55:53-04:00</updated>

		<published>2005-05-26T18:55:53-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=49868#p49868</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=49868#p49868"/>
		<title type="html"><![CDATA[If someone can fix those tcl or get me better]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=49868#p49868"><![CDATA[
this is dot game if someone can fix it or tell me how can i make it run on my eggdrop<br><br> ##+##########################################################################<br> #<br> # dot2dot.tcl - a simple dot-to-dot game<br> # by Keith Vetter<br> #<br> # Revisions:<br> # KPV Oct 20, 2002 - initial revision<br> # KPV Feb 28, 2003 - added more puzzles, revamped gui, added sounds<br> #<br> # Sandy Nov 18, 2003 - If you create a directory ~/.dots, you can<br> #         save your own puzzles there.  Also, improved color and an 'Exit' button added.<br> #         Note that, if ~/.dots does not exist, it will not save and will just<br> #         use the default set only.<br><br> package require Tk<br><br> set S(r1) 5                                     ;# Dot size<br> set S(r2) 10                                    ;# Dot size when it's next<br> set S(build) 0                                  ;# Build mode<br> set S(which) -1                                 ;# Which puzzle we're doing<br> set S(out) 1<br> set S(color) black<br> set S(sound) 1<br> set ddata(done) 0<br> set xdots {}<br><br> proc DoDisplay {} {<br><br>    wm title . "Dot 2 Dot"<br>    pack [frame .ctrl -relief ridge -bd 2] \<br>        -side right -fill both -ipady 5<br>    pack [frame .top -relief raised -bd 2] -side top -fill x<br>    pack [frame .screen -bd 2 -relief raised] -side top -fill both -expand 1<br><br>    canvas .c -relief raised -borderwidth 0 -height 600 -width 700 \<br>        -highlightthickness 0<br>    .c xview moveto 0 ; .c yview moveto 0<br>    pack .c -in .screen -side top -fill both -expand 1<br><br>    set colors {red orange yellow green blue cyan purple violet white}<br>    lappend colors [lindex [.c config -bg] 3] black<br>    foreach color $colors {<br>        radiobutton .top.b$color -width 1 -padx 0 -pady 0 -bg $color \<br>            -variable S(color) -value $color -command ReColor<br>        bind .top.b$color &lt;3&gt; [list .c config -bg $color]<br>    }<br>    eval pack [winfo children .top] -side left -fill y<br><br>    focus .c<br>    pack .c -side left -fill both -expand 1<br>    bind .c &lt;Motion&gt; [list MMove %x %y]<br>    bind .c &lt;Button-1&gt; {MDown %x %y}<br>    bind .c &lt;Button-3&gt; {M3Down %x %y}<br>    bind .c &lt;Leave&gt; {.c delete xline}<br>    bind .c &lt;Configure&gt; {ReCenter %W %h %w}<br>    bind .c &lt;Control-s&gt; {ConnectDot 1}<br>    bind .c &lt;Control-a&gt; ConnectDot<br>    bind all &lt;Alt-c&gt; {console show}<br><br>    DoCtrlFrame<br>    return<br> }<br> proc DoCtrlFrame {} {<br><br>    option add *Button.borderWidth 4<br>    button .restart -text Restart -command {DoDots -2}<br>    button .next -text "Next Puzzle" -command {DoDots -1}<br>    button .random -text "Random Puzzle" -command {DoDots -3}<br>    frame .pf -bd [.next cget -bd] -relief raised<br>    label .pl -text " Pick Puzzle"<br>    eval tk_optionMenu .p S(new) [lsort -dictionary [array names ::dots]]<br>    .p config -highlightthickness 0 -bd 0 -width 2<br><br>    frame .bframe -bd 2 -relief ridge<br>    checkbutton .build -text "Build Mode" -variable S(build) -anchor w \<br>        -command ToggleBuildMode<br>    button .done -text Done -command Done<br>    button .clear -text Clear -command Clear<br>    button .copy -text Copy -command Copy<br>    button .undo -text Undo -command {M3Down -1 -1}<br><br>    button .exit -text "Exit" -command {exit}<br><br>    checkbutton .sound -text "Sounds" -relief raised -bd [.next cget -bd] \<br>        -variable S(sound) -padx 10 -anchor w<br>    button .about -text About -command About<br><br>    grid .pf    -in .ctrl -sticky ew -row 0<br>    pack .pl .p -in .pf -side left<br><br>    grid .next  -in .ctrl -sticky ew<br>    grid .random -in .ctrl -sticky ew<br>    grid .restart -in .ctrl -sticky ew<br>    grid .exit -in .ctrl -sticky ew<br>    grid .bframe -in .ctrl -sticky ew -row 11<br>    grid .sound -in .ctrl -sticky ew -row 51<br>    grid .about -in .ctrl -sticky ew<br><br>    place .build -in .bframe -relx .05 -rely 0 -anchor w<br>    grid .clear  -in .bframe -sticky ew -row 2<br>    grid .copy   -in .bframe -sticky ew<br>    grid .undo   -in .bframe -sticky ew<br>    grid .done   -in .bframe -sticky ew<br><br>    grid rowconfigure .ctrl 10 -minsize 50<br>    grid rowconfigure .ctrl 50 -weight 1<br>    grid rowconfigure .bframe 0 -minsize 20<br>    grid rowconfigure .bframe 10 -minsize 5<br>    grid columnconfigure .bframe 0 -weight 1<br><br>    trace variable ::S(new) w PickPuzzle<br>    trace variable ::S(build) w TraceBuild<br>    trace variable ::xdots w TraceXDots<br> }<br> proc ReColor {} {<br>    global S<br><br>    .c itemconfig done -fill $S(color)<br><br>      ;#    .c itemconfig xline -fill $S(color)<br>      ;#    .c itemconfig line -fill $S(color)<br>    .c itemconfig xline -fill black<br>    .c itemconfig line -fill black<br><br>    .c itemconfig dot -fill $S(color) -outline $S(color)<br>    .c itemconfig extra -fill black<br><br>     catch {.c itemconfig extra -outline black}<br><br>    .c lower done<br><br>     update<br> }<br> proc TraceBuild {var1 var2 op} {<br>    if {$::S(build)} {set s normal} {set s disabled}<br>    foreach w {.copy .undo .done .clear} {<br>        $w config -state $s<br>    }<br>    TraceXDots x y z<br> }<br> proc TraceXDots {var1 var2 op} {<br>    if {! $::S(build)} return<br>    set len [llength $::xdots]<br>    array set s {0 disabled 1 normal}<br>    .undo config -state $s([expr {$len &gt; 0}])<br>    .done config -state $s([expr {$len &gt;= 6}])<br> }<br> proc PickPuzzle {arr val op} {<br>    global S<br>    if {$S(new) == $S(which)} return<br>    DoDots $S(new)<br> }<br> proc ReCenter {W h w} {                         ;# Called by &lt;Configure&gt; event<br>    set h [expr {$h / 2.0}]<br>    set w [expr {$w / 2.0}]<br>    $W config -scrollregion [list -$w -$h $w $h]<br> }<br> proc About {} {<br>    tk_messageBox -title About -message \<br>        "Dot 2 Dot\nby Keith Vetter, February 2003"<br> }<br> proc DoDots {which} {                          ;# Install a new puzzle<br>    global dots ddata S<br><br>    if {$which == -2} {                         ;# Reuse last one<br>        set which $S(which)<br>    } elseif {$which == -1} {                   ;# Next one<br>        set names [lsort -dictionary [array names dots]]<br>        set n [lsearch $names $S(which)]        ;# Find which one was last<br>        if {[incr n] &gt;= [llength $names]} {set n 0} ;# Wrap<br>        set which [lindex $names $n]<br>    } elseif {$which == -3} {                   ;# Random<br>        set names [array names dots]<br>        set len [llength $names]<br>        set n [expr {int($len * rand())}]<br>        set which [lindex $names $n]<br>    }<br><br>    set S(build) 0                              ;# Turn off build mode<br>    set S(which) $which                         ;# Remember which puzzle<br>    set S(new) $which<br>    .c delete all<br>    catch {unset ddata}<br>    array set ddata {done 0 last 1 next 2 close 0 xy {}}<br><br>    set cnt 0<br>    foreach {x y} $dots($which) {<br>        if {$x == 999 &amp;&amp; $y == 999} {           ;# Flag to connect to beginning<br>            set ddata(close) 1<br>            break<br>        }<br>        incr cnt<br>        set ddata($cnt) [list $x $y]<br>        lappend ddata(xy) $x $y<br>        DrawOneDot $cnt<br>    }<br>    DoExtra $which<br>    set ddata(end) $cnt<br>    MakeTarget<br> }<br> proc DrawOneDot {n} {<br>    global ddata S<br>    foreach {x y} $ddata($n) break<br>    set xy [MakeBox $x $y $S(r1)]<br>    .c create oval $xy -tag [list dot d$n] -fill $S(color) -outline $S(color)<br>    set x [expr {$x - 3}] ; set y [expr {$y - 3}]<br>    .c create text $x $y -anchor se -text $n -tag n$n<br>    .c raise d$n n$n<br> }<br> proc DoExtra {which} {                          ;# Draws extra lines on puzzle<br>    global extra ddata<br><br>    if {! [info exists extra($which)]} return<br>    set data $extra($which)<br>    set len [llength $data]<br>    for {set i 0} {$i &lt; $len} {} {<br>        set what [lindex $data $i]<br>        set meta [lindex $data [incr i]]<br>        incr i<br>        if {$what == "c"} {<br>            foreach {x y} [lrange $data $i [expr {$i + 1}]] break<br>            .c create oval [MakeBox $x $y $meta] -width 5 -tag extra<br>            incr i 2<br>            continue<br>        }<br>        if {$what == "l" || $what == "L" || $what == "p"} {<br>            if {$what == "p"} {set type polygon} else {set type line}<br>            set last [expr {$i + $meta*2 - 1}]<br>            set xy [lrange $data $i $last]<br>            set n [.c create $type $xy -width 3 -tag extra]<br>            set i [expr {$last+1}]<br>            if {$what == "L"} {eval lappend ddata(xy) $xy}<br>            continue<br>        }<br>    }<br> }<br> proc MakeBox {x y d} {<br>    return [list [expr {$x-$d}] [expr {$y-$d}] [expr {$x+$d}] [expr {$y+$d}]]<br> }<br> proc MMove {x y} {                              ;# Called when mouse moves<br>    global ddata S<br>    if {$S(build) == 1 || $ddata(done)} return<br>    .c delete xline<br>    set x [.c canvasx $x] ; set y [.c canvasy $y]<br>    .c create line [concat $ddata($ddata(last)) $x $y] -tag xline \<br>                                                    -fill $S(color)<br><br>    if {[.c find withtag target] == ""} return<br>    foreach {x1 y1 x2 y2} [.c bbox target] break ;# Target for valid click<br>    if {$x &lt; $x1 || $y &lt; $y1 || $x &gt; $x2 || $y &gt; $y2} {<br>        .c itemconfig target -fill green -outline green<br>        set S(out) 1<br>    } else {<br>        .c itemconfig target -fill red -outline red<br>        if {$S(out) == 1} {<br>            PlaySound enter<br>        }<br>        set S(out) 0<br>    }<br> }<br> proc MDown {x y} {                              ;# Called on mouse click<br>    global ddata dots xdots S<br><br>    set x [expr {int([.c canvasx $x])}] ; set y [expr {int([.c canvasy $y])}]<br>    if {$S(build)} {                            ;# Build dot2dot mode<br>        lappend xdots $x $y                     ;# Add to our list<br>        set ddata([incr ddata(last)]) [list $x $y]<br>        DrawOneDot $ddata(last)<br>        catch {.c coords build $xdots}<br>        return<br>    }<br><br>    if {$ddata(done)} return<br>    foreach {x1 y1 x2 y2} [.c bbox target] break ;# Target for valid click<br>    if {$x &lt; $x1 || $y &lt; $y1 || $x &gt; $x2 || $y &gt; $y2} return<br>    foreach a [after info] {after cancel $a}<br>    PlaySound click<br>    ConnectDot<br> }<br> proc M3Down {x y} {                             ;# Right-click == undo<br>    global ddata dots xdots S<br>    if {$S(build) == 0} return                  ;# Not in build mode<br>    if {$ddata(last) == 0} return               ;# Nothing to undo<br><br>    set xdots [lrange $xdots 0 end-2]           ;# Remove last dot<br>    .c delete xline build d$ddata(last) n$ddata(last)<br>    .c create line -tag build<br><br>    incr ddata(last) -1<br>    if {$ddata(last) &lt;= 0} {                    ;# Completely empty<br>        set S(build) 1<br>        set ddata(last) 0<br>    } elseif {$ddata(last) &gt; 1} {               ;# Some completed lines<br>        .c coords build $xdots<br>    }<br>    if {$x != -1} { MMove $x $y }<br> }<br> proc ConnectDot {{all 0}} {<br>    global ddata S<br><br>    .c delete xline target<br>    while {1} {<br>        .c create line [concat $ddata($ddata(last)) $ddata($ddata(next))] \<br>            -fill black -width 3 -tag line -fill $S(color)<br>        incr ddata(last)<br>        incr ddata(next)<br>        if {$ddata(last) == $ddata(end)} {<br>            DonePuzzle<br>            break<br>        } else {<br>            MakeTarget<br>        }<br>        if {! $all} break<br>    }<br> }<br> proc MakeTarget {} {                            ;# Draws where next click goes<br>    global ddata S<br>    .c delete target<br><br>    foreach {x y} $ddata($ddata(next)) break<br>    set xy [MakeBox $x $y $S(r2)]<br>    .c create oval $xy -tag target -fill green -outline green<br> }<br> proc DonePuzzle {} {<br>    global ddata dots S<br><br>    set ddata(done) 1<br>    if {$ddata(close)} {<br>        eval .c create line $ddata($ddata(last)) $ddata(1) -fill black -width 3<br>    }<br>    .c delete target<br> ;#   .c create poly $ddata(xy) -tag done -fill yellow<br>    .c create poly $ddata(xy) -tag done -fill $S(color)<br>    .c lower done<br><br>    # Add to our pick puzzle widget<br>    destroy .p<br>    eval tk_optionMenu .p S(new) [lsort -dictionary [array names ::dots]]<br>    .p config -highlightthickness 0 -bd 0 -width 2<br>    pack .p -in .pf -side right<br> }<br> proc ToggleBuildMode {} {<br>    if {$::S(build)} {<br>        GoBuildMode<br>    } else {<br>        set n [Done]                            ;# Finish off this build<br>        if {! $n} {<br>            DoDots -2<br>        }<br>    }<br> }<br> proc GoBuildMode {{ifile ""}} {<br>    Clear<br>    set ::S(build) 1<br><br>    catch {image delete d2d}<br>    if {$ifile != ""} {<br>        image create photo d2d -file $ifile<br>        .c create image 0 0 -anchor c -image d2d -tag image<br>        .c lower image<br>    }<br> }<br> proc Clear {{all 1}} {<br>    global xdots ddata<br><br>    .c delete done target xline<br>    if {$all} {.c delete all}<br>    catch {unset ddata}<br>    set ddata(last) 0<br>    set ddata(done) 0<br>    set xdots {}<br>    .c create line -tag build<br>    catch {image delete d2d}<br> }<br> proc Copy {} {<br>    global dots ddata xdots<br><br>    regsub -all {\.0} $xdots {} xdots<br>    clipboard clear<br>    clipboard append $xdots<br>    set len [expr {[llength $xdots] / 2}]<br>    set ddata(last) 0<br>    set ddata(done) 0<br>    set xdots {}<br> }<br> proc Done {} {<br>    global dots extra xdots<br>    if {[llength $xdots] &lt;= 3} {return 0}<br><br>    for {set cnt 1} {1} {incr cnt} {<br>        set name "n$cnt"<br>        if {! [info exists dots($name)]} break<br>    }<br><br>    set dots($name) $xdots<br>    lappend dots($name) 999 999<br>    set extra($name) {}<br>    Copy<br>    DoDots $name<br><br>    SaveShape $name<br><br>    return 1<br> }<br> proc ScaleIt {n s} {<br>    global dots extra<br><br>    set d2 [set e2 {}]<br>    foreach {x y} $dots($n) {<br>        if {$x != 999} {<br>            set x [expr {round($x * $s)}]<br>            set y [expr {round($y * $s)}]<br>        }<br>        lappend d2 $x $y<br>    }<br>    foreach {x y} $extra($n) {<br>        if {[string is double $x]} {<br>            set x [expr {round($x * $s)}]<br>            set y [expr {round($y * $s)}]<br>        }<br>        lappend e2 $x $y<br>    }<br>    set dots($n) $d2<br>    set extra($n) $e2<br>    DoDots $n<br>    clipboard clear<br>    clipboard append "set dots($n) {$d2}\n"<br>    clipboard append "set extra($n) {$e2}\n"<br> }<br><br> proc Shapes {} {<br>  global dots extra totalcount env<br><br>    set h $env(HOME)<br><br>    set home [file join $h ".dots"]<br>    set fname [file join $home "count"]<br><br>    if [file exists $fname] {<br>        set chan [open $fname "r"]<br>        set tcount [read $chan]<br>        regsub -all {\n} $tcount "" totalcount<br>        close $chan<br><br>        for {set i 0} {$i &lt; $totalcount} {incr i} {<br>            set fname [file join $home "dot.$i"]<br>            source $fname<br>        }<br><br>    }<br>  ;#      puts "debug: loading defaults"<br>  DefShapes<br><br> }<br> proc SaveShape {name} {<br>    global env totalcount dots<br>    set h $env(HOME)<br>    set fout [file join $h ".dots" "dot.$totalcount"]<br><br>    set str1a "set dots($totalcount) {"<br>    set str1b "}"<br>    set str2 "set extra($totalcount) {}"<br><br>    set chan [open $fout "w"]<br>    puts $chan $str1a<br>    puts $chan $dots($name)<br>    puts $chan $str1b<br>    puts $chan $str2<br>    close $chan<br><br>    incr totalcount<br>    set fname [file join $h ".dots" "count"]<br>    set chan [open $fname "w"]<br>    puts $chan $totalcount<br>    close $chan<br><br>    # now update the menu gadget<br>    destroy .p<br>    eval tk_optionMenu .p S(new) [lsort -dictionary [array names ::dots]]<br>    .p config -highlightthickness 0 -bd 0 -width 2<br>    pack .p -in .pf -side right<br><br> }<br> proc DefShapes {} {<br>    global dots extra totalcount<br><br>    set i $totalcount<br><br>    set dots($i) {-286 -8 -242 -18 -217 -37 -191 -66 -176 -89 -173 -133 -146<br>        -132 -103 -106 -51 -134 -2 -147 56 -156 136 -156 222 -132 248 -137<br>        288 -177 297 -176 293 -147 280 -119 298 -95 298 -69 309 -32 310 29<br>        270 110 233 223 177 231 157 156 80 152 0 152 -54 231 -104 231 -107<br>        135 -174 115 -227 88 -284 38 999 999}<br>    set extra($i) {c 12 -118 -36<br>        l 5 -129 127 -116 122 -93 110 -78 92 -65 67<br>        l 12 294 -180 308 -186 317 -195 315 -201 306 -208 297 -214 294 -225 304<br>        -233 316 -234 321 -220 318 -218 309 -219}<br>    incr i<br>    set dots($i) {34 -114 57 -133 90 -145 145 -139 208 -91 224 -30 221 45 196 117<br>        129 199 59 241 26 235 -7 228 -45 239 -110 207 -163 149 -191 66 -197 -19<br>        -161 -90 -112 -131 -45 -138 -6 -108 999 999}<br>    set extra($i) {<br>        l 11 -99 -87 -111 -77 -130 -54 -139 -38 -151 -11 -159 22 -165 -3 -162<br>             -27 -151 -55 -134 -73 -99 -87<br>        p 20 36 -233 26 -217 20 -202 15 -182 14 -160 18 -124 23 -99 20 -92 16<br>             -80 8 -77 5 -96 -2 -119 -7 -152 -8 -173 -5 -203 0 -231 11 -253 16<br>             -241 26 -232 36 -233<br>        l 14 8 -88 -14 -98 -7 -85 -15 -76 -25 -76 -2 -73 1 -58 10 -75 23 -65 26<br>             -79 46 -79 30 -88 39 -98 21 -96<br>    }<br>     incr i<br>   set dots($i) {-106 -114 -94 -153 -51 -174 -11 -160 7 -131 6 -87 -28 -26 22<br>        -28 75 -13 100 -69 119 12 96 55 43 81 -34 88 -91 61 -111 11 -83 -46 -80<br>        -72 -128 -58 -166 -85 999 999}<br>    set extra($i) {<br>        p 6 -75 -124 -72 -119 -74 -111 -77 -109 -82 -116 -81 -123<br>        p 4 -67 -137 -63 -126 -60 -130 -65 -141<br>        l 7 -144 -70 -133 -71 -119 -71 -108 -76 -98 -87 -102 -90 -96 -86<br>        l 6 -39 10 -23 43 0 48 37 46 55 37 66 20<br>        l 4 8 26 29 29 44 26 55 21<br>        l 3 10 15 27 16 47 14<br>        l 18 -107 62 -122 68 -131 79 -126 86 -115 90 -98 96 -71 101 -36 103 -6<br>             105 35 105 70 103 97 99 132 93 151 86 160 82 162 78 156 75 137 72<br>        l 22 -144 71 -158 77 -172 83 -182 90 -188 98 -181 103 -158 110 -119 119<br>             -81 122 -53 124 -20 126 -4 131 28 131 55 131 83 127 119 124 149 120<br>             175 110 187 106 189 100 184 96 177 94<br>        l 16 -146 134 -138 138 -126 140 -115 143 -95 143 -62 146 -42 144 -30 146<br>             -13 150 20 151 53 153 100 150 117 149 155 148 169 144 171 137<br>        l 6 -208 -19 -198 -20 -187 -26 -184 -23 -174 -19 -170 -19<br>        l 5 -182 -14 -169 -18 -153 -25 -149 -23 -132 -21<br>        l 5 -145 -15 -132 -17 -121 -23 -115 -20 -108 -22<br>        l 17 -159 -225 -151 -222 -127 -224 -110 -224 -96 -222 -80 -221 -72 -227<br>             -55 -227 -45 -230 -60 -232 -75 -232 -85 -236 -102 -237 -117 -237<br>             -127 -234 -148 -232 -159 -225<br>    }<br>    incr i<br>    set dots($i) {-231 -76 -211 -95 -188 -78 -162 -110 -116 -119 -69 -138 14 -130<br>        3 -158 45 -155 37 -187 81 -184 69 -201 111 -212 113 -247 152 -225 171<br>        -259 175 -223 199 -208 233 -152 235 -126 221 -116 155 -144 127 -68 131<br>        -37 115 -6 138 70 120 93 125 165 138 190 132 207 151 222 160 240 127 240<br>        119 221 107 204 91 108 62 116 37 125 9 139 -17 123 8 97 24 109 51 103 80<br>        84 52 31 38 3 -17 -21 -40 -17 -81 27 -100 57 -93 132 -83 158 -87 176<br>        -59 194 -49 210 -93 211 -100 186 -114 173 -116 142 -129 66 -134 25<br>        -104 -17 -122 -67 -113 -103 -137 -85 -187 -38 -208 -44 -225 -60 999 999}<br>    set extra($i) {l 4 169 -243 163 -230 163 -225 160 -220<br>        l 4 156 -143 148 -146 143 -154 139 -165<br>        l 7 153 -227 140 -220 127 -208 107 -188 85 -156 68 -144 15 -128<br>        l 7 192 -181 191 -193 185 -197 176 -195 169 -189 175 -182 192 -181<br>        l 3 -47 -71 -45 -51 -33 -30<br>        l 9 104 -29 103 -21 98 -14 91 -4 92 10 97 20 100 47 102 63 116 96<br>    }<br>    incr i<br>    set dots($i) {<br>        -257 -39 -239 -90 -205 -130 -149 -154 -87 -155 -25 -145 17 -121 -6 -156<br>        -23 -203 14 -201 46 -195 41 -220 95 -199 134 -161 152 -113 195 -86 223<br>        -65 244 -38 266 -9 260 17 237 38 205 55 168 58 122 48 144 96 195 103 226<br>        115 224 149 205 173 182 180 152 177 110 161 63 136 37 98 -15 97 -54 90<br>        -83 74 -104 100 -127 115 -129 134 -79 131 -30 130 12 140 27 174 4 179<br>        29 205 -31 221 -101 223 -176 222 -227 218 -263 207 -262 175 -212 115<br>        -244 91 -259 63}<br>    set extra($i) {l 6 122 47 107 76 121 104 156 119 199 122 223 148<br>        l 7 -132 -36 -104 -23 -86 -3 -76 21 -73 44 -77 60 -83 73<br>        l 11 -128 115 -147 118 -165 126 -177 141 -180 159 -167 167 -138 174<br>        -97 174 -55 174 -28 173 3 177<br>        c 2 193 -34 c 5 193 -34 c 8 193 -34<br>        l 4 18 -122 40 -106 61 -95 95 -88<br>        l 8 -24 -204 -5 -184 20 -164 52 -140 86 -120 111 -108 122 -105 127 -99<br>        l 7 47 -196 62 -185 79 -175 93 -162 108 -146 123 -128 140 -104<br>        l 5 263 17 254 20 247 20 242 15 241 7<br>        l 7 265 -11 257 -19 249 -11 248 -1 253 7 261 6 265 -8<br>        L 27 -259 63 -266 69 -275 65 -282 58 -275 48 -281 48 -289 46 -282 40<br>             -291 36 -295 31 -289 21 -300 18 -298 11 -293 7 -297 1 -294 -2 -289<br>             -6 -297 -15 -293 -21 -289 -25 -296 -32 -293 -39 -280 -42 -279<br>            -47 -271 -54 -263 -49 -257 -39}<br>    incr i<br>    set dots($i) {84 -133 72 -93 77 -51 110 -6 104 38 86 77 115 129 123 205 88<br>        266 20 289 -38 275 -86 257 -128 209 -130 136 -115 99 -87 62 -102 23<br>        -107 -21 -68 -66 -75 -118 -75 -144 -110 -150 -62 -188 -93 -242 -42 -262<br>        56 -266 68 -198 115 -167 72 -161 999 999}<br>    set extra($i) {<br>        l 8 -87 61 -70 80 -50 94 -19 104 11 104 41 101 67 92 86 77<br>        l 5 -59 -59 -40 -45 -6 -28 33 -27 59 -38 75 -52<br>        p 8 -34 -59 -12 -49 15 -45 41 -49 50 -63 34 -59 14 -55 -5 -56<br>        p 9 -38 -175 -5 -171 28 -176 45 -177 59 -185 56 -190 39 -185 11 -186<br>            -18 -177<br>        p 9 -7 -113 -19 -117 -11 -131 3 -129 9 -119 10 -106 -1 -96 -13 -97<br>            -18 -106<br>        p 9 48 -118 36 -121 42 -133 55 -134 62 -123 60 -113 55 -104 42 -102<br>            36 -110<br>        p 14 108 5 210 34 231 27 242 25 243 34 230 41 239 46 258 50 253 59 215<br>             54 219 64 213 69 173 39 105 17<br>        p 15 -106 -12 -138 -9 -154 -12 -170 -6 -177 -6 -229 -29 -235 -20 -212<br>              -5 -250 1 -250 9 -230 12 -238 23 -230 31 -207 10 -104 4<br>        l 8 60 -79 30 -104 16 -100 7 -88 9 -74 14 -68 29 -68 60 -79}<br>    incr i<br>    set dots($i) {-10 145 -57 165 -94 150 -116 121 -112 80 -75 54 -31 59 -86 -3<br>        -106 -69 -92 -131 -54 -155 -20 -115 3 -162 48 -182 82 -212 124 -219 153<br>        -199 164 -162 164 -115 155 -42 132 13 145 35 138 60 117 77 112 101 94<br>        120 57 129 50 148 66 203 113 189 121 198 64 231 54 209 38 154 15 154<br>        -29 205 -29 226 -92 195 -83 182 -42 203 4 151 1 102 999 999}<br>    set extra($i) {<br>        c 2 -40 104 c 2 -77 89<br>        l 6 -33 124 -45 140 -63 142 -88 130 -95 119 -93 107<br>        l 4 -55 123 -57 115 -66 111 -76 116<br>        l 11 0 100 -4 84 -13 71 -32 57 -26 61 -13 46 0 38 8 37 25 40 21 64 23 90<br>        l 23 48 -183 42 -172 36 -158 33 -143 34 -129 37 -121 28 -126 14 -129 2<br>             -126 -8 -118 -17 -109 -21 -93 -22 -73 -18 -56 -12 -38 1 -7 13 13<br>             6 26 8 37 5 25 13 12 30 35 24 40<br>        l 7 28 101 44 100 61 91 87 76 105 56 122 34 133 13<br>        l 4 56 128 59 117 62 105 60 90<br>        l 3 118 76 113 69 103 58<br>    }<br>    incr i<br>    set dots($i) {-6 -15 18 0 88 -4 96 100 156 165 108 219 135 172 72 109 79 20<br>        18 23 -17 3 -19 43 43 137 6 212 24 137 -35 53 -34 2 -77 58 -58 99 -118<br>        162 -88 227 -142 165 -81 96 -101 45 -51 -11 -124 41 -110 80 -155 99 -131<br>        77 -135 26 -69 -28 -143 -36 -134 -150 -144 -204 -111 -157 -124 -47 -84<br>        -46 -99 -141 -58 -224 -84 -146 -69 -60 -52 -75 -59 -137 -28 -192 38 -194<br>        89 -162 87 -99 40 -50 999 999}<br>    set extra($i) {<br>        l 10 62 -94 56 -87 42 -84 32 -92 22 -97 11 -97 -1 -92 -10 -96 -12 -105<br>             -6 -110<br>        c 5 6 -140 c 5 56 -115<br>    }<br>    incr i<br>    set dots($i) {-97 -46 -126 46 -91 111 -95 231 -129 267 -84 267 -66 253 -57<br>        151 -34 210 -4 234 -48 267 95 267 108 249 151 244 172 207 176 134 200<br>        36 190 -20 162 -69 127 -31 108 13 141 105 139 161 81 22 13 -97 45 -95<br>        36 -130 1 -160 -13 -192 -50 -218 -70 -252 -85 -244 -80 -207}<br>    set extra($i) {l 7 -29 192 -31 169 -22 153 -10 136 14 129 31 130 45 136<br>        p 4 -4 -137 3 -118 32 -106 18 -129 c 3 -39 -171<br>        L 9 -80 -207 -99 -238 -112 -239 -112 -220 -108 -196 -109 -175 -109 -150<br>            -108 -113 -97 -46}<br>    incr i<br>    set dots($i) {-72 102 -98 161 -107 207 -122 219 -122 236 -81 240 -47 227<br>        -53 189 -30 147 -3 206 -21 237 10 255 39 254 51 234 46 162 36 111<br>        94 129 76 191 67 212 108 227 129 206 139 162 157 134 213 177 199 218<br>        234 230 265 218 252 150 211 105 232 24 187 -37 139 -69 91 -72 85 -96<br>        39 -108 -3 -108 -42 -133 -126 -127 -164 -148 -179 -184 -164 -201 -144<br>        -199 -134 -183 -125 -201 -138 -222 -167 -226 -191 -213 -204 -180 -197<br>        -145 -183 -123 -171 -103 -155 -84 -185 -75 -122 -45 -99 -33 -68 6 -71 78<br>        999 999}<br>    set extra($i) {c 10 -95 -108<br>        l 12 -75 -95 -32 -104 6 -98 18 -83 23 -70 22 -54 4 -36 -16 -20 -35 -11<br>        -56 -11 -67 -20 -76 -40}<br>    incr i<br>    set dots($i) {-268 -8 -272 -39 -244 -80 -177 -120 -121 -132 -70 -196 -33<br>        -224 13 -220 -14 -176 -25 -120 41 -98 107 -42 161 34 183 84 208 94 262<br>        93 293 113 281 126 226 150 202 186 191 218 163 198 155 168 158 120 117<br>        73 49 29 -2 12 -49 8 -53 41 -16 83 -62 88 -80 83 -110 57 -152 29 -207<br>        39 -239 31}<br>    set extra($i) {<br>        l 5 -146 22 -133 22 -124 18 -115 18 -96 15<br>        L 7 -239 33 -300 68 -313 67 -319 52 -312 42 -268 0 -267 -9<br>        l 3 -239 29 -224 -4 -267 -4<br>        l 5 -257 18 -256 23 -260 33 -272 43 -287 59<br>        l 4 -222 -28 -212 -43 -203 -48 -195 -49<br>        l 6 -219 -37 -218 -27 -207 -25 -204 -32 -208 -40 -219 -37<br>        c 2 -212 -30<br>        l 6 -205 -93 -212 -89 -211 -81 -200 -84 -191 -93 -201 -97<br>        l 17 -139 -42 -117 -47 -67 -46 -33 -43 14 -33 47 -17 81 8 119 41 153 76<br>             176 108 185 124 201 135 214 142 220 141 211 130 204 118 197 114<br>    }<br> }<br><br> proc DoSounds {} {<br>    set ::S(sound) 0<br>    .sound config -state disabled<br><br>    if {[catch {package require base64}]} return<br>    if {[catch {package require snack}]} return<br><br>    .sound config -state normal<br>    foreach e {snd_click snd_enter} {<br>        sound $e<br>        regsub -all { } [set ::$e] {} b64data<br>        $e data [::base64::decode $b64data]<br>    }<br>    set ::S(sound) 1<br> }<br> proc PlaySound {what} {<br>    if {! $::S(sound)} return<br>    set snd "snd_$what"<br>    if {[info commands $snd] == ""} return<br>    after 1 [list $snd play -blocking 0]<br> }<br> set snd_click {<br>    UklGRrEHAABXQVZFZm10IBAAAAABAAEAESsAABErAAABAAgAZGF0YY0HAAB/f39/gICAgICAgICA<br>    f39/fn9/f4CAgICAf3+AgICBgYGBf359fX5/gIGChISEgX14dXZ6f4OFiIuMiYB2bm52foSHio+S<br>    k4x+bWBXY3mHjY2NlZqSg3NtcXp6eHd5goqLiY6Nf2tqeIKLnLGrhmJCOWF8h4+xvJJ3WTJTeX6E<br>    ja+/mH1qUE5lfoKIlsK6h3tbL2l/go28xIR9Qz15gIq9w31+Qjp2f4a0y4yBbkM9b3mDls6zgnY3<br>    Q3d5goWSp8yxjoF4VRlVc3iHvdGGhVYlWnt6o9irf4NAKmh2fpnYuYOLRytleX2w2KKGg0cpYnZ9<br>    sdaiiXc7Qmx0jsbAknUvT32Dw7uhhXo+NGF1g7LPpoqEWj9GYXV+jK3gq4+FVihab3uJv9OWjXdE<br>    MmJxjqGsr4xqXm96iH1zflphcoqyv4xvaVNpiZSAf4qCgIiloJh+TFRja259nbiphnxnbGJfdpKX<br>    maKPbl1fX26JnKOYe3BiaXqMinyHgn18fYeAe29xiot2fYiIi4h7dn+Fl6eMamNmcYGFg5Gbjn56<br>    cHVzdYWXnpB+bmhgdIibqqWHbFpUYnGHm6igjXlrX1hohJWkjnd2e397en1/b2NufYKSoqqUe2hb<br>    VVtte5KjpKKhgmFaZ3B3f5GclYp/gnxyamdwgIyapaGOgXFdaHeBhYN9h5eMjImBfm1pfIJ/g46W<br>    iXx1cm92gYeKkZeNf3h7fGhbaHmAkamqnIt1X09Vb3+PoqSQhXFcYXGAhI+moYp2alZRbIKLm62t<br>    mHtkTk9hc4KVpKmehHBlXmh4hI6TlpOMdmpnaHOBi5OUjoRwcG5tfIWLj5GPgXl8fXyChICDeWpt<br>    d3qCiYyLjI2BfYJ9d3d3fIB/h4h+enh+g4OHhoKAeXV5gIOCgoOAfHd7gYeNj4+LgXNsam12foOM<br>    jYqLhoB+eXqDhYeMhHVtam55h4yNjYd/fH18fH6AgYGCgoWJhnxxbnR8g4uQjIN7eXt5e36AgYGE<br>    h4N8eXp+goSEg358e3l7gIGEh4WDgHl3eHqAhYeIhoJ7dnV3fYKEhoWDgHt8gYSGhX95dXV3fYSJ<br>    iYWDfXl6e31+gYSEg4SCfXp4d3Z5gYmNjIh+c3F0e4OHiYuKhX56eHh5fYGDg4F/fn1/hYaDgX16<br>    eHl9gIOFh4mGgHx6d3Z6gYaJiIWCfXl4eXyBhIOBfn+Cg4SFg396dHJ0eoOLjouFgH57e36AgH58<br>    enp7fYCFioiFgX17ent9fH+Cg4F/fn+Af3+AgYODg4OBfnt4d3l8foGFiYmGg4F/e3h2d3uAhIaH<br>    hYJ+e3t+gIGChIOAfXp5eXt+gIOFhoOCg4F+fX19fXx8fX6AgYKDgX9/goOCgH58e3l5fICDhYaF<br>    g4B9fn9+fXx8fH6AgoSFhYKAfnp6e35/gYKDgoB/f3+AgIGCgICAgIGBfnp4eHyAhouNi4V8c29x<br>    eYGIjY2Gfnh1eHyBg4ODg4F+fX5+fXt7fYCEiImGgXx2dHd9g4eIh4WBfXp5e36ChoaDf3p4eXx+<br>    gYWGhYKAfXp7fH6Ag4SDf318fH1+gYSEgoB9fH1/goODgYB9e3t8gISIiIaAenZ2eX2Ch4qIhYB6<br>    d3h6foGFh4aDgH17ent9f4GCg4OCgX9+fX19fXx9gIKEhYSBfnt6enx/g4SDgYB/fn59fX1+gIGB<br>    goOCf3x7fH1/gYODgH9/f39/gYGAf318e31/goOEhIJ/fHp6fYCDhYWDf3x6e32Ag4WFhIF+fHt8<br>    fX+AgYOEhIF/fHp6fYGEhYWDf3t6e32Ag4aGg397enp7foCCg4OCgH9+fn5+f4CBgYGAf359fX5+<br>    foGDhIWFgn57eHh6foKFhoSAfHp6fICEh4eDfnp4eHt/goSFhIF+fHx9gIKDgoF/fXx8fn+BgoKC<br>    gYCAf359foCAgYB/fn9/f4CBgYB+fn+AgYKCgX99fX1+gIGCgoGAfn18fX5/gYOEg4F+fHt7fX+C<br>    g4OCgH58fHx+gIOEhIOBfnx7e31/gYOEhIKAfXx8fn+AgYGAf35+f3+BgoKBgH99fX5/gIGBgYB/<br>    fn1+f4GDg4OAfnx8fH6AgoODgX59fX5/gYGBgIB/f3+AgYGBgH9+fn5/f4CAgICAgH9+fX5+gIGC<br>    goF/fn19fX+AgoKCgYB/fn19foCBgoKAf359fn5/gIGBgIB/f39+fn5+f4CBgoKBgH9+fX1+gIGB<br>    gYGAgH9/fn9/f39/f3+AgICAgICAgIB/f39/f4CAgICAgICAgYCAf35+f39/gIGAgH9+fn5/gIGC<br>    goB/fn1+fn+AgYGAf39/f3+AgICAgIB/f39/f3+AgICAgICAgH9/fn5/f4CAgIB/f39/gICAgIB/<br>    f35+fn9/gIGBgIB/f39/f39/f39/f39/f4CBgYGBgH9+fX1+gIGCgoGAfn5+fn+AgYGAf35+fn5/<br>    gIGBgYB/f35+f3+AgICAf39/f3+AgICAgH9/f39/gICAf39/f3+AgICAgICAf39/f3+AgICAgICA<br>    f39/f39/gICAgIB/f4CAgH9/f39/f3+AgICAgICAf39/f4CAgICA<br> }<br> set snd_enter {<br>    UklGRkACAABXQVZFZm10IBAAAAABAAEAESsAABErAAABAAgAZGF0YRwCAACA<br>    gId0ZHZbU5aMj7/MsIZ6UX6nWIiITWiIRUGUlZesvrGCiKiKTl96Fit3YF5e<br>    mrGHqcqhlJuAdWxgW01EbWSHubW1uJ2MkqGPYFVSamtvgHmEh5ybraWLkHp5<br>    Xm5oWGRvb3WSlYqMi4+JhY6Ac25xdXp5jYR/hoODdIN8e356goCHgoqGgIV/<br>    g35/d3N2eHZ6gIOIgouHioaNioGAfHpycHp2dH2HiouNiYiKhIF9enZzd3l+<br>    dX2BgYKIjoaJhIJ/fX6AfHl8fICAgICEgISFhYF/gH+AfIJ/gH6AfX6AfICA<br>    fYB+gn2DfoGAgIOAgYB8e3x9gIKChYCDgIN/g32Afn+BgIF+gH+BgIOAgX2C<br>    fYGAgIB/gH9/fIB/gICBgH+Df4KAgIB9gHuBfYKAgoCAhICDgIN+gH+Af4CA<br>    gIGAg4CFgIOAgICAgH9/f32AfoF/gn+BgICAf4B/gICAgICAgIKAgYCAgH+A<br>    fYB8f4CAgoGBgIKBgHt0cnqEi4yIhoKHioOBeoF+gHRvbW10eYSHhoyMmI+P<br>    hIF5dm9tbW92fICJjpKRkY6JhHx5b2xlbnWAhYeOjpSQkIiAe3R1cnNzdnx/<br>    gomLj4yJhICAfHp3d3d6fYKDhoKGgIeAhX1/eXt9foCAg4GCg4CDfYF6gHmA<br>    fYCBgIR/h4CEf4B9fn98gHuEfYV/g4CAgn6Fe4R6gn1/gHuDe4V+g4CAgn8=<br> }<br><br> ################################################################<br> set totalcount 0; # initialize global to no images loaded yet<br> Shapes                                          ;# Load all our dot2dot shapes<br> DoDisplay<br> DoSounds<br> DoDots -3                                       ;# Pick and show a puzzle<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6274">loozer</a> — Thu May 26, 2005 6:55 pm</p><hr />
]]></content>
	</entry>
	</feed>
