Posted to tcl by mjanssen at Thu Aug 30 15:38:28 GMT 2007view raw
- proc shuffle list {
- set len [llength $list]
- while {$len} {
- set n [expr {int($len*rand())}]
- set tmp [lindex $list $n]
- lset list $n [lindex $list [incr len -1]]
- lset list $len $tmp
- }
- return $list
- }
- proc range {start end} {
- set res {}
- for {set i $start} {$i<=$end} {incr i} {
- lappend res $i
- }
- return $resr
- }
- proc draw {start end number} {
- lrange [shuffle [range $start $end]] 0 $number-1
- }