home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / iis4_07.cab / FunNGames.asp < prev    next >
Text File  |  1997-11-01  |  12KB  |  427 lines

  1. <% Option Explicit %>
  2. <% Dim m_oHW ' HiddenWords object reference %>
  3.  
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  5. <HTML>
  6. <HEAD>
  7. <!--META TAGS ARE RECOMMENDED FOR THE SEARCH ENGINE-->
  8. <META NAME="DESCRIPTION" CONTENT="Exploration Air's Fun 'n' Games Page">
  9. <META NAME="KEYWORDS" CONTENT="Games">
  10. <META NAME="GENERATOR" CONTENT="Microsoft Visual InterDev 1.0">
  11. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso8859-1">
  12. <!--END META TAGS-->
  13.  
  14. <TITLE>Fun 'n' Games!</TITLE>
  15. </HEAD>
  16.  
  17. <BODY BGCOLOR=#FFFFFF TOPMARGIN=0 LEFTMARGIN=0 ALINK=#23238E VLINK=#228B22 LINK=#23238E>
  18. <BASEFONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2>
  19.  
  20. <!--#include file=..\libGlobalFuncs.inc-->
  21.  
  22. <!--COLOR BANNER_START-->
  23. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  24.     <TR>
  25.       <TD BGCOLOR="#C71585" WIDTH=100% HEIGHT=20>
  26.       </TD>
  27.     </TR>
  28. </TABLE>
  29. <!--COLOR BANNER_END-->
  30.  
  31. <!--BEGIN TABLE CONTAINING LOGO, TITLE AND NAVIGATIONAL LINK-->
  32. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  33.     <TR>
  34.       <TD VALIGN=TOP WIDTH=415>
  35.         <A HREF="<%=Homepage("..")%>"><IMG SRC="../images/logo_sm.gif" WIDTH=200 HEIGHT=100 ALT="Return to Exploration Air Homepage" BORDER=0></A>
  36.         <BR>
  37.       </TD>
  38.       <TD VALIGN=MIDDLE WIDTH=200><IMG SRC="images/FaGLogo.jpg" WIDTH="210" HEIGHT="90" ALT="Fun 'n' Games!" BORDER=0></IMG>
  39.       </TD>
  40.     <TD ALIGN=RIGHT VALIGN=MIDDLE>
  41.     <A HREF="../HowItWorks/HIWFunNGames.asp"><IMG SRC="../images/btssmall.gif" WIDTH="115" HEIGHT="52" ALT="Click here to learn how this page works" BORDER=0></A>
  42.     </TD>
  43.     </TR>
  44. </TABLE>
  45. <!--END TABLE CONTAINING LOGO, TITLE AND NAVIGATIONAL LINK -->
  46.  
  47. <BR>
  48. <BR>
  49.  
  50. <!-- BEGIN TABLE CONTAINING MAIN PLAY AREA -->
  51. <% 
  52.     ' Attempt to load the Java component
  53.     If LoadHiddenWords() = False Then
  54. %>
  55. <H2>
  56. <CENTER>
  57. Unable to load the <I>Hidden Words</I> component. 
  58. <P>
  59. <TABLE BORDER=1 CELLPADDING=6 WIDTH=90%>
  60.     <TR>
  61.         <TH BGCOLOR="#C0C0C0" COLSPAN=2>
  62.             <FONT SIZE=4>Possible Causes and Remedies</FONT>
  63.         </TD>
  64.     </TR>
  65.     <TR>
  66.         <TH BGCOLOR="#F0F0F0" VALIGN=TOP>
  67.             <STRONG>Cause</STRONG>
  68.         </TD>
  69.         <TH BGCOLOR="#F0F0F0" VALIGN=TOP>
  70.             <STRONG>Remedy</STRONG>
  71.         </TD>
  72.     </TR>
  73.     <TR>
  74.         <TD VALIGN=TOP>
  75.             Java component not registered. 
  76.         </TD>
  77.         <TD VALIGN=TOP>
  78.             From the command line type: <PRE>JavaReg /register /class:HiddenWords /progid:Hidden.Words</PRE>
  79.         </TD>
  80.     </TR>
  81.     <TR>
  82.         <TD VALIGN=TOP>
  83.             Java class files not in the CLASSPATH.
  84.         </TD>
  85.         <TD VALIGN=TOP>
  86.             Make sure the following files are in your %SystemRoot%\Java\TrustLib directory:
  87.             <DIR>
  88.                 <LI>HiddenWords.class</LI>
  89.                 <LI>ChosenWord.class</LI>
  90.                 <LI>SquareElement.class</LI>
  91.             </DIR>
  92.             If they are not you will need to reinstall the Exploration Air sample site.
  93.         </TD>
  94.     </TR>
  95.     <TR>
  96.         <TD VALIGN=TOP>
  97.             Java ASP Component Framework not installed.
  98.         </TD>
  99.         <TD VALIGN=TOP>
  100.             Chose to install the Software Development Kit when installing Internet Information Server. 
  101.             Then copy the *.class from ...\IISSamples\SDK\Components\Java\Framework to the 
  102.             %SystemRoot%\Java\TrustLib\aspcomp directory. You may need to create the aspcomp directory first.
  103.         </TD>
  104.     </TR>
  105. </TABLE>
  106.  
  107. </CENTER>
  108.  
  109. </H2>
  110.  
  111. <P> 
  112. <HR WIDTH=400>
  113. <P>
  114.  
  115. <CENTER>
  116. <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="1"><A HREF="..\legal.htm">©1997 Microsoft Corporation. All rights reserved. Terms of Use.</A></FONT>
  117. </CENTER>
  118.  
  119. <P>
  120.  
  121. <!--BEGIN COLOR BANNER-->
  122. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  123.     <TR>
  124.       <TD BGCOLOR="#C71585" WIDTH=100% HEIGHT=20>
  125.       </TD>
  126.     </TR>
  127. </TABLE>
  128. <!--END COLOR BANNER-->
  129.  
  130. <% Response.End %>
  131. <% End If %>
  132.  
  133. <% If Session("IEVersion") >= 4 Then %>
  134. <TABLE>
  135.     <TR>
  136.         <TD WIDTH=10% ALIGN=CENTER VALIGN=TOP>
  137.         <DIV ID=InstructionToggle STYLE="cursor: hand; display:" OnClick="ToggleInstructions()">
  138.             Hide Instructions
  139.         </DIV>
  140.         </TD>
  141.         <TD WIDTH=80%>
  142.             <DIV ID=Instructions>
  143.                 <STRONG>Name of the Game: </STRONG>
  144.                 Find-the-City
  145.                 <P>
  146.                 <STRONG>Objective: </STRONG>
  147.                 Find the cities listed in the gray square among the jumbled letters in the white square.
  148.                 <P>
  149.                 <STRONG>How to Play: </STRONG>
  150.                 This is a very simple game. Just locate one of the cities listed at the bottom
  151.                 among the jumbled letters. Once you have located a city, click on the city in
  152.                 the bottom box and then enter its x (column value) and y (row value) 
  153.                 coordinates, along with the direction it is facing. If you are correct the
  154.                 letters will be hi-lighted and the city will be removed from the list.
  155.                 <P>
  156.                 To win, find all the cities.
  157.             </DIV>
  158.         </TD>
  159.     </TR>
  160. </TABLE>
  161.  
  162. <SCRIPT LANGUAGE=VBScript>
  163. Sub ToggleInstructions
  164.     If document.all.Instructions.style.display="" Then
  165.         document.all.Instructions.style.display="None"
  166.         document.all.InstructionToggle.innerText="Show Instructions"
  167.     Else
  168.         document.all.Instructions.style.display=""
  169.         document.all.InstructionToggle.innerText="Hide Instructions"
  170.     End If
  171. End Sub
  172. </SCRIPT>
  173.  
  174. <PRE>
  175. <CENTER>
  176. <TABLE BORDER=1>
  177.     <TR ALIGN=CENTER>
  178.         <TD>
  179.             <%
  180.                 ' True means cheat! All hidden words are highlighted!
  181.                 ' False means don't cheat!
  182.                 m_oHW.buildWordSquare False
  183.             %>
  184.         </TD>
  185.     </TR>
  186.     <TR BGCOLOR=#F0F0F0>
  187.         <TD>
  188.             <DIV STYLE="cursor: hand">
  189.             <CENTER>
  190.                 <% m_oHW.getWordList %>
  191.             </CENTER>
  192.             </DIV>
  193.         </TD>
  194.     </TR>
  195.     <TR ALIGN=CENTER>
  196.         <TD>
  197.             <SPAN ID=GetAnswer STYLE="DISPLAY:None">
  198.                 <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2>
  199.                 Enter the X 
  200.                 <INPUT TYPE="TEXT" NAME="CoordX" SIZE=4>
  201.                 and Y
  202.                 <INPUT TYPE="TEXT" NAME="CoordY" SIZE=4>
  203.                 location for 
  204.                 <INPUT TYPE="TEXT" READONLY DISABLED NAME="City" SIZE=10>
  205.                 and it's direction
  206.                 <SELECT NAME="Direction" SIZE=1>
  207.                     <OPTION VALUE="Across">Across
  208.                     <OPTION VALUE="Down">Down
  209.                 </SELECT>
  210.                  then press 
  211.                 <INPUT TYPE="SUBMIT" VALUE="OK" OnClick=AnswerClick()>
  212.                 </FONT>
  213.             </SPAN>
  214.         </TD>
  215.     </TR>
  216. </TABLE>
  217. </CENTER>
  218. </PRE>
  219.  
  220. <%
  221.     Function LoadHiddenWords
  222.         On Error Resume Next
  223.         Set m_oHW=Server.CreateObject("Hidden.Words")
  224.         If Err = 0 Then 
  225.             LoadHiddenWords = True
  226.         Else
  227.             LoadHiddenWords = False
  228.         End If
  229.     End Function
  230. %>
  231.  
  232. <SCRIPT LANGUAGE=VBScript>
  233.  
  234. '''''''''''''''''''''
  235. ' Client-side DHTML    '
  236. '''''''''''''''''''''
  237.  
  238. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  239. ' Size of the array (zero-based)
  240. CONST X_MAX = 19
  241. CONST Y_MAX = 19
  242.  
  243. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  244. ' WordClick
  245. ' The user clicked on a word so display the 'GetAnswer' span and 
  246. ' fill in the name of the city selected
  247. Sub WordClick(strCitySelected)
  248.     document.all.GetAnswer.style.display=""
  249.     document.all.City.value=strCitySelected
  250. End Sub
  251.  
  252. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  253. ' AnswerClick
  254. ' The person has (hopefully!) entered all the answers to go and check
  255. Sub AnswerClick()
  256.  
  257.     ' Hide the 'GetAnswer' span
  258.     document.all.GetAnswer.style.display="None"
  259.     
  260.     ' Check that x and y are valid
  261.     If Not IsXYValid(document.all.CoordX.value, document.all.CoordY.value) Then
  262.         Msgbox "Please enter a numeric value, in the range 0-19 for both X and Y.", vbExclamation, "Fun 'n' Games!"
  263.         Exit Sub
  264.     End If
  265.  
  266.     ' Get the values for x, y and the selected city
  267.     Dim x, y, strCity
  268.     x = CInt(document.all.CoordX.value)
  269.     y = CInt(document.all.CoordY.value)
  270.     strCity = document.all.City.value
  271.  
  272.     ' Build up the ID 
  273.     ' in the form CITYDXXYY, where CITY=UCase of city, D=Direction, XXYY=x/y coord
  274.     Dim strId, strX, strY, strDirection
  275.     
  276.     strX = CStr(x)
  277.     strY = CStr(y)
  278.     If x < 10 Then strX = "0" & strX
  279.     If y < 10 Then strY = "0" & strY
  280.  
  281.     strDirection = "A"
  282.     If document.all.Direction.value="Down" Then strDirection = "D"
  283.  
  284.     strId = UCase(strCity) & strDirection & strX & strY
  285.  
  286.     ' If the city exists
  287.     If CityExists(strID) Then 
  288.         ' Change the city color in the square
  289.         For i=0 to Len(strCity)-1
  290.             If strDirection="D" Then
  291.                 document.all.TableHiddenWords.rows(y+1+i).cells(x+1).bgColor = &HFF0000
  292.             Else
  293.                 document.all.TableHiddenWords.rows(y+1).cells(x+1+i).bgColor = &HFF0000
  294.             End If
  295.         Next
  296.  
  297.         ' Remove the city from the list of words
  298.         Dim xCity, yCity
  299.         GetCityCoords strCity, xCity, yCity
  300.         document.all.TableCityList.rows(xCity).cells(yCity).innerText=""
  301.  
  302.         If IsGameFinished() Then
  303.             MsgBox "Congratulations! You finished the game! Selected 'Refresh' to play again.", _
  304.                     vbExclamation, _
  305.                     "Fun 'n' Games!"
  306.         End If
  307.     Else
  308.         Msgbox strCity & " not found at " & x & ", " & y & " " & document.all.Direction.value & "! Please Try again.", _
  309.                 vbExclamation, _
  310.                 "Fun 'n' Games!"
  311.     End If
  312.  
  313. End Sub
  314.  
  315. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  316. ' IsGameFinished
  317. ' Is the game finished?
  318. Function IsGameFinished
  319.     IsGameFinished = True
  320.     For i = 0 To document.all.TableCityList.rows.length-1
  321.         For j = 0 to document.all.TableCityList.rows(i).cells.length-1
  322.             If document.all.TableCityList.rows(i).cells(j).innerText <> "" Then 
  323.                 IsGameFinished = False
  324.                 Exit For
  325.             End If
  326.         Next
  327.     Next
  328. End Function
  329.  
  330. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  331. ' GetCityCoords
  332. ' Returns the location of the city name in the list of cities
  333. Sub GetCityCoords(strCity,x,y)
  334.     Dim i,j
  335.  
  336.     x=y=0
  337.  
  338.     For i = 0 To document.all.TableCityList.rows.length-1
  339.         For j = 0 to document.all.TableCityList.rows(i).cells.length-1
  340.             Dim strTableCity
  341.             strTableCity = document.all.TableCityList.rows(i).cells(j).innerText
  342.             If strCity = Left(strTableCity,Len(strCity)) Then
  343.                 x = i
  344.                 y = j
  345.                 Exit For
  346.             End If
  347.         Next
  348.     Next 
  349. End Sub
  350.  
  351. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  352. ' IsXYValid
  353. ' Is the select x,y valid? ie; numeric and in the range 0 - X_MAX | Y_MAX
  354. Function IsXYValid(x,y)
  355.     IsXYValid = True
  356.  
  357.     If Not IsNumeric(x) Or Not IsNumeric(y) Then
  358.         IsXYValid = False
  359.         Exit Function
  360.     End If
  361.  
  362.     If CInt(x) < 0 Or CInt(x) > X_MAX Or CInt(y) < 0 Or CInt(y) > Y_MAX Then
  363.         IsXYValid = False
  364.         Exit Function
  365.     End If
  366.  
  367. End Function
  368.  
  369. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  370. ' CityExists
  371. ' Does this city exist at this location in the table? 
  372. ' Then checks the direction is correct too.
  373. ' This works by searching for a matching <A ID=xxxx> tag then walking the line
  374. Function CityExists(strID)
  375.     Dim fExists
  376.     On Error Resume Next
  377.     strID=strID & "-0"    ' -0 is the marker for the first letter in the word
  378.     fExists = document.all(strID).name
  379.     If Err.Number = 0 Then
  380.         ' Ok, we found the ID, so the city is here, now check the direction
  381.         CityExists = True
  382.     Else
  383.         CityExists = False
  384.     End If
  385. End Function
  386. </SCRIPT>
  387.  
  388. <% Else %>
  389. <H2>
  390. <CENTER>
  391. Fun 'n' Games requires Microsoft Internet Explorer 4.0 or better to operate.
  392. <P>
  393. <P>
  394. <TABLE>
  395. <TR>
  396.   <TD> <A HREF="http://www.microsoft.com/ie/ie40"><IMG SRC="../IEPush/images/IE40.gif" WIDTH="82" HEIGHT="72" ALT="Internet Explorer 4.0" BORDER=0></A>
  397.   </TD>
  398.   <TD>Visit the <A HREF="http://www.microsoft.com/ie/ie40">Microsoft Internet Explorer 4.0 Web site</A> to learn more.
  399.   </TD>
  400. </TR>
  401. </TABLE>
  402. </CENTER>
  403. </H2>
  404. <% End If %>
  405.  
  406. <P> 
  407. <HR WIDTH=400>
  408. <P>
  409.  
  410. <CENTER>
  411. <FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="1"><A HREF="..\legal.htm">©1997 Microsoft Corporation. All rights reserved. Terms of Use.</A></FONT>
  412. </CENTER>
  413.  
  414. <P>
  415.  
  416. <!--BEGIN COLOR BANNER-->
  417. <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
  418.     <TR>
  419.       <TD BGCOLOR="#C71585" WIDTH=100% HEIGHT=20>
  420.       </TD>
  421.     </TR>
  422. </TABLE>
  423. <!--END COLOR BANNER-->
  424.  
  425. </BODY>
  426. </HTML>
  427.