home *** CD-ROM | disk | FTP | other *** search
/ 3D Game Programming for Teens (2nd Edition) / 3DGPFT2E.iso / Source / Chapter03 / demo03-09.bb < prev    next >
Text File  |  2009-01-20  |  1KB  |  65 lines

  1. ;demo03-09.bb - Allows user to perform math operations of 1-100
  2.  
  3. ;op1 and op2 are global so they can be accessed from all functions
  4. ;op1 contains first operand, op2 contains second
  5. Global op1 
  6. Global op2
  7. Dim array(100) ;0 - 100
  8. InitializeArray()
  9.  
  10.  
  11. ;continue is 1 as long as program is runnning
  12. continue = 1 
  13.  
  14.  
  15. While continue ;as long as the computer wants to play
  16.     ;Get the first operand
  17.     op1 = Input("What is the first number? ") 
  18.     ;Get the second operand
  19.     op2 = Input("And the second? ") 
  20.     
  21.     ; what does the user want to do?
  22.     operator$ = Input("Enter +, -, *, or / ") 
  23.     ;Print the answer
  24.     PrintAnswer(operator$)
  25.     
  26.     ;Find out if user wants to continue
  27.     continue = Input("Enter 1 to continue or 0 to quit ")
  28.  
  29.     ;Insert a new line
  30.     Print "" 
  31. Wend
  32. End
  33.  
  34.  
  35.  
  36. ;This Function sets up the array
  37. Function InitializeArray()
  38. For i=0 To 100
  39.     array(i) = i
  40. Next
  41. End Function
  42.  
  43.  
  44.  
  45. ;This function prints the answer to the expression
  46. Function PrintAnswer(operator$)
  47. Print op1 + " " + operator$ + " " + op2 + " is equal to " + FindAnswer(operator$)
  48. End Function    
  49.  
  50.  
  51. ;This function performs the math based on the user input
  52. Function FindAnswer(operator$)
  53.     Select operator
  54.         Case "+"
  55.             Return array(op1) + array(op2)
  56.         Case "-"
  57.             Return array(op1) - array(op2)
  58.         Case "*"
  59.             Return array(op1) * array(op2)
  60.         Case "/"
  61.             Return array(op1) / array(op2)
  62.     
  63.     End Select
  64. End Function
  65.