“五子棋”是大家都非常熟悉的一種益智類游戲,相關(guān)的游戲軟件也非常多,在此我向大家隆重推出一款新的純“網(wǎng)絡(luò)版”的五子棋,它利用ASP做為開發(fā)環(huán)境,因此在Internet上對(duì)戰(zhàn)的時(shí)候無(wú)需下載客戶端軟件,只要你有一個(gè)瀏覽器就可以了。你也可以在局域網(wǎng)上進(jìn)行這個(gè)游戲。 對(duì)于ASP,我不想做過(guò)多的說(shuō)明,在以前的文章中,我已經(jīng)說(shuō)過(guò)很多。 游戲的過(guò)程是這樣的,我們首先登錄,然后可以選擇戰(zhàn)場(chǎng),有“金星”、“木星”、“水星”、“火星”、“土星”等五個(gè)戰(zhàn)場(chǎng),如果你自認(rèn)為是一個(gè)高手,可以選擇金星,否則可以依次選擇其它幾個(gè)星球做為戰(zhàn)場(chǎng)。如果這個(gè)星球上沒(méi)有擂主,你就應(yīng)該以擂主的身份進(jìn)入,然后別人就可以和你進(jìn)行對(duì)戰(zhàn)了。當(dāng)然,如果所有的星球上都已經(jīng)開始了戰(zhàn)爭(zhēng),那么你就只能等一會(huì)兒了。 如果你是以擂主身份進(jìn)入的,你可以等待別人來(lái)和你對(duì)戰(zhàn),如果你是以攻擂手的身份登錄,你可以很快的和擂主展開戰(zhàn)斗。開始戰(zhàn)斗后,由擂主執(zhí)黑先行,然后由攻擂手出招,如此這般。當(dāng)最后決出勝負(fù)的時(shí)候,會(huì)有相應(yīng)的提示。 該站點(diǎn)有幾個(gè)主要的文件是: Index.asp 登錄文件: Index0.asp中間文件: Match.asp 比賽文件: http://www.it.com.cn/f/edu/0511/26/back0.jpg white0.jpg black0.jpg 中間用到的圖形文件,分別指的棋盤,白子和黑子,如下圖: 在程序的初始化的時(shí)候,將棋盤上分成若干的表格,將背景圖片放入其中,形成一個(gè)棋盤,然后在放上一個(gè)棋子后,再將圖片換上相應(yīng)的白子或黑子就可以了。 先看看登錄文件: <%@ Language=VBScript %> <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <title>星球大戰(zhàn)之“五子連珠”大賽。/title> </HEAD> <BODY> <p align=center><font size=6>星球大戰(zhàn)</font></P> <table border=1 width=80% align=center> <tr><td>星球</td><td>擂主</td><td>大戰(zhàn)</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=進(jìn)入> </form> <% else response.write application("first1") end if %> </td> <td>大戰(zhàn)</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=進(jìn)入> </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=進(jìn)入> </form> <% else response.write application("first2") end if %> </td> <td>大戰(zhàn)</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=進(jìn)入> </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=進(jìn)入> </form> <% else response.write application("first3") end if %> </td> <td>大戰(zhàn)</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=進(jìn)入> </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=進(jìn)入> </form> <% else response.write application("first4") end if %> </td> <td>大戰(zhàn)</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=進(jìn)入> </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=進(jìn)入> </form> <% else response.write application("first5") end if %> </td> <td>大戰(zhàn)</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=進(jìn)入> </form> <% else response.write application("Second5") end if %> </td> </tr> </table> </BODY> </HTML>
這個(gè)文件不用做過(guò)多的說(shuō)明,就是一個(gè)大的表格,大家可以從那里進(jìn)入,如果某個(gè)位置已經(jīng)被使用,則它會(huì)變成該大 俠的名字,不允許重復(fù)登錄。在登錄后進(jìn)入 index0.asp,這是一個(gè)中間交換文件,在里面進(jìn)行一些變量的處理及賦值,然后再進(jìn)入match.asp,進(jìn)行正式的比賽。我們來(lái)看一下index0.asp的內(nèi)容: <%@ 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”)來(lái)記錄您登錄的大名,以后的處理中,很多都要用到它,用它來(lái)區(qū)分很多的用戶。如果您是從擂主的位置進(jìn)入,則您的權(quán)利是 first,否則是second,用session("class")來(lái)記錄位于哪個(gè)戰(zhàn)場(chǎng)場(chǎng),“金”“木” “水”“火”“土”分別表示為1、2、3、4、5,因?yàn)橛卸鄠(gè)戰(zhàn)場(chǎng)可能同時(shí)開戰(zhàn),如果不能正確地區(qū)分開,則可能導(dǎo)致一片混亂。application(session("nice"))是一個(gè)邏輯型變量,用真假來(lái)表示您是否可以出棋,如果是假,您要等待一個(gè),如果是真,您就可以下棋了。只有一個(gè)戰(zhàn)場(chǎng)上的兩個(gè)人都進(jìn)入了以后,擂主方可以下棋,而且只有當(dāng)擂主出子以后,攻擂手才可以下棋。準(zhǔn)備好以后,下面就進(jìn)入賽場(chǎng),請(qǐng)看文件match.asp [1] [2] 下一頁(yè)
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!