<%@ Language=VBScript %>
<% Option Explicit %>

<%
Dim i
' copy session variables to regular variables and force to Int
'   (saves typing!)
Dim answer,newguess,remaining,numguess
answer = Int( Session("answer") )
newguess = Int( Request("newguess") )
remaining = Int( Session("remaining") )


' Start a new game
Sub NewGame
  Randomize()
  answer = Int(1000*Rnd()+1)
  remaining=10
  Response.Write("<H3> Welcome to the Guessing Game</H3>")
  Response.Write("<H4>I've picked a number between 1 and 1000.<BR>")
  Response.Write("You have 10 guesses</H4>")
End Sub

Sub BadGuess
   remaining = remaining-1
   If remaining = 0 Then
      Response.Write("<H3>"&newguess & " is Wrong! You Lose!</H3>")
      NewGame()
   Else
      Response.Write("<H3>" & newguess)
      If newguess < answer Then
        Response.Write(" is too low</H3>")
      Else
        Response.Write(" is too high</H3>")
      End If
      Response.Write("<H4>Try again<BR>")
      Response.Write("You have "&remaining&" guesses left</H4>")
      ' record the guess
      Session(10-remaining-1)=newguess
      ShowGuesses()
   End If
End Sub

Sub ShowGuesses
  Response.Write("<H3>Guesses</H3>")
  Response.Write("<TABLE BORDER=1><TR><TD>Too Low</TD><TD>Too High</TD></TR>")
  Response.Write("<TR><TD>")
  For i=0 to 10-remaining-1
     If (Session(i)<answer) Then 
        Response.Write(Session(i) & "<BR>")
     End If
  Next
  Response.Write("</TD><TD>")
  For i=0 to 10-remaining-1
     If (Session(i)>answer) Then 
        Response.Write(Session(i) & "<BR>")
     End If
  Next
  Response.Write("</TD></TR></TABLE>")
End Sub

If Session("answer")=0 Or Request("newgame") Then
  NewGame()
ElseIf newguess = answer Then
  Response.Write("<H3>" & newguess)
  Response.Write(" is Right! You Win!</H3>")
  NewGame()
Else
  BadGuess()
End If
%>
  <FORM ACTION=hw3.asp METHOD=GET>
  Your Guess: <INPUT TYPE=TEXT NAME=newguess>
  </FORM>
  <A HREF=hw3.asp?newgame=1>New Game</A>

<% 'Update all Session variables! 
Session("remaining")=remaining
Session("answer") = answer
%>