Welcome to the Leo Christopherson Website  

Back To My Home Page


I wrote the original Snake Eggs program for the Radio Shack TRS-80 computer in 1979.  It was fairly well received, though not as well as Android Nim. The animation of the snakes, which roll eggs to represent drawing cards in the game Blackjack, was the highlight of the otherwise simple playing game.  This updated version has all the cute animations, and then some. This game offers a modified version of Blackjack. The Help Screen shown below outlines the way the game plays. This version also features a macho male snake that orders the egg laying and two sassy female snakes with nasty temperaments that roll the eggs.

The original program was well tested by my 7th and 8th grade students back in the late 70'. This version has not had the advantage of a bunch of eager players, so, though I have tested it a whole lot, anyone who downloads it will also have a chance to find bugs (heaven forbid).

For this version, I have given the computer an average ability to win. There is no fancy AI for it to use. Randomness is mostly it. But then, Blackjack does have a great element of chance in it, I think.

I thank A1 Free Sound Effects for most of the sounds in the program. Some were tweaked a bit using Sound Forge.

Recently I bought the game-programming software "Dark Game SDK."  I have used it to do the Snake Eggs game.  DG SDK allows me to program in C++, which I really like.  DG SDK provides the libraries for MS C++.NET 2003 which in turn provide the DirectX control. Dark BASIC Pro is great, but I like C++ better since I can organize things more effectively. (It's said to run faster, too.)

Feel free to download the game "Snake Eggs 2D" and give it a try.  For those old timers among you that might remember the original version, I've tried to put in all the animation detail from the original, but have added quite a bit more. 

I am also including for download the MS C++.NET 2003 source code file for Snake Eggs 2D for Dark Game SDK. I've found it difficult to find examples of DG SDK programs to learn from. Though I can't claim to be a real whiz-bang C++ programmer,  it may be that my source code can be helpful to new DG SDK programmers who may not know where to start.

Please let me know what you think.  And if you find bugs, let me know!

email me at:  computers@leochristopherson.com
 

8-08-2005

The downloadable programs are zipped using RARLAB's WinRAR.

Requirements: a PC-type computer running at about 2 GHz or better,  a fairly recent HARDWARE 3D Graphics Card, MS DirectX 9.0, and a mouse.

For proper graphics and speed, your computer's  display resolution needs to be set to 16-bit at the Control Panel > Display Properties > Settings > Color Quality.

The "SNAKE EGGS SOURCE CODE" .rar file posted here is the source code for Dark Game SDK and Microsoft C++.NET 2003.  The entire working directory is included and can be opened as a C++ project with the file "Snake Eggs.vcproj." From there, you do need to know something about C++.NET 2003 to make sense out of the files, and of course, will need the Dark Game SDK installed to actually compile the program.

8-10-2005 - I have added WinZip versions for those who don't use WinRAR.
 


WinRAR
versions:

SNAKE EGGS 2D
(~ 1.08 MB)

SNAKE EGGS
SOURCE CODE

(~ 1.83 MB)

 

WinZip
versions:

SNAKE EGGS 2D
(~ 1.24 MB)

SNAKE EGGS
SOURCE CODE

(~ 2.18 MB)

 

 

This is the program's HELP SCREEN
followed by a game screen shot:


 


And here are some scans of a few of the original TRS-80 work up sheets I did back in 1979 when I was programming Snake Eggs the first time:
 

     
     


The original Snake Eggs for the TRS-80 used a combination of BASIC and Z-80 code. I created long strings in BASIC lines and then poked into them the base 10 bytes that represented the Z-80 commands. Then I used vector calls through reserved memory to access the machine code. It worked well and avoided the pain of trying to load separate Z-80 code to work with the BASIC.

For this update, I used Corel Photo-Paint 10 to first create the snake graphics in their original size ( 128 x 48 screen size on the TRS-80) as shown in the above scans. Since these arrays were way too small for the current 640 x 480 screen, I used Corel's Resample tool to enlarge the arrays 400%. Corel added an interesting "shaded" edge which I decided to leave in the images. The result is a sort of rounded, blocky look that I like.