- 浏览: 58821 次
- 性别:
- 来自: 北京
最新评论
-
wangdi:
protti 写道伤心不找方法开解自己,看这东西有球用。
分享:伤心时值得看的50句话 -
protti:
伤心不找方法开解自己,看这东西有球用。
分享:伤心时值得看的50句话 -
liuwei1981:
看不清楚,还是看留言才看明白的
分享:伤心时值得看的50句话 -
celia'sfriend:
我看不懂,难道我是稻草人?
分享:伤心时值得看的50句话 -
Friedrich:
⒈我以为小鸟飞不过沧 ...
分享:伤心时值得看的50句话
“五子棋”是大家都非常熟悉的一种益智类游戏,相关的游戏软件也非常多,在此我向大家隆重推出一款新的纯“网络版”的五子棋,它利用ASP做为开发环境,因此在Internet上对战的时候无需下载客户端软件,只要你有一个浏览器就可以了。你也可以在局域网上进行这个游戏。
游戏的过程是这样的,我们首先登录,然后可以选择战场,有“金星”、“木星”、“水星”、“火星”、“土星”等五个战场,如果你自认为是一个高手,可以选择金星,否则可以依次选择其它几个星球做为战场。如果这个星球上没有擂主,你就应该以擂主的身份进入,然后别人就可以和你进行对战了。当然,如果所有的星球上都已经开始了战争,那么你就只能等一会儿了。
如果你是以擂主身份进入的,你可以等待别人来和你对战,如果你是以攻擂手的身份登录,你可以很快的和擂主展开战斗。开始战斗后,由擂主执黑先行,然后由攻擂手出招,如此这般。当最后决出胜负的时候,会有相应的提示。
该站点有几个主要的文件是:
Index.asp 登录文件: 字串8
Index0.asp中间文件:
Match.asp 比赛文件:
Back0.jpg white0.jpg black0.jpg 中间用到的图形文件,分别指的棋盘,白子和黑子,如下图:
在程序的初始化的时候,将棋盘上分成若干的表格,将背景图片放入其中,形成一个棋盘,然后在放上一个棋子后,再将图片换上相应的白子或黑子就可以了。
先看看登录文件:
这个文件不用做过多的说明,就是一个大的表格,大家可以从那里进入,如果某个位置已经被使用,则它会变成该大 侠的名字,不允许重复登录。在登录后进入 字串1
<%@ 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 字串3
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> 字串8
<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>
index0.asp,这是一个中间交换文件,在里面进行一些变量的处理及赋值,然后再进入match.asp,进行正式的比赛。我们来看一下index0.asp的内容:
该程序中,用session(“nice”)来记录您登录的大名,以后的处理中,很多都要用到它,用它来区分很多的用户。如果您是从擂主的位置进入,则您的权利是
<%@ 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 字串1
application(session("nice"))=false
application(application("first" & session("class")))=true
end if
Response.Redirect "match.asp"
end if
end if
%>
<HTML>
</HTML>
first,否则是second,用session("class")来记录位于哪个战场场,“金”“木”
“水”“火”“土”分别表示为1、2、3、4、5,因为有多个战场可能同时开战,如果不能正确地区分开,则可能导致一片混乱。application(session("nice"))是一个逻辑型变量,用真假来表示您是否可以出棋,如果是假,您要等待一个,如果是真,您就可以下棋了。只有一个战场上的两个人都进入了以后,擂主方可以下棋,而且只有当擂主出子以后,攻擂手才可以下棋。准备好以后,下面就进入赛场,请看文件match.asp 字串2
字串8
<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
字串7
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 字串6
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 字串2
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>" 字串1
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
'列向判断"|" 字串4
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
字串3
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 字串1
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>
如果某点没有棋子,则加上一个超连接,根据擂主与攻擂手的区别放上一个不同颜色的棋子。最后的一段是用来判断输与赢,分为横,列和两个斜线方向。具体内容看一下就可以明白。
字串9
最后要说的一点就是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")=""
字串3
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")=""
字串9
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>
以上就是几个主要的文件,大家可以一试。什么,想做围棋?把棋盘改一下就可以了!
字串8
<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") 字串3
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>
相关推荐
为了实现网络通信,ASP程序会利用HTTP请求与服务器进行数据交换。每当用户进行操作,比如落子,浏览器会发送一个POST请求到服务器,携带棋盘位置等信息。服务器接收到请求后,通过ASP脚本处理逻辑,然后返回新的棋盘...
而“asp.net五子棋游戏”就是利用ASP.NET技术开发的一款在线对弈游戏,它巧妙地将传统的五子棋玩法与现代网络技术相结合,实现了玩家间的实时互动。 首先,我们需要理解五子棋的基本规则:两位玩家轮流在棋盘上放置...
本项目是利用ASP.NET技术实现的一个在线五子棋游戏,允许用户之间进行实时对战。下面我们将详细探讨这个项目的核心知识点。 1. **ASP.NET Web Forms**: ASP.NET Web Forms是ASP.NET框架的一部分,它提供了事件驱动...
在ASP.NET框架中开发一款五子棋游戏,我们可以利用ASP:Table控件来构建棋盘界面,实现用户交互。ASP:Table控件是HTML表格的服务器端版本,允许我们在网页上动态创建表格结构。以下是基于这个主题的详细知识点: 1. ...
在这个项目中,开发者利用C#的强大功能和ASP.NET的Web控件来实现五子棋的游戏逻辑和用户交互界面。游戏通常包含以下几个关键部分: 1. **用户界面**:用户界面设计简洁直观,使玩家能够轻松地在棋盘上落子。这通常...
【描述】"用ASP实现联网五子棋大赛的源代码。以上就是几个主要的文件,大家可以一试。" 提供了几个关键的文件,它们构成了这个系统的主体部分: 1. **global.asa**:这是ASP应用程序的标准配置文件,用于定义应用...
7. **算法设计**:实现五子棋的胜负判断算法,如连珠检测,可能涉及深度优先搜索(DFS)或其他AI策略。 8. **网络编程**:如果游戏支持在线对战,还需要实现网络通信功能,如使用Socket编程或WebSocket进行实时数据...
5. **游戏逻辑**:实现五子棋的规则,如落子、检查胜负、悔棋等功能。 6. **并发控制**:在网络游戏中,需要处理并发请求,确保游戏的公平性和一致性。 7. **错误处理和调试**:如何添加适当的异常处理代码,以及...
HTML5五子棋小游戏是一种基于Web的休闲娱乐项目,它利用HTML5的Canvas技术来绘制游戏界面,并结合JavaScript实现游戏逻辑。在这个项目中,玩家可以选择与电脑对战或与其他玩家进行双人对局,提供了丰富的游戏体验。...
【描述】: 本文档详述了如何利用.NET框架开发一个五子棋对战系统,涵盖了系统设计、实现过程及其关键技术。 【标签】: .NET, 五子棋, 对战系统, 设计, 实现 【正文】: 第 1 章 绪 论 1.1 选题背景 五子棋是一种...
- 要求:利用ASP、PHP、JSP等创建动态网站,集成数据库如Access、MS SQL、MySQL、Oracle等。 - 实现:设计用户注册、登录、图书查询、借阅等功能,实现一个完整的网上图书馆系统。 这些设计题目涵盖了计算机网络...
- 思考题涉及局域网聊天室的实现,利用网络广播知识。 4. **网络版小游戏** - 通过设计一对一的网络版小游戏,如Tic-Tac-Toe或五子棋,掌握Socket编程基础。 - 学习内容包括服务器端和客户端的设计,以及游戏...
1. **ASP.NET 实验室网络管理系统**:这类系统设计旨在利用ASP.NET技术构建一个网络化的实验室管理平台,可能包括资源分配、设备预约、实验报告提交等功能,提升实验室的运营效率。 2. **IPv6环境下FTP系统设计**:...
在ASP中开发游戏,开发者需要掌握如何利用服务器端脚本处理用户输入、更新游戏状态、以及返回游戏画面给客户端。这通常涉及到HTML、CSS和JavaScript的前端知识,以及ASP的后端处理逻辑。 在【压缩包子文件的文件...
标题中的“棋室插件 for dvbbs 6.0”指的是一个专为DVBBS(Discuz! Board Version 6.0)论坛系统设计的扩展功能模块。...其核心功能可能通过wlyx.asp实现,而help.txt则是为了确保用户能够顺利地安装和利用这个插件。
在论文中可能涉及如何利用ASP.NET来实现实验室网络管理系统。 2. **FTP客户端的设计与实现**:FTP(文件传输协议)是用于在互联网上传输文件的标准协议。设计和实现FTP客户端涉及理解FTP协议的工作原理,以及如何...
而"无FTP客户端的设计与实现"则探讨了如何在不依赖传统FTP客户端的情况下,通过ASP.NET构建文件传输功能。 在Java领域,J2EE被广泛应用于公交查询系统、音像店租赁管理系统和班主任管理系统等,显示了Java在企业级...
13. JAVA面向Internet的CSCW(协同工作)共享白板设计与实现:这是一种在线协作工具,利用JAVA实现跨网络的实时共享和通信。 14. JAVA网络通信系统的研究与开发:这可能涉及到TCP/IP协议栈、套接字编程和网络安全。...
3. **移动应用开发**:J2ME是Java的一个子集,用于开发移动设备上的应用程序,如手机游戏(Beckham Goal、五子棋、俄罗斯方块)和掌上网络商店。这些应用的开发环境多为Eclipse。 4. **数据库技术**:SQL Server是...