📄 用asp网上“五子棋"大.htm
字号:
<BR><BR><td> <BR><BR><% <BR><BR>if application("first4")=""
then <BR><BR>%> <BR><BR><form action=index0.asp?flag=First4
method=post> <BR><BR><INPUT id=text1 name=txtFirst4
size=10><INPUT id=submit1 name=submit1 <BR>type=submit
value=进入> <BR><BR></form> <BR><BR><% <BR><BR>else
<BR><BR>response.write application("first4") <BR><BR>end if
<BR><BR>%> <BR><BR></td> <BR><BR><td>大战</td>
<BR><BR><td> <BR><BR><% <BR><BR>if
application("second4")="" then <BR><BR>%> <BR><BR>
<BR><BR><form action=index0.asp?flag=second4 method=post>
<BR><BR><INPUT id=text1 name=txtSecond4 size=10><INPUT
id=submit1 <BR>name=submit1 type=submit value=进入>
<BR><BR></form> <BR><BR><% <BR><BR>else
<BR><BR>response.write application("Second4") <BR><BR>end if
<BR><BR>%> <BR><BR></td> <BR><BR></tr> <BR><BR>
<BR><BR><tr> <BR><BR><td>金星</td>
<BR><BR><td> <BR><BR><% <BR><BR>if application("first5")=""
then <BR><BR>%> <BR><BR><form action=index0.asp?flag=First5
method=post> <BR><BR><INPUT id=text1 name=txtFirst5
size=10><INPUT id=submit1 name=submit1 <BR>type=submit
value=进入> <BR><BR></form> <BR><BR><% <BR><BR>else
<BR><BR>response.write application("first5") <BR><BR>end if
<BR><BR>%> <BR><BR></td> <BR><BR><td>大战</td>
<BR><BR><td> <BR><BR><% <BR><BR>if
application("second5")="" then <BR><BR>%> <BR><BR>
<BR><BR><form action=index0.asp?flag=second5 method=post>
<BR><BR><INPUT id=text1 name=txtSecond5 size=10><INPUT
id=submit1 <BR>name=submit1 type=submit value=进入>
<BR><BR></form> <BR><BR><% <BR><BR>else
<BR><BR>response.write application("Second5") <BR><BR>end if
<BR><BR>%> <BR><BR></td> <BR><BR></tr> <BR><BR>
<BR><BR></table> <BR><BR> <BR><BR> <BR><BR></BODY>
<BR><BR></HTML>
<BR><BR> 这个文件不用做过多的说明,就是一个大的表格,大家可以从那里进入,如果某个位置已经被使用,则它会变成该大
侠的名字,不允许重复登录。在登录后进入
<BR>index0.asp,这是一个中间交换文件,在里面进行一些变量的处理及赋值,然后再进入match.asp,进行正式的比赛。我们来看一下index0.asp的内容:
<BR><BR><%@ Language=VBScript %> <BR><BR><% <BR><BR>if
Request.Form("txt" & request.querystring("flag"))<>"" then
<BR><BR>'response.write "in!" & "<Br>"
<BR><BR>session("nice")=Request.Form("txt" &
request.querystring("flag")) <BR><BR>'response.write session("nice")
& "<Br>" <BR><BR>'response.write
application(request.querystring("flag")) <BR><BR>if
application(request.querystring("flag"))="" then
<BR><BR>application(request.querystring("flag"))=session("nice")
<BR><BR>session("class")=right(request.querystring("flag"),1)
<BR><BR>if left(request.querystring("flag"),1)="f" then
<BR><BR>application(session("nice"))=false <BR><BR>elseif
left(request.querystring("flag"),1)="s" then
<BR><BR>application(session("nice"))=false
<BR><BR>application(application("first" &
session("class")))=true <BR><BR>end if <BR><BR>Response.Redirect
"match.asp" <BR><BR>end if <BR><BR> <BR><BR> <BR><BR>end if
<BR><BR> <BR><BR>%> <BR><BR><HTML> <BR><BR></HTML>
<BR><BR>
该程序中,用session(“nice”)来记录您登录的大名,以后的处理中,很多都要用到它,用它来区分很多的用户。如果您是从擂主的位置进入,则您的权利是
<BR>first,否则是second,用session("class")来记录位于哪个战场场,“金”“木”
<BR>“水”“火”“土”分别表示为1、2、3、4、5,因为有多个战场可能同时开战,如果不能正确地区分开,则可能导致一片混乱。application(session("nice"))是一个逻辑型变量,用真假来表示您是否可以出棋,如果是假,您要等待一个,如果是真,您就可以下棋了。只有一个战场上的两个人都进入了以后,擂主方可以下棋,而且只有当擂主出子以后,攻擂手才可以下棋。准备好以后,下面就进入赛场,请看文件match.asp
<BR><BR><html> <BR><BR><head> <BR><BR><meta
http-equiv="Content-Type" content="text/html; charset=gb2312">
<BR><BR><meta name="GENERATOR" content="Microsoft FrontPage
4.0"> <BR><BR><meta name="ProgId"
content="FrontPage.Editor.Document"> <BR><BR><META
http-equiv=refresh content=3>
<BR><BR><title>连珠大赛...</title> <BR><BR></head>
<BR><BR><% <BR><BR>Response.Write "擂主:" & application("first"
& session("class")) <BR>& " 攻擂:" &
application("second" & session <BR>("class")) <BR><BR>if
Request.QueryString("pos")<>"" then <BR><BR>application("pos"
& session("class") & Request.QueryString("pos")) <BR>=true
<BR><BR>end if <BR><BR>%> <BR><BR><body> <BR><BR><%
<BR><BR>'Response.Write application("aaa") <BR><BR>if
application("first" & session("class"))=session("nice") then
<BR><BR>color="black" <BR><BR>if
Request.QueryString("pos")<>"" then <BR><BR>if
session("last")="" then session("last")="abc" <BR><BR>if
session("last")<> Request.QueryString("pos") then
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>if application("second" &
session("class"))<>"" then application
<BR>(application("second" & session("class")))=true
<BR><BR>session("last")=Request.QueryString("pos") <BR><BR>END IF
<BR><BR>end if <BR><BR>else <BR><BR>if application("second" &
session("class"))=session("nice") then <BR><BR>color="white"
<BR><BR>if Request.QueryString("pos")<>"" then <BR><BR>'if
session("last")="" then session("last")="abc" <BR><BR>if
session("last")<> Request.QueryString("pos") then
<BR><BR>application(application("first" &
session("class")))=true <BR><BR>application(application("second"
& session("class")))=false
<BR><BR>session("last")=Request.QueryString("pos") <BR><BR>END IF
<BR><BR>end if <BR><BR>else <BR><BR>if application("second" &
session("class"))="" then <BR><BR>application("second" &
session("class"))=session("nice") <BR><BR>color="white" <BR><BR>if
Request.QueryString("pos")<>"" then <BR><BR>if
session("last")="" then session("last")="abc" <BR><BR>if
session("last")<> Request.QueryString("pos") then
<BR><BR>application(application("first" &
session("class")))=true <BR><BR>application(application("second"
& session("class")))=false
<BR><BR>session("last")=Request.QueryString("pos") <BR><BR>END IF
<BR><BR>end if <BR><BR>else <BR><BR>color="" <BR><BR>end if
<BR><BR>end if <BR><BR>end if <BR><BR>Response.Write "<table
width=400 height=400 border=0 cellspacing=0 <BR>cellpadding=0>"
<BR><BR>for i=1 to 16 <BR><BR>Response.Write "<tr>"
<BR><BR>for j=1 to 16 <BR><BR>if application("pos" &
session("class") & cstr(i) & "_" & cstr(j))="" <BR>then
<BR><BR>application("color" & session("class") & "_" &
Request.QueryString <BR>("pos"))=color <BR><BR>Response.Write
"<td width=25 height=25>" <BR><BR>'response.write
application(application("first" & session("class"))) <BR><BR>if
application(session("nice"))=true then <BR><BR>response.write "<a
href=match.asp?pos=" & cstr(i) & "_" & cstr(j) <BR>&
"><img border=0 src=back0.jpg width=25
height=25></a>" <BR><BR>else <BR><BR>response.write
"<img border=0 src=back0.jpg width=25 height=25>" <BR><BR>end
if <BR><BR>response.write "</td>" <BR><BR>else
<BR><BR>Response.Write "<td width=25 height=25><img
border=0 src=" & <BR>application("color" & session("class")
& "_" & cstr(i) & "_" & cstr <BR>(j)) & "0.jpg
width=25 height=25></td>" & chr(13) <BR><BR>end if
<BR><BR>next <BR><BR>Response.Write "</tr>" <BR><BR>next
<BR><BR>Response.Write "</table>" <BR><BR>'判断输赢 <BR><BR>if
application("first" & session("class"))=session("nice") then
<BR><BR>m="black" <BR><BR>h="white" <BR><BR>else <BR><BR>h="black"
<BR><BR>m="white" <BR><BR>end if <BR><BR>'横向判断"-" <BR><BR>for i=1 to
15 <BR><BR>win=false <BR><BR>loss=false <BR><BR>five_me=0
<BR><BR>five_he=0 <BR><BR>for j=1 to 15 <BR><BR>if
application("color" & session("class") & "_" & cstr(i)
& "_" & cstr <BR>(j))=m then <BR><BR>five_me=five_me+1
<BR><BR>five_he=0 <BR><BR>elseif application("color" &
session("class") & "_" & cstr(i) & "_" &
<BR>cstr(j))=h then <BR><BR>five_me=0 <BR><BR>five_he=five_he+1
<BR><BR>else <BR><BR>five_me=0 <BR><BR>five_he=0 <BR><BR>end if
<BR><BR>if five_me=5 then <BR><BR>win=true <BR><BR>loss=false
<BR><BR>exit for <BR><BR>elseif five_he=5 then <BR><BR>win=false
<BR><BR>loss=true <BR><BR>exit for <BR><BR>end if <BR><BR>next
<BR><BR>if win or loss then exit for <BR><BR>next <BR><BR>if win
then <BR><BR>response.write "你赢了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>if loss then
<BR><BR>response.write "对不起,你输了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>
<BR><BR>'列向判断"|" <BR><BR>for j=1 to 15 <BR><BR>win=false
<BR><BR>loss=false <BR><BR>five_me=0 <BR><BR>five_he=0 <BR><BR>for
i=1 to 15 <BR><BR>if application("color" & session("class")
& "_" & cstr(i) & "_" & cstr <BR>(j))=m then
<BR><BR>five_me=five_me+1 <BR><BR>five_he=0 <BR><BR>elseif
application("color" & session("class") & "_" & cstr(i)
& "_" & <BR>cstr(j))=h then <BR><BR>five_me=0
<BR><BR>five_he=five_he+1 <BR><BR>else <BR><BR>five_me=0
<BR><BR>five_he=0 <BR><BR>end if <BR><BR>if five_me=5 then
<BR><BR>win=true <BR><BR>loss=false <BR><BR>exit for <BR><BR>elseif
five_he=5 then <BR><BR>win=false <BR><BR>loss=true <BR><BR>exit for
<BR><BR>end if <BR><BR>next <BR><BR>if win or loss then exit for
<BR><BR>next <BR><BR>if win then <BR><BR>response.write "你赢了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>if loss then
<BR><BR>response.write "对不起,你输了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>
<BR><BR>'斜向判断"/" <BR><BR>for i=1 to 11 <BR><BR>win=false
<BR><BR>loss=false <BR><BR>five_me=0 <BR><BR>five_he=0 <BR><BR>for
j=i+4 to 1 step -1 <BR><BR>if application("color" &
session("class") & "_" & cstr(j) & "_" & cstr
<BR>(i+5-j))=m then <BR><BR>five_me=five_me+1 <BR><BR>five_he=0
<BR><BR>elseif application("color" & session("class") & "_"
& cstr(j) & "_" & <BR>cstr(i+5-j))=h then
<BR><BR>five_me=0 <BR><BR>five_he=five_he+1 <BR><BR>else
<BR><BR>five_me=0 <BR><BR>five_he=0 <BR><BR>end if <BR><BR>if
five_me=5 then <BR><BR>win=true <BR><BR>loss=false <BR><BR>exit for
<BR><BR>elseif five_he=5 then <BR><BR>win=false <BR><BR>loss=true
<BR><BR>exit for <BR><BR>end if <BR><BR>next <BR><BR>if win or loss
then exit for <BR><BR>next <BR><BR>if win then
<BR><BR>response.write "你赢了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>if loss then
<BR><BR>response.write "对不起,你输了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>
<BR><BR>'斜向判断"\" <BR><BR>for i=1 to 11 <BR><BR>win=false
<BR><BR>loss=false <BR><BR>five_me=0 <BR><BR>five_he=0 <BR><BR>for
j=12-i to 15 <BR><BR>if application("color" & session("class")
& "_" & cstr(13-i-j) & "_" <BR>& cstr(j))=m then
<BR><BR>five_me=five_me+1 <BR><BR>five_he=0 <BR><BR>elseif
application("color" & session("class") & "_" &
cstr(13-i-j) <BR>& "_" & cstr(j))=h then <BR><BR>five_me=0
<BR><BR>five_he=five_he+1 <BR><BR>else <BR><BR>five_me=0
<BR><BR>five_he=0 <BR><BR>end if <BR><BR>if five_me=5 then
<BR><BR>win=true <BR><BR>loss=false <BR><BR>exit for <BR><BR>elseif
five_he=5 then <BR><BR>win=false <BR><BR>loss=true <BR><BR>exit for
<BR><BR>end if <BR><BR>next <BR><BR>if win or loss then exit for
<BR><BR>next <BR><BR>if win then <BR><BR>response.write "你赢了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>if loss then
<BR><BR>response.write "对不起,你输了!"
<BR><BR>application(application("first" &
session("class")))=false <BR><BR>application(application("second"
& session("class")))=false <BR><BR>end if <BR><BR>%>
<BR><BR></body> <BR><BR></html> <BR><BR>
如果某点没有棋子,则加上一个超连接,根据擂主与攻擂手的区别放上一个不同颜色的棋子。最后的一段是用来判断输与赢,分为横,列和两个斜线方向。具体内容看一下就可以明白。
<BR><BR> 最后要说的一点就是global.asa
,这是站点上的一个核心文件,为了在退出棋局后,将位置留给别人,需要在sesison_onend中加入代码进行处理,如下:
<BR><BR><script language=vbscript runat = server> <BR><BR>sub
application_onstart <BR><BR>session.timeout=1 <BR><BR>end sub
<BR><BR>sub session_onstart <BR><BR>if application("num")="" then
<BR><BR>application("num")=0 <BR><BR>end if
<BR><BR>application("num")=application("num")+1 <BR><BR>end sub
<BR><BR></script> <BR><BR> <BR><BR><script
language=vbscript runat = server> <BR><BR>sub session_onend
<BR><BR>if application("num")="" then <BR><BR>application("num")=0
<BR><BR>end if <BR><BR>application("num")=application("num")-1
<BR><BR> <BR><BR>if application("first1")=session("nice") then
<BR><BR>application("first1")="" <BR><BR>elseif
application("second1")=session("nice") then
<BR><BR>application("second1")="" <BR><BR> <BR><BR>elseif
application("first2")=session("nice") then
<BR><BR>application("first2")="" <BR><BR>elseif
application("second2")=session("nice") then
<BR><BR>application("second2")="" <BR><BR> <BR><BR>elseif
application("first3")=session("nice") then
<BR><BR>application("first3")="" <BR><BR>elseif
application("second3")=session("nice") then
<BR><BR>application("second3")="" <BR><BR> <BR><BR>elseif
application("first4")=session("nice") then
<BR>application("first4")="" <BR>elseif
application("second4")=session("nice") then
<BR>application("second4")="" <BR> <BR><BR>elseif
application("first5")=session("nice") then
<BR><BR>application("first5")="" <BR><BR>elseif
application("second5")=session("nice") then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -