Posted to tcl by aspect at Thu May 19 02:36:34 GMT 2011view pretty

#!/usr/bin/tclsh
package require Tk

set whos_turn 0    ;# players are numbered 0 and 1 - player 0 goes first

# this is our event, called when a button is pressed
proc take_turn {player} {
  global whos_turn
  if {$whos_turn != $player} {
    .text insert end "Not player $player's turn!"
  } else {
    .text insert end "Player $player takes a turn"
    set whos_turn [expr {1-$player}]
  }
}

# create the GUI
button .p1 -text "Player 0 go" -command {take_turn 0}
button .p2 -text "Player 1 go" -command {take_turn 1}
frame .f
text .text
.text insert end "Game started! Player $whos_turn goes first"
grid .f
grid .text
grid .p1 .p2 -in .f

# now enter the event loop
vwait forever