Children's basic typing program - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Children's basic typing program

aeixxaeixx My chairPosts: 0Member

Hello, I'm trying to create a quick and easy program that will engage young children with learning disabilities. We want them to 'identify, understand, solve.' The concept is borrowed from the age old typing games of letters falling from top of screen and must not reach bottom. Type the letter to continue the game.

I keep getting 'subscript out of range', and I'm not sure what the reason is. Please help.

'Rain drop typing game ' 'Type the letters as you see them fall from the top of the screen ' 'Use Escape to exit the program ' 'Use Space to pause ' 'v1.0 ' '************ ************* '************Variables List************* DimList: DIM gamerounds AS INTEGER DIM gamespeed AS INTEGER DIM difficulty AS INTEGER DIM L AS INTEGER 'DIM letter$ DIM letter$(27) DIM W AS INTEGER DIM screenwidth(60) AS INTEGER DIM gr AS INTEGER DIM screenwidth DIM paws DIM time

SubList: declare sub gameinit declare sub speed declare sub getcharacters declare sub design

'************Beginning of Game *************

Begin:

CLS

DO: a$ = INKEY$ CALL gameinit CALL speed CALL getcharacters CALL design

LOOP UNTIL a$ <> CHR$(27)

PRINT "Good bye."

END

SUB gameinit

'************Determine Game Rounds *************

'CLS

INPUT "How many games would you like to play? (1-10)"; gamerounds IF gamerounds < 1 THEN PRINT "Lets do at least one game together!" gamerounds = 1 ELSEIF gamerounds > 10 THEN PRINT "You may have an addiction to playing computer games, lets play ten games together, then do something else?" gamerounds = 10 END IF PRINT "Ok, lets play for "; gamerounds; " rounds." END SUB

SUB speed

'************Determine Game Speed, Difficulty *************

'cls

INPUT "How fast would you like the game? (1-10)"; gamespeed

IF gamespeed < 1 THEN PRINT "You seem a little slow, we'll start at your speed." gamespeed = 1 ELSEIF gamespeed > 10 THEN PRINT "Prepare to meet your doom!" gamespeed = 10 ELSE PRINT "Ok, lets try it at GameSpeed level "; gamespeed; " this time." END IF

INPUT "What difficulty level would you like? (1-100)"; difficulty

IF difficulty < 1 THEN PRINT "No newbs allowed, man up, wimp!" difficulty = 1 ELSEIF difficulty > 10 THEN PRINT "That's the spirit!" END IF PRINT "Difficulty set to: "; difficulty

END SUB

SUB getcharacters

'************Determine Characters Used *************

'CLS

char = 65 'Start of ASCII Alphabet Capitals

L = 1

FOR L = 1 TO 26 letter$(L) = CHR$(char) PRINT "Letter$("; L; ") = "; CHR$(char) '<--Test&Print what chars used *<<<----PROBLEM char = char + 1 ' IF char = 26 THEN ' char = 26 ' END IF NEXT

END SUB

SUB design '***************Shows game screen ***************

PRINT "Game start"

'cls

FOR gr = 1 TO gamerounds FOR time = 1 TO 26 W = INT(RND * 65) + 1 FOR drop = 1 TO 17 LOCATE W, drop PRINT letter$(L) FOR paws = 1 TO 1 / gamespeed IF INKEY$ = letter$(L) THEN L = INT(RND * 26) + 1 END IF NEXT NEXT NEXT NEXT

END SUB

Comments

Sign In or Register to comment.