聊天室|在线主要功能为:在聊天室中,每隔5分钟,向显示对话页面,发送一道题,所有用户都可答题。
答对者加相应的分值。
具体实现:在聊天室框架中加入一隐含帧,
此帧每5分钟刷新一次。
隐含帧内的ASP页内容如下:
<% LANGUAGE=VBScript%>
<%Response.Expires=0%>
<%
Dim Conn,Rs
Application.Lock
application("CanswerName")=application("answerName") '保存答对题用户的名字
application("answerName")=""
application("TanswerName")="" '清除答错题用户的名子
set Conn=server.createobject("ADODB.Connection")
accessdb="db1.mdb" '题库的连接
myDSN="DRIVER={Microsoft Access Driver (*.mdb)};"
myDSN=myDSN & "DBQ=" &server.mappath(accessdb)
Conn.Open myDSN
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.CursorLocation=3
Rs.open "select * from QUESTION ",Conn
Randomize '随机取得一道题的ID
r=Rs.RecordCount
ID=int((r-1)*Rnd)+1
Rs.Close
set Rs=Nothing
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.open "select * from QUESTION where questionID="&ID,Conn
application("questionName")=Rs("questionName") '题目
application("questionID")=Rs("questionID") '题的ID
application("questionCent")=Rs("questionCent") '题的分数
application("questionClass")=Rs("questionNotes")'题的说明
Rs.close
Set Rs = Nothing
Set Ra = Server.CreateObject("ADODB.Recordset")
Ra.open "select * from ANSWER where questionID="&ID,Conn
application("answerA")=Ra("answerA") '题的选项
application("answerB")=Ra("answerB")
application("answerC")=Ra("answerC")
application("answerD")=Ra("answerD")
application("answerTrue")=Ra("answerTrue") '题的正确答案
Ra.close
set Ra=Nothing
Conn.Close
set Conn=Nothing
application("questionTime")=Now()
Application.UnLock
%>
<HTML>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
<Link Rel='stylesheet' Href='../Style.Css' Type='text/css'>
<meta http-equiv="refresh" content="300;url=question.asp">
<title><%=Application("V")%></title>
<script Language="JavaScript">
parent.ShowSays.document.write("******系统消息:******
"); //向聊天室显示对话窗口写入问题
parent.ShowSays.document.write("**上题答对者为:<%=application"CanswerName")%>
");
parent.ShowSays.document.write("问题::<%=application("questionName")%>");
parent.ShowSays.document.write(" <%=application("questionCent")%>分(1分钟之内,回答输入‘#答案’)<%=Time()%>
");
parent.ShowSays.document.write("A::<%=application("answerA")%>
");
parent.ShowSays.document.write("B::<%=application("answerB")%>
");
parent.ShowSays.document.write("C::<%=application("answerC")%>
");
parent.ShowSays.document.write("D::<%=application("answerD")%>
");
</script>
</head>
<body bgcolor='#FFFFFF'>
</Body>
</html>
处理答题部分略!!!
用ASP实现聊天室中的在线答题游戏
80酷酷网 80kuku.com