[Keith Vetter] : 2006-08-28 : Here's a visual puzzle: count the number of children in the picture then slide the scale to the other side to swap the top halves. Now how many children are there? [AMG]: Arrgh, I sprained a ligament in my brain! [HJG] Added a checkbutton to show hints. ---- ##+########################################################################## # # Vanishing Child # by Keith Vetter, August 28, 2006 package require Tk set S(title) "Vanishing Child" set S(step) 0 set S(help) { Count how many children are in the picture. Then slide the scale to the other side to swap the top halves. Now how many children are in the picture?} proc Hint1 {w} { #: Hints: number the childs if {$::cb == 0} {.c delete "h"; return} $w create text -280 -66 -text "1" -tag "h r" $w create text -240 -20 -text "2" -tag "h" $w create text -200 -1 -text "3" -tag "h" $w create text -140 -40 -text "4" -tag "h" $w create text -90 -10 -text "5" -tag "h" $w create text -45 -70 -text "6" -tag "h r" $w create text 5 -25 -text "7" -tag "h" $w create text 45 -10 -text "8" -tag "h" $w create text 115 -60 -text "9" -tag "h" $w create text 150 -10 -text "10" -tag "h" $w create text 210 -66 -text "11" -tag "h r" $w create text 245 -38 -text "12" -tag "h" $w create text 290 -10 -text "13" -tag "h" $w create text -25 100 -text "14" -tag "h" $w create text 195 95 -text "15" -tag "h" .c itemconfig "r" -fill red } proc DoDisplay {} { global P S wm title . $S(title) canvas .c -width 750 -height 420 -bd 2 -relief ridge -bg green4 ShadedText .c 0 -120 deepskyblue black \ -font {Times 42 bold} -anchor s -tag title -text $S(title) bind .c {ReCenter %W %h %w} CreateImages .c create image $P(vc,x) $P(vc,y) -image ::img::vc -tag vc -anchor nw foreach {x0 y0 x1 y1} [.c bbox vc] break .c create rect $x0 $y0 [incr x1 -1] [incr y1 -1] -outline black .c create image $P(vc1,x1) $P(vc1,y1) -image ::img::vc1 -tag vc1 -anchor nw .c create image $P(vc2,x1) $P(vc2,y1) -image ::img::vc2 -tag vc2 -anchor nw frame .bottom scale .sc -from 0 -to 100 -orient h -variable S(step) \ -command WhereTo -showvalue 0 button .? -text "?" -command About .? config -font "[.? cget -font] bold" checkbutton .cb -text "!" -command [list Hint1 .c] .cb config -font "[.cb cget -font] bold" pack .bottom -side bottom -fill x -expand 1 pack .sc -in .bottom -side left -expand 1 -pady 10 place .? -in .bottom -relx .99 -rely .5 -anchor e place .cb -in .bottom -relx .01 -rely .5 -anchor w pack .c -fill both -expand 1 -side top } proc ReCenter {W h w} { ;# Called by configure event set h2 [expr {$h / 2}] ; set w2 [expr {$w / 2}] $W config -scrollregion [list -$w2 -$h2 $w2 $h2] } proc CreateImages {} { global P S image create photo ::img::vc1 image create photo ::img::vc2 ::img::vc1 copy ::img::vc -from 1 1 240 136 ::img::vc2 copy ::img::vc -from 240 1 619 136 ::img::vc put [.c cget -bg] -to 1 1 619 136 set w [image width ::img::vc] set h [image height ::img::vc] set w1 [image width ::img::vc1] set w2 [image width ::img::vc2] set P(vc,x) [expr {-$w/2}] ;# Where vc goes set P(vc,y) [expr {-$h/2}] set P(vc1,x0) [expr {$P(vc,x) + 1}] ;# Where vc1 starts set P(vc1,y0) [expr {$P(vc,y) + 1}] set P(vc1,x1) [expr {$P(vc,x) + $w - $w1 - 1}] ;# Where vc1 ends set P(vc1,y1) $P(vc1,y0) set P(vc2,x0) [expr {$P(vc,x) + $w - $w2 - 1}] ;# Where vc2 starts set P(vc2,y0) $P(vc1,y0) set P(vc2,x1) [expr {$P(vc,x) + 1}] ;# Where vc2 ends set P(vc2,y1) $P(vc1,y0) } # See http://wiki.tcl.tk/ShadedTextOnCanvas proc ShadedText {w x y fg bg args} { set cbg [ $w cget -bg ] eval [list $w create text $x $y -fill $bg] $args eval [list $w create text [incr x -2] [incr y -2] -fill $cbg] $args eval [list $w create text [incr x -1] [incr y -1] -fill $fg] $args } proc About {} { set msg "$::S(title)\nby Keith Vetter, August 2006\n$::S(help)" tk_messageBox -message $msg -title "About $::S(title)" } proc WhereTo {args} { global P S set xpos $S(step) set ypos [expr {$S(step) <= 50 ? $S(step) : 100-$S(step)}] set x [expr {$P(vc1,x0) + ($P(vc1,x1) - $P(vc1,x0)) * $xpos / 100.0}] set y [expr {$P(vc1,y0) + $ypos}] .c coords vc1 $x $y set x [expr {$P(vc2,x0) + ($P(vc2,x1) - $P(vc2,x0)) * $xpos / 100.0}] set y [expr {$P(vc2,y0) - $ypos}] .c coords vc2 $x $y } image create photo ::img::vc -data { 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 4MCCBxMubPgw4sSKF9OMAAA7} ################################################################ DoDisplay return ---- [Category Optical Illusion] - [Category Toys]