帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
用ASP实现聊天室中的在线答题游戏
作者:佚名 发布时间:2005-04-02 来源:不详
 

主要功能为:在聊天室中,每隔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("******系统消息:******<br>"); //向聊天室显示对话窗口写入问题
parent.ShowSays.document.write("**上题答对者为:<%=application"CanswerName")%><br>");
parent.ShowSays.document.write("问题::<%=application("questionName")%>");
parent.ShowSays.document.write(" <%=application("questionCent")%>分(1分钟之内,回答输入‘#答案’)<%=Time()%><br>");
parent.ShowSays.document.write("A::<%=application("answerA")%><br>");
parent.ShowSays.document.write("B::<%=application("answerB")%><br>");
parent.ShowSays.document.write("C::<%=application("answerC")%><br>");
parent.ShowSays.document.write("D::<%=application("answerD")%><br>");
</script>
</head>
<body bgcolor='#FFFFFF'>
</Body>
</html>
处理答题部分略!!! 答案处理部分,放在处理发送对话信息的程序中即可。下面是答案处理的代码部分: if mid(FStr,i,1)="#" then 'FStr是保存对话信息的字符串变量
TFstr=mid(FStr,i+1,1)
if CInt(DateDiff("n",application("questionTime"),Now()))<=1 then '判断时间1分钟内答题有效
if LCase(TFstr)=LCase(application("answerTrue")) then '判断答题是否正确
if instr(1,application("answerName"),session("USER_USERNAME"))>0 then '判断用户是否已经答过题了
TFstr=session("USER_USERNAME")&"已经答过这道了!!!"
else
TFstr=session("USER_USERNAME")&"答题正确!"
Session("USER_EXP") =Session("USER_EXP")+application("questionCent") '给答对题的用户加分
application("answerName")=application("answerName")&session("USER_USERNAME")&" " '保存答对题用户的名字
end if
else
if instr(1,application("TanswerName"),session("USER_USERNAME"))>0 then ''判断用户是否已经答过题了 TFstr=session("USER_USERNAME")&"已经答过这道了!!!"
else
application("TanswerName")=application("TanswerName")&session("USER_USERNAME")&" " '保存答错题用户的名字
end if
end if
end if

 
 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·巧用ASP生成PDF文件扣  (2005-04-02)
 ·用ASP编程实现快速查找  (2005-04-02)
 ·用asp怎样编写文档搜索页面  (2005-04-02)
 ·使用ASP加密算法加密你的数据  (2005-04-02)
 ·利用ASP制作EXECL报表方法  (2005-04-02)
 ·ADSI,使用ASP来实现通用的对数据  (2005-04-02)
 ·ADSI,使用ASP来完成NT管理  (2005-04-02)
 ·使用ASP实现基于WEB的数据库资料  (2005-04-02)
 ·用ASP自动生成SQL数据库的安装源  (2005-04-02)
 ·用ASP代码创建EXCHANGE2000用户  (2005-04-02)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统