Imports System
Public Module Module1
Const QUESTION_TYPE_ADDITION As Integer = 0
Const QUESTION_TYPE_SUBTRACTION As Integer = 1
Const QUESTION_TYPE_MULTIPLICATION As Integer = 2
Public Class Teacher
Private RandomGenerator As Random = New Random()
Private Question As String
Private Answer As Integer
Private Score As Integer
Public Sub GenerateQuestion()
Dim QuestionType As Integer = RandomGenerator.Next(3)
Dim FirstNumber As Integer = RandomGenerator.Next(1, 31)
Dim SecondNumber As Integer = RandomGenerator.Next(1, 31)
Select Case QuestionType
Case QUESTION_TYPE_ADDITION
Question = FirstNumber & " + " & SecondNumber & " = ?"
Answer = FirstNumber + SecondNumber
Case QUESTION_TYPE_SUBTRACTION
Question = FirstNumber & " - " & SecondNumber & " = ?"
Answer = FirstNumber - SecondNumber
Case QUESTION_TYPE_MULTIPLICATION
' Make the sums easier because they're multiplication
FirstNumber = RandomGenerator.Next(1, 10)
SecondNumber = RandomGenerator.Next(1, 10)
Question = FirstNumber & " x " & SecondNumber & " = ?"
Answer = FirstNumber * SecondNumber
Case Else
Console.WriteLine("Something went wrong. ;-;")
End Select
End Sub
Public Sub AskQuestion()
Console.Clear()
Console.WriteLine(Question)
Dim Entry As Integer = Console.Read()
If Entry = Answer Then
Console.WriteLine("Correct!")
Score += 1
Else
Score -= 1
End If
End Sub
Public Function GetScore() As Integer
Return Score
End Function
End Class
Public Sub Main()
Dim teacher As Teacher = New Teacher()
Dim index As Integer = 1
While index <> 10
teacher.GenerateQuestion()
teacher.AskQuestion()
index += 1
End While
Console.WriteLine("Your score is " & teacher.GetScore())
End Sub
End Module