
 
 | 
| 技术资料  > ASP技术 > ASP应用 : 词语搭配游戏的制作(ASP)三 |  
词语搭配游戏的制作(ASP)三 March 25,2004 |  
//在列表中,使鼠标移到之处的单词 
//产生“点亮”的效果 
function lightOpt(ele) 
{ 
    var eleSrc; 
    //------------------------------------------ 
    //常变量说明 
    //eleSrc    :发生事件的元素 
    //------------------------------------------ 
 
    eleSrc = ele; 
    eleSrc.className = "optLighted"; 
} 
 
//在列表中,使鼠标离开的单词 
//还原为初始状态 
function delightOpt(ele) 
{ 
    var eleSrc; 
    //------------------------------------------ 
    //常变量说明 
    //eleSrc    :发生事件的元素 
    //------------------------------------------ 
 
    eleSrc = ele; 
    eleSrc.className = "optDelighted"; 
} 
 
//得到定义过的将加入列表的单词 
function makeOpt(strWord, iWrdIdx) 
{ 
    var strOptHead, strOptFoot; 
    var strOptWord; 
     
    //------------------------------------------ 
    //常变量说明 
    //strOptHead        :重定义单词头。字符串型 
    //strOptFoot        :重定义单词尾。字符串型 
    //strOptWord    :重定义单词。字符串型 
    //------------------------------------------ 
 
    strOptHead    = "<div class='optDelighted' onmouseover='lightOpt(this);' onmouseout='delightOpt(this);' ondblclick='removeOpt(this);' wrdIdx='" + iWrdIdx + "'>"; 
    strOptFoot        = "</div>"; 
    strOptWord    = strOptHead + strWord + strOptFoot; 
    //alert(strOptWord); 
     
    return strOptWord; 
} 
 
//删除列表中的单词 
function removeOpt(ele) 
{ 
    var eleSrc; 
    var iIndex, iWrdIdx; 
    var astrWords, astrHead, astrFoot; 
     
    //------------------------------------------ 
    //常变量说明 
    //eleSrc            :发生事件的元素 
    //iIndex            :表示词汇分类的数字。整型 
    //iWrdIdx        :单词在单词数组中的索引。整型 
    //astrWords    :某类词汇单词数组。字符串型数组 
    //astrHead        :某类词汇单词数组头部分。字符串型数组 
    //astrFoot        :某类词汇单词数组尾部分。字符串型数组 
    //------------------------------------------ 
 
    eleSrc = ele; 
    iIndex = getEleIndex(eleSrc.parentElement); 
    iWrdIdx = parseInt(eleSrc.wrdIdx); 
 
    //将单词从词汇数组中删去 
    //showArray(m_astrWords[iIndex]); 
    astrWords    = m_astrWords[iIndex].concat(); 
    astrHead    = astrWords.slice(0, iWrdIdx); 
    astrFoot        = astrWords.slice(iWrdIdx + 1); 
    m_astrWords[iIndex] = astrHead.concat(astrFoot); 
    //showArray(astrHead); 
    //showArray(astrFoot); 
    //showArray(m_astrWords[iIndex]); 
 
    //将剩余的单词重新写入到页面中 
    valueList(m_astrWords[iIndex], iIndex); 
    txtWord[iIndex].select(); 
} 
//--> 
</script> 
</head> 
 
<body> 
<!--标题--> 
<div align="CENTER"> 
    <span style="font-size: 20pt; font-weight: BOLD">词语搭配游戏</span> 
    <span class="fontEng2">v1.0</span> 
</div> 
 
<hr style="visibility: HIDDEN"> 
<!--主表格1--> 
<table border="0" align="CENTER" width="80%"> 
     
    <colgroup></colgroup> 
    <colgroup></colgroup> 
    <colgroup></colgroup> 
    <colgroup></colgroup> 
    <colgroup></colgroup> 
    <colgroup></colgroup> 
    <colgroup align="CENTER"></colgroup> 
    <colgroup></colgroup> 
     
    <%For m_iCount = 0 To (m_iPartCnt - 1)%> 
    <tr> 
        <td><%= m_astrSenPart(m_iCount)%></td> 
        <td width="20%"><input type="text" id="txtWord" style="width: 100%"></td> 
        <td><button id="btnGetWord" style="width: 75px" title="将单词保存到内存中">保存</button></td> 
        <td><button id="btnReset" style="width: 75px" title="从内存中删去当前类别所有的单词">重置</button></td> 
        <td><button id="btnSave" style="width: 75px" title="将单词保存到文件中">存入</button></td> 
        <td><button id="btnLoad" style="width: 75px" title="从文件中载入单词">载入</button></td> 
        <td width="15%"><label id="lblWordList" title="单击固定我">单词列表</label></td> 
        <td> 
            <div id="divWordList" class="listHidden"></div> 
            个数:<label id="lblWordCount" class="fontEng1"><%= 0%></label> 
        </td> 
    </tr> 
    <%Next%> 
     
</table> 
 
<hr style="visibility: HIDDEN"> 
<hr style="color: BLUE"> 
<!--主表格2--> 
<table border="0" align="CENTER" width="80%"> 
    <colgroup width="16%"></colgroup> 
    <colgroup width="16%"></colgroup> 
    <colgroup width="16%"></colgroup> 
    <colgroup></colgroup> 
 
    <tr> 
        <td><button id="btnResetAll"    accesskey="r"    title="从内存中删去所有类别的单词"        class="btnDelighted">全部重置 <u>R</u></button></td> 
        <td><button id="btnSaveAll"    accesskey="s"    title="将所有类别的单词保存到文件中"    class="btnDelighted">全部存入 <u>S</u></button></td> 
        <td><button id="btnLoadAll"    accesskey="l"    title="从文件中载入所有类别的单词"        class="btnDelighted">全部载入 <u>L</u></button></td> 
        <td> 
            <span style="font-size: 9pt; color: RED;">请单击</span> <label id="lblHelp" title="单击固定我">游戏说明</label> 
            <!--帮助说明表格--> 
            <div id="divHelp" class="helpHidden"> 
                <table id="tblHelp" border="0" align="CENTER" width="300px" style="font-size: 9pt;"> 
                    <colgroup width="75px"></colgroup> 
                    <colgroup></colgroup> 
                     
                    <tr><td colspan="2"> 
                        <a href="#1" style="color: BLUE;">游戏步骤</a> 
                        <a href="#2" style="color: BLUE;">操作说明</a> 
                        <a href="#3" style="color: BLUE;">游戏起源</a> 
                        <a href="#4" style="color: BLUE;">制作原因</a> 
                        <a href="#5" style="color: BLUE;">游戏功效</a> 
                        <a name="0" style="display: NONE;">TOP</a> 
                    </td></tr> 
                     
                    <!--游戏步骤--> 
                    <tr><td colspan="2"></td></tr> 
                    <tr><td colspan="2"> 
                        [<a name="1" style="color: BLUE;">游戏步骤</a>]  
                        <a href="#0" class="link">TOP</a> 
                    </td></tr> 
                    <tr><td colspan="2"> 
                        <span class="fontEng1"><1></span>在每个部分的<span class="fontEmp">输入框</span>中输入单词,    按<span class="fontEmp">回车</span>或<span class="fontEmp">“保存”</span>按钮存入内存中; 
                        或按<span class="fontEmp">“载入”</span>按钮调出以前保存的某类别单词纪录; 
                        或按<span class="fontEmp">“全部载入”</span>按钮调出以前保存的所有类别单词纪录<br> 
                        <span class="fontEng1"><2></span>按<span class="fontEmp">“开始搭配”</span>按钮,系统将从各类单词中随机抽取一个,组成一个句子 
                    </td></tr> 
 
                    <!--操作说明--> 
                    <tr><td colspan="2"></td></tr> 
                    <tr><td colspan="2"> 
                        [<a name="2" style="color: BLUE;">操作说明</a>]  
                        <a href="#0" class="link">TOP</a> 
                    </td></tr> 
                    <tr> 
                        <td>保存</td> 
                        <td>得到用户输入的单词</td> 
                    </tr> 
                     
                    <tr> 
                        <td>重置</td> 
                        <td>将当前类别所有的单词从内存中删去</td> 
                    </tr> 
                     
                    <tr> 
                        <td>存入</td> 
                        <td>将所选类别的当前词汇保存进文件中</td> 
                    </tr> 
                     
                    <tr> 
                        <td>载入</td> 
                        <td>从文件中读取所选类别的单词纪录</td> 
                    </tr> 
                     
                    <tr> 
                        <td>全部重置</td> 
                        <td>重置页面至初始状态</td> 
                    </tr> 
                     
                    <tr> 
                        <td>全部保存</td> 
                        <td>把所有类别的单词都存入文件</td> 
                    </tr> 
                     
                    <tr> 
                        <td>全部载入</td> 
                        <td>从文件中载入所有类别的单词</td> 
                    </tr> 
                     
                    <tr> 
                        <td>开始搭配</td> 
                        <td>进行词汇搭配,得到一个句子</td> 
                    </tr> 
                     
                    <tr><td></td></tr> 
                    <tr><td colspan="2"> 
                        <span class="fontEng1"><1></span> 
                        <span class="fontEmp">将鼠标移至“单词列表”处</span>,会弹出该类词汇的单词列表; 
                        <span class="fontEmp">将鼠标移开</span>,列表会自动隐藏; 
                        <span class="fontEmp">点击“单词列表”</span>,会固定单词列表; 
                        <span class="fontEmp">再次点击</span>,会取消固定<br> 
 
                        <span class="fontEng1"><2></span> 
                        在<span class="fontEmp">固定住一个单词列表</span>后, 
                        <span class="fontEmp">双击</span>该列表中的某个单词,可以将该单词从内存中删去<br> 
 
                        <span class="fontEng1"><3></span> 
                        输完一个单词后,<span class="fontEmp">直接按回车</span>就可以保存了,这样比按“保存”保存单词更方便 
                    </td></tr> 
                     
                    <!--游戏起源--> 
                    <tr><td colspan="2"></td></tr> 
                    <tr><td colspan="2"> 
                        [<a name="3" style="color: BLUE;">游戏起源</a>]  
                        <a href="#0" class="link">TOP</a> 
                    </td></tr> 
                    <tr><td colspan="2"> 
                        这个游戏想法来自于小时候玩的纸团游戏。那时和姐姐在家里闲得无聊,就玩这个,哈哈。 
                        玩法很简单,做一些纸片,分成四堆,分别写上<span class="fontEmp">亲朋好友的名字</span>、<span class="fontEmp">形容程度的词语</span>、<span class="fontEmp">关于地点的词语</span>和<span class="fontEmp">所做的事情</span>。 
                        然后,将纸片捏成纸团,<span class="fontEng1">OK, Let's Start!</span> 现在从每堆中抽出一个纸团,就有四个词语,将它们组成一句话,因为是随便抽的,有时能组成很搞笑的句子。 
                        如:陈楠兴奋地在大街上跳夏威夷草裙舞;万民悠闲地在公园里洗澡。^_+ 
                    </td></tr> 
 
                    <!--制作原因--> 
                    <tr><td colspan="2"></td></tr> 
                    <tr><td colspan="2"> 
                        [<a name="4" style="color: BLUE;">制作原因</a>]  
                        <a href="#0" class="link">TOP</a> 
                    </td></tr> 
                    <tr><td colspan="2"> 
                        主要是无聊,想做个游戏娱乐一下自己,当然也希望大家能从中得到笑声。 
                        其次也想锻炼一下自己的技术,以前用<span class="fontEng1">VB</span>做过一个,不是很好,这次用的是<span class="fontEng1">ASP</span>,不知有没有进步,呵呵 
                        这个版本我大概地测试了一下,没发现大的<span class="fontEng1">bug</span>。如果您在游戏中发现了问题或有什么建议,请一定告诉我,在此先谢谢了! 
                        我的信箱是<a href="mailto: [email protected]" class="link">[email protected]</a>。不好你就说吗!不可能你说好我又说不好,你不说好我又说好的,^_+ 
                    </td></tr> 
 
                    <!--游戏功效--> 
                    <tr><td colspan="2"></td></tr> 
                    <tr><td colspan="2"> 
                        [<a name="5" style="color: BLUE;">游戏功效</a>]  
                        <a href="#0" class="link">TOP</a> 
                    </td></tr> 
                    <tr><td colspan="2"> 
                        因为是搞笑游戏,所以能使你心情愉快、青春焕发,间接增加找对象的成功率; 
                        因为不用做纸团了,减少了浪费和污染,从而美化了世界环境; 
                        相信还有很多功效,请大家帮我找。哈哈。 
                    </td></tr> 
                </table> 
            </div> 
         
        </td> 
    </tr> 
     
    <tr> 
        <td><button id="btnAsb" accesskey="a" title="从每个类别词汇中随机抽取一个单词,组成一个句子"class="btnDelighted">开始搭配 <u>A</u></button></td> 
        <td colspan="3"><input type="text" id="txtSentence" style="width: 100%"></td> 
    </tr> 
</table> 
<hr style="color: BLUE"> 
 
<!--提交表单--> 
<form id="frmWords" method="POST" action="" style="display: NONE;"> 
    <%For m_iCount = 0 To (m_iPartCnt - 1)%> 
    <input type="text" name="txtWords<%= m_iCount%>"> 
    <%Next%> 
    <input type="text" name="txtSenPart"> 
    <input type="text" name="txtOpWay"> 
</form> 
 
<!--版权--> 
<div align="CENTER"> 
    <div> 
        © <span class="fontEng2">2001 China Sentin Sci. & Tech. Co., Ltd.</span>  
        <span class="fontEng2">All Rights Reserved.</span> 
    </div> 
    <div> 
        <span class="fontEng2">Authored by</span> <a href="mailto: [email protected]" class="link">Recon</a></span> 
        <a href="http://recon.top263.net/" class="link">http://recon.top263.net/</a> 
    </div> 
</div> 
</body> 
</html> 
 
<% 
'以下是服务器端脚本 
'用到的函数和过程 
 
'************************ 
'函数名    :SaveFile 
'功能        :将某类词汇保存到文件中 
'输入        :1、iSenPart    :表示词汇分类的数字。整型 
'                    可能的值有: 
'                    0:主语 
'                    1:程度状语 
'                    2:地点状语 
'                    3:谓语 
'输出        :对文件操作后的状态值。整型 
'                    可能的值有: 
'                    0:操作成功 
'                    1:操作失败 
'************************ 
Function SaveFile(iSenPart) 
    Dim fsoMain, tsfWords 
    Dim iCount, iWrdCnt 
    Dim iOpStatus 
     
    '------------------------------------------ 
    '常变量说明 
    'fsoMain        :FSO对象 
    'tsfWords    :TEXTSTREAM对象 
    'iCount        :计数器。整型 
    'iWrdCnt    :某类词汇单词的数目。整型 
    'iOpStatus    :文件操作完毕后的状态。整型 
    '------------------------------------------ 
 
    Set fsoMain    = Server.CreateObject("SCRIPTING.FILESYSTEMOBJECT") 
    Set tsfWords= fsoMain.CreateTextFile(m_strFilePath & m_astrFileName(iSenPart), True) 
    tsfWords.WriteLine("[" & m_astrSenPart(iSenPart) & "部分]") 
     
    '如果该类别至少有一个单词 
    If IsEmpty(m_astrWords(iSenPart)) = False Then 
        iWrdCnt = UBound(m_astrWords(iSenPart)) + 1 
        For iCount = 0 To (iWrdCnt - 1) 
            tsfWords.WriteLine(m_astrWords(iSenPart)(iCount)) 
        Next 
    End If 
     
    tsfWords.Close 
    iOpStatus = 0 
 
    SaveFile = iOpStatus 
End Function 
 
'************************ 
'函数名    :LoadFile 
'功能        :从文件中载入某类词汇 
'输入        :1、iSenPart    :表示词汇分类的数字。整型 
'                    可能的值有: 
'                    0:主语 
'                    1:程度状语 
'                    2:地点状语 
'                    3:谓语 
'输出        :对文件操作后的状态值。整型 
'                    可能的值有: 
'                    0:操作成功 
'                    1:操作失败 
'************************ 
Function LoadFile(iSenPart) 
    Dim fsoMain, tsfWords 
    Dim strLoaded 
    Dim iOpStatus 
     
    '------------------------------------------ 
    '常变量说明 
    'fsoMain        :FSO对象 
    'tsfWords    :TEXTSTREAM对象 
    'strLoaded    :某类词汇所有单词构成的字符串。字符串型 
    'iOpStatus    :文件操作完毕后的状态。整型 
    '------------------------------------------ 
 
    Set fsoMain = Server.CreateObject("SCRIPTING.FILESYSTEMOBJECT") 
    If fsoMain.FileExists(m_strFilePath & m_astrFileName(iSenPart)) = True Then 
    '如果存在纪录文件     
        strLoaded = "" 
        Set tsfWords= fsoMain.OpenTextFile(m_strFilePath & m_astrFileName(iSenPart), 1) 
        tsfWords.SkipLine 
        Do While tsfWords.AtEndOfStream = False 
            strLoaded = strLoaded & tsfWords.ReadLine & "," 
        Loop 
         
        If strLoaded <> "" Then 
            strLoaded = Left(strLoaded, Len(strLoaded) - 1) 
            m_astrWords(iSenPart) = Split(strLoaded, ",") 
        Else 
            m_astrWords(iSenPart) = Empty 
        End If 
         
        tsfWords.Close 
        iOpStatus = 0 
    Else     
    '如果不存在纪录文件 
        iOpStatus = 1 
    End If 
 
    LoadFile = iOpStatus 
End Function 
%> 
 
<% 
'以下是服务器端脚本 
'用于测试的函数和过程 
 
Sub Show(strDef) 
    Response.Write strDef & ": " & Eval(strDef) & "<br>" 
End Sub 
 
Sub ShowMethod() 
    Response.Write "Request Method: " & Request.ServerVariables("REQUEST_METHOD") & "<br>" 
End Sub 
 
Sub ShowForm() 
    Dim iCount 
    Dim strProp 
 
    iCount = 0 
    Response.Write "*********Form Information******<br>" 
    For Each strProp In Request.Form 
        iCount = iCount + 1 
        Response.Write iCount & "." & strProp & ": " & Request.Form(strProp) & "<br>" 
    Next 
    Response.Write "*********Form End**************<br>" 
End Sub 
%> 
         |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved