“五子棋”是大家都非常熟悉的一种益智类游戏,相关的游戏软件也非常多,在此我向大家隆重推出一款新的纯“网络版”的五子棋,它利用ASP做为开发环境,因此在Internet上对战的时候无需下载客户端软件,只要你有一个浏览器就可以了。你也可以在局域网上进行这个游戏。 对于ASP,我不想做过多的说明,在以前的文章中,我已经说过很多。 游戏的过程是这样的,我们首先登录,然后可以选择战场,有“金星”、“木星”、“水星”、“火星”、“土星”等五个战场,如果你自认为是一个高手,可以选择金星,否则可以依次选择其它几个星球做为战场。如果这个星球上没有擂主,你就应该以擂主的身份进入,然后别人就可以和你进行对战了。当然,如果所有的星球上都已经开始了战争,那么你就只能等一会儿了。 如果你是以擂主身份进入的,你可以等待别人来和你对战,如果你是以攻擂手的身份登录,你可以很快的和擂主展开战斗。开始战斗后,由擂主执黑先行,然后由攻擂手出招,如此这般。当最后决出胜负的时候,会有相应的提示。 该站点有几个主要的文件是: Index.asp 登录文件: Index0.asp中间文件: Match.asp 比赛文件: http://www.it.com.cn/f/edu/0511/26/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 [1] [2] 下一页
|