UNKNOWN '************************************** ' Name: ASP Blackjack ' Description:Play Blackjack against the ' computer ' By: Owen Cutajar ' ' ' Inputs:None ' ' Returns:None ' 'Assumes:Code should be fully functional ' . One assumption is that card generation ' is totally random. There is no check tha ' t a card has already been extracted from ' the deck in the same game. ' 'Side Effects:None 'This code is copyrighted and has limite ' d warranties. 'Please see http://www.Planet-Source-Cod ' e.com/xq/ASP/txtCodeId.6425/lngWId.4/qx/ ' vb/scripts/ShowCode.htm 'for details. '************************************** &lt;% '--------------------------------------- ' ----------------------- ' ASPBlackJack v1.0 ' (x) Ugh!! 2000 - 15/10/2000 ' ' Converted to ASP from JScript obtained ' at ' http://www.javascriptsearch.com/script ' s/Games/blackjack.html ' Original author: Unknown ' ' Written for http://www.only-network.co ' m/games Any comments, ' flames, requests, postcards etc to owe ' n@cutajar.net '--------------------------------------- ' ----------------------- Option Explicit '--------------------------------------- ' --------- ' History Routines '--------------------------------------- ' --------- sub ClearHistory Dim q For q = 1 to 10 Session("DHistory" & q) = "" Session("UHistory" & q) = "" next end sub sub WriteHistory(Entity,Message) Dim q q = 1 While Session( Left(Entity,1) & "History" & q) &lt;&gt; "" q = q + 1 Wend Session( Left(Entity,1) & "History" & q) = Message end sub Function ReadHistory(Entity) Dim returnValue,q,currentmessage returnvalue = "" for q = 1 to 10 currentmessage = Session( Left(Entity,1) & "History" & q) If currentmessage &lt;&gt; "" Then returnvalue = returnvalue & "- " & currentmessage & "<br>" end if next ReadHistory = returnValue end Function '--------------------------------------- ' --------- ' Select a random card '--------------------------------------- ' --------- function pickCard() Dim iRandom Randomize() iRandom = Int(13 * Rnd + 1) pickCard = iRandom end function '--------------------------------------- ' --------- ' Select a random suit '--------------------------------------- ' --------- function pickSuit() Dim iRandom Randomize() iRandom = Int(4 * Rnd + 1) if iRandom = 1 then pickSuit = "Spades" elseif iRandom = 2 then pickSuit = "Clubs" elseif iRandom = 3 then pickSuit = "Diamonds" else pickSuit = "Hearts" end if end function '--------------------------------------- ' --------- ' Translate card number to words '--------------------------------------- ' --------- function cardName(card) if card = 1 then cardName = "Ace" elseif card = 11 then cardName = "Jack" elseif card = 12 then cardName = "Queen" elseif card = 13 then cardName = "King" else cardName = card end if end function '--------------------------------------- ' --------- ' Work out value of card '--------------------------------------- ' --------- function cardValue(card) if card = 1 then cardValue = 11 elseif card &gt; 10 Then cardValue = 10 else cardValue = card end if end function '--------------------------------------- ' --------- ' Work out value of card '--------------------------------------- ' --------- function selectCard(strWho) Dim iCardNum,theCard iCardNum = pickCard theCard = CardName(iCardNum) & " of " & pickSuit Response.Write strWho & " picked a " & theCard & "<br>" selectCard = CardValue(iCardNum) WriteHistory strWho , theCard end function '--------------------------------------- ' --------- ' Show current status on screen '--------------------------------------- ' --------- sub ReportStatus Response.Write "<p>" Response.Write "<table border="3"><tr><td>Player</td><td>Hand</td><td>Score</td></tr>" Response.Write "<tr><td>You</td><td>" & ReadHistory("User") & "</td>" Response.Write "<td>" & Session("User") & "</td></tr>" Response.Write "<tr><td>Dealer</td><td>" & ReadHistory("Dealer") & "</td>" Response.Write "<td>" & Session("Dealer") & "</td></tr></table>" end sub '--------------------------------------- ' --------- ' Work out value of card '--------------------------------------- ' --------- sub NewHand ClearHistory Session("Dealer") = 0 Session("User") = 0 Session("Dealer") = Session("Dealer") + SelectCard("Dealer") Session("User") = Session("User") + SelectCard("User") Session("GameOver") = False ReportStatus end Sub '--------------------------------------- ' --------- ' Dealer Move '--------------------------------------- ' --------- sub DealerMove while Session("Dealer") &lt; 17 Session("Dealer") = Session("Dealer") + SelectCard("Dealer") wend ReportStatus end sub '--------------------------------------- ' --------- ' You Move '--------------------------------------- ' --------- sub UserMove Session("User") = Session("User") + SelectCard("User") if Session("User") &gt; 21 Then Response.Write "<h2>You busted!</h2>" Session("GameOver") = True end if ReportStatus end sub '--------------------------------------- ' --------- ' Get Game Status '--------------------------------------- ' --------- Sub LookAtHands if Session("Dealer") &gt; 21 Then Response.Write "<h2>House busts! You win!</h2>" elseif Session("User") &gt; Session("Dealer") Then Response.Write "<h2>You win</h2>" elseif Session("User") = Session("Dealer") Then Response.Write "<h2>Push!</h2>" else Response.Write "<h2>House wins!</h2>" end if Session("GameOver") = True End Sub ' Maincode starts here Dim action Response.Write "<center>" action = Request("action") & "" If action = "Hit Me" Then UserMove Elseif action = "Stand" Then DealerMove LookAtHands Else NewHand End If Response.Write "<form action="/">" If Session("GameOver") &lt;&gt; True Then Response.Write "<input type="SUBMIT" name="action" value="Hit Me">" Response.Write "<input type="SUBMIT" name="action" value="Stand">" End if Response.Write "<input type="SUBMIT" name="action" value="New Hand">" Response.Write "</form>" Response.Write "</center>" %&gt;