游戲準(zhǔn)備和退出網(wǎng)絡(luò)對(duì)戰(zhàn)(圖)游戲開(kāi)始服務(wù)端
2021-09-17
:
該項(xiàng)目由可以進(jìn)行網(wǎng)絡(luò)對(duì)戰(zhàn)的五子棋的客戶端和服務(wù)端組成,使用的語(yǔ)言是C/C++(基本都是C++)。
客戶端使用的是Qt客戶端編程語(yǔ)言,包括功能有本地游戲和網(wǎng)絡(luò)游戲,網(wǎng)絡(luò)游戲主要流程為:連接服務(wù)器——>刷新戰(zhàn)局加入他人的房間/創(chuàng)建房間——>雙方準(zhǔn)備游戲——>游戲開(kāi)始
服務(wù)端核心是下網(wǎng)路編程,使用的模型。
使用方法:如果有Qt環(huán)境可以直接使用game.exe文件,如果沒(méi)有則要打開(kāi).pro編譯。客戶端的主界面中左上角的小按鈕可以設(shè)置IP地址和端口號(hào),默認(rèn)的IP地址是在某企鵝云上購(gòu)買(mǎi)的一個(gè)服務(wù)器,在此服務(wù)器上存放了服務(wù)端的代碼,這種情況下可以跨局域網(wǎng)連接,當(dāng)然前提是我開(kāi)著。
直接使用:在下./,不加參數(shù)默認(rèn)就是你的IP地址,端口號(hào)為4396,在客戶端上點(diǎn)擊左上角更改IP地址和端口,這樣就可以聯(lián)機(jī)了(限同網(wǎng)的情況下,例如同一學(xué)校的校園網(wǎng))
主界面:
網(wǎng)絡(luò)對(duì)戰(zhàn)匹配界面:
1:連接服務(wù)器,此時(shí)會(huì)有三種狀態(tài)在上面的標(biāo)簽中顯示:綠色(連接成功)紅色(未連接)藍(lán)色(正在連接)。
2:刷新戰(zhàn)局,向服務(wù)器請(qǐng)求當(dāng)前已有的房間,不包括已經(jīng)有兩個(gè)人和正在游戲的房間對(duì)局。 創(chuàng)建房間,以創(chuàng)建房間按鈕左邊的文本框內(nèi)容作為房間標(biāo)題,創(chuàng)建房間,并將房間信息、ip地址、端口號(hào)發(fā)送給服務(wù)器。 退出網(wǎng)絡(luò)對(duì)戰(zhàn),斷開(kāi)連接,回到主界面,回收類的對(duì)象。
3:點(diǎn)擊刷新戰(zhàn)局后,出現(xiàn)的可加入房間客戶端編程語(yǔ)言,點(diǎn)擊join加入。
游戲準(zhǔn)備界面
1:準(zhǔn)備和退出游戲,準(zhǔn)備與否的狀態(tài)在棋盤(pán)中間顯示,未準(zhǔn)備則顯示,準(zhǔn)備則為,當(dāng)雙方都處于準(zhǔn)備狀態(tài),服務(wù)器向雙方客戶端發(fā)送游戲開(kāi)始信息,客戶端接受信息后進(jìn)入下一階段。
2:對(duì)手信息,頭像框?yàn)楹谏臅r(shí)候,說(shuō)明沒(méi)有對(duì)手加入房間,圖中狀態(tài)為有對(duì)象處于房間中,并且會(huì)給出相應(yīng)的信息(準(zhǔn)備狀態(tài)、ip地址、服務(wù)器分配的套接字)。
3:準(zhǔn)備狀態(tài)
先后手
雙方準(zhǔn)備完畢游戲開(kāi)始時(shí)候的第一個(gè)界面,此時(shí)任何一方點(diǎn)擊先手/后手,對(duì)手方都會(huì)得到相對(duì)應(yīng)的顏色。(手速流)
游戲開(kāi)始 1:悔棋和認(rèn)輸按鈕,使用后向服務(wù)器發(fā)送相應(yīng)的玩家請(qǐng)求,服務(wù)器接受到玩家請(qǐng)求時(shí)候會(huì)直接交由另一邊的客戶端進(jìn)行處理,此時(shí)發(fā)送方游戲會(huì)進(jìn)入等待狀態(tài)。
2:存放玩家的顏色,并且下邊的標(biāo)簽會(huì)實(shí)時(shí)更新當(dāng)前為哪位玩家的回合。
3:棋盤(pán)界面
4:聊天界面
:
:
: