home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 1: Collection A / 17Bit_Collection_A.iso / files / 989.dms / 989.adf / Education / Multidrill (.txt) < prev    next >
AmigaBASIC Source Code  |  1990-04-30  |  2KB  |  91 lines

  1.   'Multiplication drill
  2.   'Scott Wilcox
  3.   'HC64 Box 213
  4.   'Rimrock, AZ 86335
  5.   'voice parameters
  6. CLS: CLEAR, 25000
  7. ON BREAK GOSUB ender: BREAK ON  
  8.   FOR j=0 TO 8: READ s%(j):NEXT j
  9.   DATA 100,0,150,0,23000,64,10,1,0
  10.  
  11.  PRINT "Multiplication drill"
  12.  PRINT "by Scott Wilcox"
  13.  PRINT "    Rimrock, AZ"
  14.  RANDOMIZE TIMER :PRINT  
  15.  a$="Hello.  Whats your name?":GOSUB talk
  16.  INPUT "Name please";n$ :PRINT 
  17.  a$="Hi "+n$+".  Make your choice.":GOSUB talk
  18.  PRINT  a$ :PRINT 
  19.  
  20.     start:
  21.  PRINT "Pick a number to drill, or choose <0> for random, <1> to quit."   
  22.  INPUT ;a
  23.  IF a=1 THEN a$="o k "+n$+".  by bye":SAY TRANSLATE$(a$):SYSTEM
  24.  a$="o k "+n$+", lets multipli?":GOSUB talk:y=TIMER:g=0
  25.  
  26.     prob:
  27.  FOR x=1 TO 10
  28.  IF a=0 THEN b=INT(RND*12+1) :ELSE b=a
  29.  c=INT(RND*12+1)
  30.  e=0
  31.     again:
  32.  PRINT 
  33.  PRINT  " " b
  34.  PRINT "x";c 
  35.  PRINT "----"
  36.  d=b*c
  37.  INPUT ;f
  38.  PRINT 
  39.  IF f=d THEN GOSUB right
  40.  IF f<>d THEN GOSUB wrong  
  41.  NEXT x:z=TIMER:GOSUB tim
  42.  a$="choose again,"+n$+"":GOSUB talk: GOTO start
  43.  
  44.     right:
  45.  a$(1)="very good?"
  46.  a$(2)="keep it up?"
  47.  a$(3)="excellent?"
  48.  a$(4)="wonderful?"
  49.  a$(5)="hot dog?"
  50.  a$(6)="right on?"
  51.  a$(7)="far out?"
  52.  a$(8)="awsome?"
  53.  a$(9)="good job?"
  54.  a$(10)="you got it?"
  55.  l%=INT(RND*10+1)  
  56.  a$=""+a$(l%)+"":GOSUB talk
  57.  RETURN
  58.   
  59.     wrong:
  60.  
  61.  e=e+1
  62.  IF e=2 THEN a$="The answer is "+STR$(d)+".":GOSUB talk:PRINT a$:g=g+1:RETURN
  63.  a$="try again "+n$+"":GOSUB talk:GOTO again
  64.  
  65.     tim:
  66.   PRINT 
  67.   z%= INT(z-y)
  68.   PRINT "Time: ";z%;"seconds."
  69.   PRINT
  70.   PRINT "You missed"+STR$(g)+".":PRINT
  71.   IF z%<45 THEN    
  72.     a$="your time was very good":GOSUB talk
  73.     IF g=0 THEN a$=" and you got them all right?":GOSUB talk:a$="Very good, "+n$+"!":GOSUB talk:PRINT a$:PRINT 
  74.     END IF
  75.   IF z%>45 THEN
  76.     a$="your time was a little slow":GOSUB talk
  77.     IF g=0 THEN a$="but you got them all right?":GOSUB talk:a$="try to build some speed":GOSUB talk
  78.     END IF
  79.   IF g>1 THEN a$="but you missed "+STR$(g)+"":GOSUB talk:a$="you need more practiss":GOSUB talk
  80.   RETURN
  81.   
  82.  
  83.     talk:
  84.   t$=TRANSLATE$(a$)
  85.   SAY t$,s%
  86.   RETURN
  87.   
  88. ender:
  89. SYSTEM
  90.       
  91.