Tiltboys in Vegas: Six Sigmas Out
Tiltmeter® Source Code
Create your very own tiltmeters using the following tcl/tk source
code. Save this out as "tilt.tcl". Figuring out how to use it is
left as an excercise for the reader. Hope this doesn't put you on
tilt!
proc create_meter {player x y w h e} {
global gl_meter_info
set gl_meter_info($player) $x
.can create rectangle $x $y [expr $x + $w] [expr $y + $h] -fill white -tags meter
set i $y
while {$i < [expr $h + $y]} {
puts stdout "i = $i h = $h e = $e"
set i [expr $i + ($h / $e)]
puts stdout "i = $i"
.can create line $x $i [expr $x + 3] $i -tags meter
.can create line [expr $x + $w] $i [expr $x + $w - 3] $i -tags meter_tick
}
set i $y
set l [string length $player]
set a 0
while {$a < $l} {
set c [string index $player $a]
.can create text [expr $x + ($w / 2)] $i -anchor n -text $c -tags meter_text
incr a
set i [expr $i + 15]
}
}
proc tilt {person pct} {
global gl_meter_info
set x $gl_meter_info($person)
.can delete tilt_$person
.can create rectangle $x 150 [expr $x + 20] [expr 150 - (100 * $pct)] -fill red -tags tilt_$person
.can raise meter_text
.can raise meter_tick
}
proc create_meter_labels {x y h e labels} {
global gl_meter_info
set i $y
set index 0
while {$i < [expr $h + $y]} {
.can create text $x $i -anchor ne -text [lindex $labels $index]
set i [expr $i + ($h / $e)]
incr index
}
.can create text [expr $x + ([llength [array names gl_meter_info]] * 11)] [expr $y + $h + 2] -anchor n -text "Official Tilt Meter"
}
canvas .can -bg lightblue
pack append . .can {top fill expand}
create_meter RAFE 114 50 20 100 5
create_meter BRUCE 136 50 20 100 5
create_meter PERRY 158 50 20 100 5
create_meter STERN 180 50 20 100 5
create_meter JOSH 202 50 20 100 5
create_meter JOHNNY 224 50 20 100 5
create_meter RUSS 246 50 20 100 5
create_meter TONY 268 50 20 100 5
create_meter PHIL 290 50 20 100 5
create_meter DAVE 312 50 20 100 5
create_meter_labels 114 50 100 5 {MEGA-TILT POWER-TILT FULL-TILT TILTED PSEUDO-TILT}
tilt PHIL 0.19
tilt DAVE 0.18
tilt RAFE 0.19
tilt BRUCE 1.0
tilt PERRY 0.2
tilt STERN 0.22
tilt JOSH 0.2
tilt JOHNNY 0.17
tilt RUSS 0.2
tilt TONY 0.18