游戏黑作坊Socket联机版五子棋

Posted 游戏蛮牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游戏黑作坊Socket联机版五子棋相关的知识,希望对你有一定的参考价值。

今天东方教主带来的是一款尧舜传下来的游戏,五子棋

相传中华民族的祖先轩辕黄帝无意之中画下了十七条横线十七条竖线,这无意中的发明造就出了五子棋。汉魏时为十七路(17×17)棋盘,至南北朝时即已流行十九路(19×19)棋盘。虽然时至今日标准棋盘是十五路(15×15),但是我没找到15×15的棋盘图,就先拿围棋的十九道棋盘代替下。

史诗对局:东方喵(左手)大战令狐汪(右手)

 

(可点击图片放大)


先简单介绍下我的想法:

五子棋是两个人的游戏,所以用户列表只允许存在两个用户,记录下他们的ip与昵称,如若有多于两人的用户申请加入,服务器会返回“房间已满,登录失败”。当房间满两人时,游戏便开始,并分配下用户的棋子颜色(黑色先下)。


为了防止用户(就是老夫的左手与右手)私下作弊,将一切逻辑判断都写在服务器端,客户端只负责在棋盘上显示棋子。


至于棋盘,很自然是用一个二维数组进行存储,而游戏胜利的出现只会出现在用户所最近下的一个棋子处,所以我们就可以在用户落子之后,判断下该点的←,→,↑,↓,↖,↘,↙,↗连续为当前颜色的个数。不计入当前所下棋子,因为此棋子必定为当前颜色,←+→=横向连续个数↑+↓=竖向连续个数,↖+↘=负斜向连续个数,↙+↗=正斜向连续个数。如若以上四个个数>=4,即可判定当前用户获得胜利。


首先上服务器端code:

Program.cs

【游戏黑作坊】Socket联机版五子棋


GameClient.cs

【游戏黑作坊】Socket联机版五子棋

【游戏黑作坊】Socket联机版五子棋

ClientHandler.cs

【游戏黑作坊】Socket联机版五子棋

更多完整代码查看原文。


蛮牛社区(manew.com)分享最新的游戏研发和游戏出海相关内容。



以上是关于游戏黑作坊Socket联机版五子棋的主要内容,如果未能解决你的问题,请参考以下文章

[教你做小游戏] 用86行代码写一个联机五子棋WebSocket后端

[极致用户体验] 我做的《联机五子棋》是如何追求极致用户体验的?(下)

[教你做小游戏] 《五子棋》怎么存棋局信息?

Java五子棋游戏——控制台版

C语言小项目 -- 五子棋小游戏(通用版)

Compose Multiplatform 实战:联机五子棋