Classic Computer Magazine Archive ANTIC VOL. 5, NO. 8 / DECEMBER 1986

Education
BY MATTHEW RATCLIFF

Spellblast

Space-action spelling action


Spellblast combines rapid-fire arcade action with the time-honored Hangman format to bring children a fun way to to learn spelling. The BASIC program works on all 8-bit Atari computers with a minimum of 24K memory, with disk or cassette.

Many children automatically seem to dislike things that are supposed to be good for them. Well, just leave out the word "educational" when you introduce your children to Spellblast, a space-action version of Hangman. The kids will soon be spelling better than ever, and they'll be having too much fun to realize that Spellblast is supposed to be "good for them."

In this fast-action spelling game, zap the correct letter before it reaches the starbase at the bottom of your screen.


The game can also be easily customized to help children-and adults-practice spelling the exact words they need more work on.

PLAYING SPELLBLAST
After the title page is displayed, pressing the joystick button calls up the instruction screen. Press the joystick button a second time to arrive at the topics menu. Move the joystick left and right to choose the total words to be spelled per game. The default value is 10, with a maximum of 50. Move the stick up and down to pick one of the desired topics from the display. Press the joystick button to begin game play. This published listing has three topics for spelling practice:

1. Animals, Fish & Fowl
2. Musical Instruments
3. Computer Terminology

A series of blanks for letters appears across the top of the screen. On the right is a display of the current score (SCR), total guesses for a given word (GES) and the number of correctly chosen letters in the word (OK). On the left is the play area, where your "spellbase" appears in the center of a wave of attacking letters.

Four letters approach your base from above, below, left and right. At least one of these letters might fill a blank. Just point the joystick handle toward your guess-don't press the trigger button. If you guessed right, the letter you blasted will fill each blank where it belongs in the word. Each correct letter scores two points, but a wrong guess deducts two points. If you think that none of the four letters in a turn are correct, press the joystick button to pass without a wrong-guess penalty. Holding down the joystick button also lets you pause the action and think a bit, before the next quartet of letters descends upon you.


Guess the whole word by pressing the [SPACEBAR]. Typing a correct letter zooms it into the correct space and gives you 10 points.

As soon as you think you know the whole word, press the [SPACE BAR]. A large flashing cursor appears at the first blank space remaining in the word. Typing a correct letter zaps it into the blank and adds 10 points to your score. An incorrect guess sends you back to the play screen with a new wave of letters.

Correct completion of a word gives you a 10-point bonus. If you allow a wave of letters to reach your speilbase and destroy it, you lose 10 times the number of points earned in the current word-after which the correct spelling is shown. After you spell all the words for the game, the total, high score and best guess ratio are displayed. Press [Q] whenever you want to quit.

TYPING IT IN
Type in Listing 1, SPELLB.BAS, check it with TYPO II and SAVE a copy before you RUN it.

If you have trouble typing the special characters in lines 5000-5068, don't bother typing them in. Listing 2 will create these lines for you and write them to cassette, or to a disk file called SLINE.LST Now type NEW and LOAD Listing 1, then ENTER the file created by Listing 2. Make sure you SAVE a copy of the combined program before you RUN it.

CUSTOMIZING SPELLBLAST
Adding new topics or words to Spell-blast is easy. First, change the value of TOPICS in line 2820. Next, add an appropriate menu bar to the number of topics available. Follow the example menu in lines 2850-2870, when adding a new menu line. For example, suppose we are going to add European Countries. TOPICS would then have to equal four in line 2820. We would then add a line to the menu as follows:

2880 POSITION 6,8:? "4. EUROPEAN COUNTRIES"

Once these steps are complete, just add DATA to the program. There must be five words per line, but if you're a few words short, just repeat some of those already listed in the topic. The beginning line number and the total number of lines in the new topic, must also be added following the data in line 20000. In our example, you could add line 20010 as follows:

20010 DATA 10040,5

You would then be able to select from four topics for the game.

You are limited only by the size of the screen for topics, which will allow 17 with the current display layout. The words are limited in length to 10 characters. Any more than this causes wrap-around and confuses the display (but does not crash the program).

Memory limitations can be remedied by keeping each topic in separate text files on disk or cassette. Spell-blast could then be modified to ENTER new DATA lines in place of the old ones, along with a new set of topics.

PROGRAM TAKE-APART
200-290: Select a wave of four letters for the game-play loop.
300-595: Draw a wave of characters, get joystick input and set flags.
600-650: Clear the game-play area of the screen.
1000-1430: Display the game title screen.
1500-1610: Select a new word at random from the current topic.
1620-1746: Letters-hit-speilbase routine. Deduct points and continue with a new word.
1750-2020: Spell out the word from keyboard input.
2030-2230: Process selected letter from joystick input and see if word is complete.
2300-2780: End-of-game routine. Print out totals and wait for keypress.
10000-10037: Word DATA for three topics (exactly five words per line.)
20000: DATA indicating beginning line number and total lines of word DATA under each topic.

In May, 1986 Matthew Ratcliff of St. Louis, Missouri won the Antic Award for Outstanding Contributor to this magazine.

Listing 1: SPELLB.BAS Download

Listing 2: LINES.BAS(not needed)