从品牌网站建设到网络营销策划,从策略到执行的一站式服务
本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下
目前成都创新互联已为上千余家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、麻栗坡网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。1.项目简介
在刚刚学习完python套接字的时候做的一个五子棋小游戏,可以在局域网内双人对战,也可以和电脑对战
2.实现思路
局域网对战
对于局域网功能来说,首先建立连接(tcp),然后每次下棋时将棋子的坐标发送给对方,当接收到坐标后实例化成棋子对象,这个接收时用了select函数,因为pygame需要循环渲染图片,所以要用非阻塞方式接收消息
select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组, 每一个数组元素都能与一打开的文件句柄(不管是Socket句柄,还是其他文件或命名管道或设备句柄)建立联系,建立联系的工作由程序员完成, 当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select()的进程哪一Socket或文件可读或可写,主要用于Socket通信当中
主要代码如下:
# 接收cli的消息 if is_people: rs, ws, es = select.select(inputs, [], [], 0) for r in rs: if r is tcpclisock: try: data = r.recv(BUFSIZ) islink = True print(data.decode('utf8')) if data.decode('utf8') == 'again': is_recieve1 = True if data.decode('utf8') == 'yes': is_playagain = True is_play = True if data.decode('utf8') == 'no': is_recieve2 = True islink = False if not is_play and not result: me = storn.Storn_Black(eval(data)) black_chesses.append(me) chesses.append(me) is_play = True except error: islink = False
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图