“五子棋”是大家都非常熟悉的一種益智類游戲,相關的游戲軟件也非常多,在此我向大家隆重推出一款新的純“網絡版”的五子棋,它利用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.querys