home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-08-10 | 3.6 KB | 110 lines |
- 10 ' B E A R 1 2 3 . B A S 8/10/86 11:20 pm
- 20 '
- 30 ' BEARY FUN COUNTING helps a child with counting and with locating numbers
- 40 ' on the keyboard. It displays a random number of fruit on the screen and
- 50 ' waits patiently until the proper number is pressed. For each correct answer
- 60 ' a bear face is placed on the border of the screen
- 70 ' The game continues until the border is filled with bears.
- 80 '
- 90 ' Converted for IBM-PC Screen 1.
- 100 '
- 110 SCREEN 1 : CLS : COLOR 0,0
- 120 LOCATE 6,10 : PRINT "BEARY FUN COUNTING";
- 130 LOCATE 24,1 : PRINT " copyright 1985, Computing Specialties";
- 140 '
- 150 '
- 160 ' Poke subroutine ALOAD into memory.
- 170 '
- 180 DEF SEG : ALOAD= 48000
- 190 FOR IB=0 TO 95 : READ BYTE : POKE ALOAD+IB,BYTE : NEXT IB
- 200 DATA &H55, &H8B, &HEC, &H8B, &H5E, &H0A, &H8A, &H0F, &HB5, &H00, &H8B, &H77
- 210 DATA &H01, &H8B, &H5E, &H08, &H8B, &H07, &H8E, &HC0, &HBF, &H00, &H00, &HA4
- 220 DATA &HE2, &HFD, &HB0, &H00, &HAA, &H1E, &H06, &H1F, &H07, &HB0, &H00, &HB4
- 230 DATA &H3D, &HBA, &H00, &H00, &HCD, &H21, &H72, &H24, &H8B, &HD8, &HB9, &H07
- 240 DATA &H00, &HBA, &H00, &H00, &HB4, &H3F, &HCD, &H21, &H3B, &HC1, &H74, &H05
- 250 DATA &HB8, &H0D, &H00, &H75, &H0F, &HBE, &H05, &H00, &H8B, &H0C, &HB4, &H3F
- 260 DATA &HBA, &H00, &H00, &HCD, &H21, &HB8, &H00, &H00, &H8B, &H7E, &H06, &H26
- 270 DATA &H89, &H05, &HB4, &H3E, &HCD, &H21, &H06, &H1F, &H5D, &HCA, &H06, &H00
- 280 '
- 290 ' Load the title picture onto the screen.
- 300 '
- 310 SEG2%=&HB800 : BERR%=0 : FILE$="BEAR1231.PIC" : CALL ALOAD(FILE$,SEG2%,BERR%)
- 320 '
- 330 ' get the pictures into arrays.
- 340 '
- 350 DIM CHERRY(100),ORANGE(100),PINEAPPLE(100),BANANA(100),APPLE(100),BEAR(400)
- 360 DIM X(9),Y(9) : FOR I=1 TO 9 : READ X(I),Y(I) : NEXT I : DATA 60,45,140,45,220,45,60,90,140,90,220,90,60,135,140,135,220,135
- 370 GET (154,91)-(168,105),CHERRY
- 380 GET (191,88)-(204,99),ORANGE
- 390 GET (225,72)-(239,99),PINEAPPLE
- 400 GET (200,60)-(210,74),BANANA
- 410 GET (167,66)-(184,80),APPLE
- 420 GET (77,76)-(100,98),BEAR
- 430 FOR I=1 TO 3000 : NEXT I
- 440 '
- 450 ' Start the game.
- 460 '
- 470 RANDOMIZE TIMER
- 480 REM
- 490 LINE (0,0)-(319,199),2,B
- 500 LINE (30,30)-(289,169),3,B
- 510 LINE (31,31)-(288,168),0,BF
- 520 '
- 530 ' Pick a number from 1 to 9 and one of the fruits.
- 540 ' Then place that many fruit on the screen.
- 550 '
- 560 N=INT(RND*9)+1
- 570 FRUIT=INT(RND*5)+1
- 580 IF N>=4 THEN I=1:GOSUB 900
- 590 IF N>=7 THEN I=2:GOSUB 900
- 600 IF N>=4 THEN I=3:GOSUB 900
- 610 IF N=2 OR N=3 OR N=6 OR N=8 OR N=9 THEN I=4:GOSUB 900
- 620 IF N=1 OR N=3 OR N=5 OR N=7 OR N=9 THEN I=5 : GOSUB 900
- 630 IF N=2 OR N=3 OR N=6 OR N=8 OR N=9 THEN I=6 : GOSUB 900
- 640 IF N>=4 THEN I=7 : GOSUB 900
- 650 IF N>=7 THEN I=8 : GOSUB 900
- 660 IF N>=4 THEN I=9 : GOSUB 900
- 670 WHILE INKEY$<>"" : WEND
- 680 '
- 690 ' Wait until the proper number key is pressed. (Quit if Q is pressed.)
- 700 '
- 710 R$=INKEY$
- 720 IF R$=CHR$(27) THEN RUN"MENU
- 730 IF R$<>CHR$(48+N) THEN 710
- 740 '
- 750 ' The correct key was pressed, add a happy bear face to the border.
- 760 '
- 770 NB=NB+1
- 780 XB=(NB-1)*32+3 : YB=3
- 790 IF NB>10 THEN XB=292 : YB=(NB-10)*35+3
- 800 IF NB>14 THEN XB=3 : YB=(NB-14)*35+3
- 810 IF NB>18 THEN YB=173 : XB=(NB-19)*32+3
- 820 PUT(XB,YB),BEAR,PSET
- 830 SOUND 115+NB*5,1:SOUND 350+NB*5,1:SOUND 756+NB*5,1:SOUND 1036+NB*5,1:SOUND 1435+NB*5,1
- 840 FOR T=1 TO 100 : NEXT T
- 850 IF NB=28 THEN GOTO 990
- 860 GOTO 510
- 870 '
- 880 ' Subroutine to plot a piece of fruit at position I.
- 890 '
- 900 ON FRUIT GOTO 910,920,930,940,950
- 910 PUT (X(I),Y(I)),CHERRY : RETURN
- 920 PUT (X(I),Y(I)),ORANGE : RETURN
- 930 PUT (X(I),Y(I)),PINEAPPLE : RETURN
- 940 PUT (X(I),Y(I)),BANANA : RETURN
- 950 PUT (X(I),Y(I)),APPLE : RETURN
- 960 '
- 970 ' The screen is full of bears, congratulate the kid.
- 980 '
- 990 LOCATE 10,19 : PRINT "YAY!"
- 1000 LOCATE 16,16:PRINT "YOU DID IT!"
- 1010 FOR T=1 TO 10 : SOUND 1435,1 : SOUND 1100,1 : NEXT T
- 1020 '
- 1030 ' Reset the game and go back for a new one.
- 1040 '
- 1050 R$=INKEY$ : IF R$<>"" THEN 1050
- 1060 FOR I=1 TO 3000 : NEXT I
- 1070 CLS : NB=0
- 1080 GOTO 480
- 1090 END
-