Go 编程 (二) 多线程简单斗地主
多线程,通道,读写锁(单写多读),随机(洗牌),是本文涉及的主要知识点。
先看一下做出来的效果,因为是实验程序,跟真实的斗地主还是有差距,理解万岁!
基本流程是洗牌->发牌->抢地主->打牌->gg。
哈哈这个程序的精髓是,由于时(lan)间(de)有(xie)限(le),打牌是哪个线程抢到了就出牌,直到牌出完了,就赢了。(多线程写斗地主,是我大学操作系统课程的实验项目,当时是完整实现了斗地主算法的,用的是C++和MFC,可以在界面上交互打牌)
边看代码变讲。
主函数
解析:
洗牌函数
解析:
发牌函数
解析:
Desk牌桌
解析:
player函数
解析:
本文的程序只是为了实验go的多线程特性,不具备可玩性,期待更多的同学请见谅。
如果需要源码的话,请到公众号回复「斗地主」获取哦。
如果你觉得这篇文章写的还不错的话,关注公众号dongfanger,你的支持就是我写文章的最大动力。
版权声明: 本文为 InfoQ 作者【测试老树】的原创文章。
原文链接:【http://xie.infoq.cn/article/2f8bb4ce425e556cfc0b85513】。文章转载请联系作者。
评论