Version 24 of Leam Hall

Updated 2002-09-02 20:15:12

What passes for my web site (without any tcl there yet) is:

http://www.reuel.net

26 May 01 My 11th anniversary and I'm here. I've started a project, using a game as a tool to develop my programming skills. Miguel MS helped me work out some coordinate issues, and is also patiently explaining problem decomposition.

In the old RPG 'Traveller', [L1 ] you had a mechanism for space-merchanting. You could have your ship, buy stuff on one planet and sell it on another. You had to deal with crew salaries, maintenance, and capitol costs. Not to mention a big monthly payment on your ship.

27 May 01 Thanks to whomever provided the Traveller link--perfect!

Space Game

Another project is to answer the recurring question of "Which Tcl book should I buy?" There are several out there, and most are good. Here are my perceptions of the books I have personal experience with. My comments are very subjective, so let me know if you have any questions.

Informal Tcl Book Reviews

21 Jun 01

While loitering in the Tcl chat area, several people gave me ideas on how to improve the structure of the Space Game idea, so it is a better learing tool. Here are the thoughts so far.

 More explinations for tricky constructs like the foreach {X Y Z}
 Having a newbie to expert programmer conversation, explaining how and why.
 Keeping the code useable and easily readable.
 Reference other Wiki pages, like the man pages and "Beginning Tcl".

23 Mar 02

I've taken up writing a structured set of tutorial links for newcomers. Although there are quite a few resources to learn The Cool Language, it seems as if there is too much for a new person to digest. What I'm doing is building an entry point. I want to take the individual's self-perception and point to resources that most suit their needs. The start of this is Tcl Tutorial Discussions


 #!/usr/local/bin/wish

 wm title . "Leam's Character Tool"

 set cGeneral [ list name race gender ]
 set cStat [ list str int wis dex con cha ]
 set menu [ list file general combat feats skills languages magic ]

 #### Procedures

 proc upFirst { word } {
    set 1st  [ string toupper [ string range $word 0 0 ] ]
    set rest [ string range $word 1 end ]
    return $1st$rest
 }

 proc statCalc { iStat } {
    set sign +

    if { $iStat > 11 } {
        set out [ expr ( $iStat - 10 ) / 2  ]
    } elseif { $iStat < 10 } {
        set out [ expr ( 11 - $iStat ) / 2 ]
        set sign -
    } else {
        set out 0
    }
     return "$sign$out"
 }


 proc makeStatVars {} {
    global cStat cItemMod statBase

    foreach cItem $cStat {
        if { [ string is integer $statBase($cItem) ] && $statBase($cItem) > 0 } {
        set statMod($cItem) [ statCalc $statBase($cItem) ]
    .fStat.f${cItem}.l$cItemMod configure  -text $statMod($cItem)
    }
    }
 }
 #### end of procedures

 ### Menubar
 frame .mbar -relief raised -bd 2
 pack .mbar

 foreach item $menu {
    menubutton .mbar.$item -text [ upFirst $item ] -underline 0
    pack .mbar.$item -side left
 }

 button .mbar.exit -text Exit -command exit
 pack .mbar.exit

 ####

 #### Character Statistics

 frame .fStat -relief raised -bd 3

 foreach cItem $cStat {
    set cItemMod "*"
    frame .fStat.f$cItem
    entry .fStat.f${cItem}.e$cItem -width 3 -textvariable statBase($cItem)
    label .fStat.f${cItem}.l$cItem -text [ upFirst $cItem ]
    label .fStat.f${cItem}.l$cItemMod -width 4 -text $cItemMod
    bind .fStat.f${cItem}.e$cItem <Return> makeStatVars
    pack .fStat.f${cItem}.l$cItem .fStat.f${cItem}.e$cItem  \ .fStat.f${cItem}.l$cItemMod -side left  -anchor w
    pack .fStat.f$cItem -side top -anchor w
 }


 pack .fStat -side bottom -anchor w

Category Home Page