FE 'tkGooie' Menu System

'WikiTkGAMEdemos' group

Tcler's Wiki GAMES

(FE = Freedom Environment)

FE Home Page > FE Downloads Page >

FE 'tkGooies' Description Page >

This Tcler's Wiki Tk-GUI GAME CODE Page

INTRODUCTION to Tcler's Wiki GAME code donations

I personally do not plan to spend much time on writing code for games. (I have too many projects of a more practical nature on my Tk-scripts to-do list.)

But there are often techniques of various Tcl-Tk game scripts that can be put to good use in adding to the world of Tk 'user-friendly, useful utility' (UUU) scripts. Around 2014, I briefly scanned the pages of a lot of the Tk game-scripts at wiki.tcl.tk.

One person who has donated a lot of game scripts at wiki.tcl.tk is Keith Vetter. Below is a collection of links to his game-donation pages at wiki.tcl.tk. Essentially all of these scripts use the Tk 'canvas' widget to present nice game images.

    NOTE:
    I have 'scraped' the game code from many of the wiki.tcl.tk pages and got the code running on my Linux machine (running Ubuntu 9.10 = 2009 October = 'Karmic Koala').

    I may eventually add 'locally-stored' links to the code that I got running. That is, I may put the code that I got running onto this site's server and provide links to each image of the code. (By the way, that code is in the self-installing script of the FE 'tkGooies' system. You can get the code, that I tailored, by installing 'tkGooies'.)

I have included some notes, below, on some features of these games and GUI's. This is intended to help when looking for scripts that perform certain functions --- such as 'rubber-banding' as items are dragged on a canvas.


Vetter contributions:

Dot to Dots (Note the rubber-banding of lines being drawn on the canvas.)

TkAtaxx (The code for drawing grids like this, and keeping objects within the boundaries of each square in the grid, may prove handy for reference.)

Black Box (Another gameboard ... with buttons around the perimeter of the grid, on which the labels of the buttons change when the user clicks on them.)

TkChallenger (Another gameboard grid. Also note the Help window. It contains both color and black text in a text widget--- and bold text as well as 'regular' text. And the text widget includes fonts of various sizes --- and variable-width fonts for titles; a fixed-width font for the help text.)

Chinese Checkers (A colorful, six-pointed-star-shaped grid.)

Crazy Eights (Nice images of playing cards --- the backs as well as the faces. AND ... animation of the playing cards as they are dealt out and moved to various places on 'the felt'.)

Gem Game (A game board with colorful pieces on the canvas.)

Labyrinth (This game has a rather randomized grid --- and some blinking arrows.)

Lights On (The little rods on this canvas rotate to 'hexagonal-angles'.)

Lights Out (Clicking on a grid square changes the color of that square, and the color of its neighbors.)

tkmines (A grid of many squares with nice shaded edges. The squares turn to flat images of mines or numbers.)

Montana Solitaire (Another game using nice card images --- and animation of cards over 'the felt'.)

TkOverload (A game with possible chain reactions of exploding cells.)

TkPente (Here is another Go-like game board --- along with a Help window.)

Puzzle Blocks (This is an example of code that moves puzzle pieces about, on a canvas.)

Tk Robots (A large game grid with a couple of types of 'sprites' --- and a scrollable help window.)

Tk Robots2 (Addition of human and robot sprites, as well as a speed-up of the game.)

Rush Hour (Various sized rectangles in a rectangular game space, the canvas.)

scat (Another cards-and-felt game --- with automatic dealing of cards across 'the felt'.)

Hold'Em Solitaire (Another cards-and-felt game. Feels like Las Vegas.)

TriPeaks Solitaire (Another cards-and-felt game --- with automatic dealing of cards across 'the felt'.)

Video Poker (Another cards-and-felt game, along with info that helps those who forget what-beats-what.)

Word Jumble (This game has some shadowed letter squares that look like they are floating above the canvas.)

Word Search (A scrolling listbox of words that are hidden in a grid of letters.)


Here are a few 'non-Vetter' games that were posted at wiki.tcl.tk.

Domino (by Suchenwirth) (In case you ever need to draw dominoes, or other images of that kind, on a canvas.)

A little Go board (by Suchenwirth) (Here is the board for a game in which the pieces go on the intersection of the grid lines, instead of between the grid lines. See Vetter's TkPente, above.)

Hanoi Towers (by Stephane Arnold) (A nice animated game --- 3 pieces moving among 3 vertical rods.)

Mancala (by Todd Coram?) (A game with 'rectangular slots' --- a Tk implementation of a game that is thousands of years old, if not tens of thousands of years old. This is a case of using Tk to digitize and GUI-fy antiquity. Note: It took thousands of years for version 2.0.)

TkBomb (by Hartweg) (An unusual hex grid. Honeybees may be drawn to this.)


Other contributions:

Although some of the following are NOT complete games, these bouncing/colliding/exploding animations are interesting, and they provide code that could be used in a game.

Colliding balls (by Easton)

An Improvement to Colliding Balls (by Holendirski)

Exploding Balls (by Easton)

TkPool (by Madden)

Asteroids (by Embleton)

another Asteroids (by Godfrey)

TkPong (by Hernandez)

Falling Marbles (by Vetter)

Colliding Blocks (by Vetter)

Collapse (by Vetter)

TinyTetris (by Embleton)

Bottom of this page of links to
Tcler's Wiki GAME code donations
--- games presented in the FE 'tkGooies' system,
in the 'WikiTkGAMEdemos' group.

To return to a previously visited web page location, click on the Back button of your web browser a sufficient number of times. OR, use the History-list option of your web browser.
OR ...

< Go to Top of Page, above. >

Page history

Page was created 2014 May 11.

Page was changed 2015 Oct 07.

Page was changed 2018 Aug 20.
(Added css and javascript to try to handle text-size for smartphones, esp. in portrait orientation.)

Page was changed 2019 Feb 27.
(Minor reformatting of this page.)