叶子谷- 网页教程

RSS订阅 站长资讯通告:
搜索: 您现在的位置: 叶子谷 >> 技术学习 >> Asp ※ Php >> 正文

用ASP实现网上“五子棋”大赛

2008-06-10 13:50:46 来源:网络收集 作者:佚名 【 点击:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<META http-equiv=refresh content=3>
<title>连珠大赛...</title>
</head>
<%
Response.Write "擂主:" & application("first" & session("class"))
& "    攻擂:" & application("second" & session
("class"))
if Request.QueryString("pos")<>"" then
application("pos" & session("class") & Request.QueryString("pos"))
=true
end if
%>
<body>
<%
'Response.Write application("aaa")
if application("first" & session("class"))=session("nice") then
color="black"
if Request.QueryString("pos")<>"" then
if session("last")="" then session("last")="abc"
if session("last")<> Request.QueryString("pos") then
application(application("first" & session("class")))=false
if application("second" & session("class"))<>"" then application
(application("second" & session("class")))=true
session("last")=Request.QueryString("pos")
END IF
end if
else
if application("second" & session("class"))=session("nice") then
color="white"
if Request.QueryString("pos")<>"" then
'if session("last")="" then session("last")="abc"
if session("last")<> Request.QueryString("pos") then
application(application("first" & session("class")))=true
application(application("second" & session("class")))=false
session("last")=Request.QueryString("pos")
END IF
end if
else
if application("second" & session("class"))="" then
application("second" & session("class"))=session("nice")
color="white"
if Request.QueryString("pos")<>"" then
if session("last")="" then session("last")="abc"
if session("last")<> Request.QueryString("pos") then
application(application("first" & session("class")))=true
application(application("second" & session("class")))=false
session("last")=Request.QueryString("pos")
END IF
end if
else
color=""
end if
end if
end if
Response.Write "<table width=400 height=400 border=0 cellspacing=0
cellpadding=0>"
for i=1 to 16
Response.Write "<tr>"
for j=1 to 16
if application("pos" & session("class") & cstr(i) & "_" & cstr(j))=""
then
application("color" & session("class") & "_" & Request.QueryString
("pos"))=color
Response.Write "<td width=25 height=25>"
'response.write application(application("first" & session("class")))
if application(session("nice"))=true then
response.write "<a href=match.asp?pos=" & cstr(i) & "_" & cstr(j)
& "><img border=0 src=back0.jpg width=25 height=25></a>"
else
response.write "<img border=0 src=back0.jpg width=25 height=25>"
end if
response.write "</td>"
else
Response.Write "<td width=25 height=25><img border=0 src=" &
application("color" & session("class") & "_" & cstr(i) & "_" & cstr
(j)) & "0.jpg width=25 height=25></td>" & chr(13)
end if
next
Response.Write "</tr>"
next
Response.Write "</table>"
'判断输赢
if application("first" & session("class"))=session("nice") then
m="black"
h="white"
else
h="black"
m="white"
end if
'横向判断"-"
for i=1 to 15
win=false
loss=false
five_me=0
five_he=0
for j=1 to 15
if application("color" & session("class") & "_" & cstr(i) & "_" & cstr
(j))=m then
five_me=five_me+1
five_he=0
elseif application("color" & session("class") & "_" & cstr(i) & "_" &
cstr(j))=h then
five_me=0
five_he=five_he+1
else
five_me=0
five_he=0
end if
if five_me=5 then
win=true
loss=false
exit for
elseif five_he=5 then
win=false
loss=true
exit for
end if
next
if win or loss then exit for
next
if win then
response.write "你赢了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
if loss then
response.write "对不起,你输了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
 
'列向判断"|"
for j=1 to 15
win=false
loss=false
five_me=0
five_he=0
for i=1 to 15
if application("color" & session("class") & "_" & cstr(i) & "_" & cstr
(j))=m then
five_me=five_me+1
five_he=0
elseif application("color" & session("class") & "_" & cstr(i) & "_" &
cstr(j))=h then
five_me=0
five_he=five_he+1
else
five_me=0
five_he=0
end if
if five_me=5 then
win=true
loss=false
exit for
elseif five_he=5 then
win=false
loss=true
exit for
end if
next
if win or loss then exit for
next
if win then
response.write "你赢了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
if loss then
response.write "对不起,你输了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
 
'斜向判断"/"
for i=1 to 11
win=false
loss=false
five_me=0
five_he=0
for j=i+4 to 1 step -1
if application("color" & session("class") & "_" & cstr(j) & "_" & cstr
(i+5-j))=m then
five_me=five_me+1
five_he=0
elseif application("color" & session("class") & "_" & cstr(j) & "_" &
cstr(i+5-j))=h then
five_me=0
five_he=five_he+1
else
five_me=0
five_he=0
end if
if five_me=5 then
win=true
loss=false
exit for
elseif five_he=5 then
win=false
loss=true
exit for
end if
next
if win or loss then exit for
next
if win then
response.write "你赢了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
if loss then
response.write "对不起,你输了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
 
'斜向判断"\"
for i=1 to 11
win=false
loss=false
five_me=0
five_he=0
for j=12-i to 15
if application("color" & session("class") & "_" & cstr(13-i-j) & "_"
& cstr(j))=m then
five_me=five_me+1
five_he=0
elseif application("color" & session("class") & "_" & cstr(13-i-j)
& "_" & cstr(j))=h then
five_me=0
five_he=five_he+1
else
five_me=0
five_he=0
end if
if five_me=5 then
win=true
loss=false
exit for
elseif five_he=5 then
win=false
loss=true
exit for
end if
next
if win or loss then exit for
next
if win then
response.write "你赢了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
if loss then
response.write "对不起,你输了!"
application(application("first" & session("class")))=false
application(application("second" & session("class")))=false
end if
%>
</body>
</html>
如果某点没有棋子,则加上一个超连接,根据擂主与攻擂手的区别放上一个不同颜色的棋子。最后的一段是用来判断输与赢,分为横,列和两个斜线方向。具体内容看一下就可以明白。
最后要说的一点就是global.asa ,这是站点上的一个核心文件,为了在退出棋局后,将位置留给别人,需要在sesison_onend中加入代码进行处理,如下:

<script language=vbscript runat = server>
sub application_onstart
session.timeout=1
end sub
sub session_onstart
if application("num")="" then
application("num")=0
end if
application("num")=application("num")+1
end sub
</script>
 
<script language=vbscript runat = server>
sub session_onend
if application("num")="" then
application("num")=0
end if
application("num")=application("num")-1
 
if application("first1")=session("nice") then
application("first1")=""
elseif application("second1")=session("nice") then
application("second1")=""
 
elseif application("first2")=session("nice") then
application("first2")=""
elseif application("second2")=session("nice") then
application("second2")=""
 
elseif application("first3")=session("nice") then
application("first3")=""
elseif application("second3")=session("nice") then
application("second3")=""
 
elseif application("first4")=session("nice") then
application("first4")=""
elseif application("second4")=session("nice") then
application("second4")=""
 
elseif application("first5")=session("nice") then
application("first5")=""
elseif application("second5")=session("nice") then
application("second5")=""
end if
for i=1 to 15
for j=1 to 15
application("color" & session("class") & "_" & cstr(i) & "_" & cstr
(J))=""
application("pos" & session("class") & cstr(i) & "_" & cstr(j))=""
next
next
application(session("nice"))=""
end sub
</script>
以上就是几个主要的文件,大家可以一试。什么,想做围棋?把棋盘改一下就可以了。
祝大家成功!

上一页  [1] [2] 

Tags: Asp,教程,,实例  
责任编辑:cptedu
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】   
    姓 名: * Oicq:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    设为首页 -加入收藏 - 联系我们 - 友情链接 - 版权声明 - 管理登陆