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