首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 虚拟主机评测对比
用ASP实现网上“五子棋”大赛-ASP教程,ASP应用
作者:网友供稿 点击:6
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
“五子棋”是大家都非常熟悉的一种益智类游戏,相关的游戏软件也非常多,在此我向大家隆重推出一款新的纯“网络版”的五子棋,它利用asp做为开发环境,因此在internet上对战的时候无需下载客户端软件,只要你有一个浏览器就可以了。你也可以在局域网上进行这个游戏。

   对于asp,我不想做过多的说明,在以前的文章中,我已经说过很多。

   游戏的过程是这样的,我们首先登录,然后可以选择战场,有“金星”、“木星”、“水星”、“火星”、“土星”等五个战场,如果你自认为是一个高手,可以选择金星,否则可以依次选择其它几个星球做为战场。如果这个星球上没有擂主,你就应该以擂主的身份进入,然后别人就可以和你进行对战了。当然,如果所有的星球上都已经开始了战争,那么你就只能等一会儿了。

   如果你是以擂主身份进入的,你可以等待别人来和你对战,如果你是以攻擂手的身份登录,你可以很快的和擂主展开战斗。开始战斗后,由擂主执黑先行,然后由攻擂手出招,如此这般。当最后决出胜负的时候,会有相应的提示。

该站点有几个主要的文件是:

index.asp 登录文件:

index0.asp中间文件:

match.asp 比赛文件:

   back0.jpg white0.jpg black0.jpg 中间用到的图形文件,分别指的棋盘,白子和黑子,如下图:

在程序的初始化的时候,将棋盘上分成若干的表格,将背景图片放入其中,形成一个棋盘,然后在放上一个棋子后,再将图片换上相应的白子或黑子就可以了。

先看看登录文件:

<%@ language=vbscript %>

<html>

<head>

<meta name="generator" content="microsoft visual studio 6.0">

<title>星球大战之“五子连珠”大赛!</title>

</head>

<body>

 

<p align=center><font size=6>星球大战</font></p>

<table border=1 width=80% align=center>

<tr><td>星球</td><td>擂主</td><td>大战</td><td>攻擂</td></tr>

<tr>

<td>金星</td>

<td>

<%

if application("first1")="" then

%>

<form action=index0.asp?flag=first1 method=post>

<input id=text1 name=txtfirst1 size=10><input id=submit1 name=submit1
type=submit value=进入>

</form>

<%

else

response.write application("first1")

end if

%>

</td>

<td>大战</td>

<td>

<%

if application("second1")="" then

%>

 

<form action=index0.asp?flag=second1 method=post>

<input id=text1 name=txtsecond1 size=10><input id=submit1
name=submit1 type=submit value=进入>

</form>

<%

else

response.write application("second1")

end if

%>

</td>

</tr>

 

<tr>

<td>木星</td>

<td>

<%

if application("first2")="" then

%>

<form action=index0.asp?flag=first2 method=post>

<input id=text1 name=txtfirst2 size=10><input id=submit1 name=submit1
type=submit value=进入>

</form>

<%

else

response.write application("first2")

end if

%>

</td>

<td>大战</td>

<td>

<%

if application("second2")="" then

%>

 

<form action=index0.asp?flag=second2 method=post>

<input id=text1 name=txtsecond2 size=10><input id=submit1
name=submit1 type=submit value=进入>

</form>

<%

else

response.write application("second2")

end if

%>

</td>

</tr>

 

<tr>

<td>金星</td>

<td>

<%

if application("first3")="" then

%>

<form action=index0.asp?flag=first3 method=post>

<input id=text1 name=txtfirst3 size=10><input id=submit1 name=submit1
type=submit value=进入>

</form>

<%

else

response.write application("first3")

end if

%>

</td>

<td>大战</td>

<td>

<%

if application("second3")="" then

%>

 

<form action=index0.asp?flag=second3 method=post>

<input id=text1 name=txtsecond3 size=10><input id=submit1
name=submit1 type=submit value=进入>

</form>

<%

else

response.write application("second3")

end if

%>

</td>

</tr>

 

<tr>

<td>金星</td>

<td>

<%

if application("first4")="" then

%>

<form action=index0.asp?flag=first4 method=post>

<input id=text1 name=txtfirst4 size=10><input id=submit1 name=submit1
type=submit value=进入>

</form>

<%

else

response.write application("first4")

end if

%>

</td>

<td>大战</td>

<td>

<%

if application("second4")="" then

%>

 

<form action=index0.asp?flag=second4 method=post>

<input id=text1 name=txtsecond4 size=10><input id=submit1
name=submit1 type=submit value=进入>

</form>

<%

else

response.write application("second4")

end if

%>

</td>

</tr>

 

<tr>

<td>金星</td>

<td>

<%

if application("first5")="" then

%>

<form action=index0.asp?flag=first5 method=post>

<input id=text1 name=txtfirst5 size=10><input id=submit1 name=submit1
type=submit value=进入>

</form>

<%

else

response.write application("first5")

end if

%>

</td>

<td>大战</td>

<td>

<%

if application("second5")="" then

%>

 

<form action=index0.asp?flag=second5 method=post>

<input id=text1 name=txtsecond5 size=10><input id=submit1
name=submit1 type=submit value=进入>

</form>

<%

else

response.write application("second5")

end if

%>

</td>

</tr>

 

</table>

 

 

</body>

</html>

这个文件不用做过多的说明,就是一个大的表格,大家可以从那里进入,如果某个位置已经被使用,则它会变成该大 侠的名字,不允许重复登录。在登录后进入
index0.asp,这是一个中间交换文件,在里面进行一些变量的处理及赋值,然后再进入match.asp,进行正式的比赛。我们来看一下index0.asp的内容:

<%@ language=vbscript %>

<%

if request.form("txt" & request.querystring("flag"))<>"" then

response.write "in!" & ""

session("nice")=request.form("txt" & request.querystring("flag"))

response.write session("nice") & ""

response.write application(request.querystring("flag"))

if application(request.querystring("flag"))="" then

application(request.querystring("flag"))=session("nice")

session("class")=right(request.querystring("flag"),1)

if left(request.querystring("flag"),1)="f" then

application(session("nice"))=false

elseif left(request.querystring("flag"),1)="s" then

application(session("nice"))=false

application(application("first" & session("class")))=true

end if

response.redirect "match.asp"

end if

 

 

end if

 

%>

<html>

</html>

   该程序中,用session(“nice”)来记录您登录的大名,以后的处理中,很多都要用到它,用它来区分很多的用户。如果您是从擂主的位置进入,则您的权利是
first,否则是second,用session("class")来记录位于哪个战场场,“金”“木”
“水”“火”“土”分别表示为1、2、3、4、5,因为有多个战场可能同时开战,如果不能正确地区分开,则可能导致一片混乱。application(session("nice"))是一个逻辑型变量,用真假来表示您是否可以出棋,如果是假,您要等待一个,如果是真,您就可以下棋了。只有一个战场上的两个人都进入了以后,擂主方可以下棋,而且只有当擂主出子以后,攻擂手才可以下棋。准备好以后,下面就进入赛场,请看文件match.asp

<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"))
& " &nbsp; &nbsp;攻擂:" & 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>

以上就是几个主要的文件,大家可以一试。什么,想做围棋?把棋盘改一下就可以了。

祝大家成功!
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Asp.Net下导出/导入规则的Excel(.xls)文件-ASP教程,ASP应用
·中国万网,万网
·中资源
·上海火速
·加拿大中文网
·华夏名网
·世纪东方
·商务中国
·中国E动网
·神话网络
最新文章
·photoshop抠图合成特效:飞出照片相框_photoshop教程
·将升级的windows vista驱动还原到原来的版本_windows vista
·photoshop漫画笔刷绘制非主流照片漫画_photoshop教程
·看域名注册信息判断网赚公司真假_网赚技巧
·找坐标:对网站进行坐标定位_站长心得
·如何增加网站pv_站长心得
·google性格一:对活跃度高的网页收录很快_google推广
·googleadsense容易被k的可能性列表_google推广
·价值数万的googlepr作弊方_google推广
·如何抢占人家的“首要意念”_google推广
相关主题
  • 用asp实现支持附件的email系统_邮件服务器
  • 用asp实现支持附件的email系统_邮件服务器
  • 用asp实现自己的UrlDeCode-ASP教程,ASP应用
  • 用asp实现base64编码-ASP教程,ASP应用
  • 用ASP实现自动建站.实现虚拟二级目录-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭