基于Python的局域网五子棋
一、 概述
-
目的:本次课程设计是计算机网络原理课程之后的实践加强环节,通过本设计的训练使学生加深对网络协议的理解,并实践制定通信规则,同时通过实践,进一步掌握套接字编程方法,为大型网络编程打下坚实基础
-
内容:通过对传输层协议TCP和UDP和客户/服务器数据通信的原理及方式的掌握,自选任意一种开发工具,利用Winsock控件编写出指定题目的交互信息的软件
-
题目:局域网五子棋设计
-
主要完成任务:实现局域网两台计算机的交互(五子棋的实现)
二、 设计介绍
2.1 游戏规则
2.1.1 阳线和阴线
-
阳线:棋盘上可见的横纵直线
-
阴线:棋盘上无实线连接的隐形斜线
2.1.2 在棋阳线和阴线的任意一条线上形成的有5个或5个以上的同色棋子不间隔地紧紧相连。
五连:在棋盘上形成的5个同色棋子的“连”。
2.2 实现过程:
-
制定通信规范
-
画出棋盘、棋子,棋盘用画线完成,棋子用画点完成,首先添加一个PaintBox
- 画线:PaintBox.line (x1,y1) – (x2,y2)
- 画点:PaintBox.FillColor = RGB(r,g,b) PaintBox.FillStyle = VbFSSolid PaintBox.Circle (x,y) ,radius
-
清除:PaintBox.Cls
-
定义一个逻辑变量表示是否可以下棋子,定义一个二维数组存储棋盘上是否有棋子。定义一个变量表示哪一方
-
处理鼠标单击事件,根据逻辑变量的值判断是否处理,处理时将鼠标单击点坐标转换为棋盘坐标,判断棋盘数组中是否有棋子,无棋子则修改数组、画棋子、发送数据并判断胜负
-
接收数据处理:修改棋盘数组、画棋子并判断胜负
2.3使用语言及编译器
-
语言:Python
-
编译器:Pycharm
三、流程图
四、功能测试
服务端窗口
客户端窗口
游戏进行及结果
参考文献
- 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)
- 基于SSH2+AJAX架构的在线招聘求职系统设计与实现(吉林大学·李琦)
- 基于.NET的电子商务系统的设计与实现(江南大学·史威)
- 基于J2EE的分布式技术的研究与设计(武汉理工大学·谢承旺)
- 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)
- 基于EPP的域名管理系统(山东大学·孟庆领)
- 基于WEB的网络拓扑发现系统的设计与实现(华南理工大学·李康)
- 基于某军用信息系统数据库系统的设计与实现(华北工学院·马巧梅)
- 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)
- 分布式智能网络爬虫的设计与实现(中国科学院大学(工程管理与信息技术学院)·何国正)
- 基于B/S架构的科技信息管理网络系统的实现(吉林大学·于晓伟)
- 基于ArcIMS的WebGIS系统应用研究(新疆大学·孟艳红)
- 轻量级分布式虚假信息爬虫的设计与实现(辽宁大学·韩昱)
- 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
- 基于WEB的网络拓扑发现系统的设计与实现(华南理工大学·李康)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码工坊 ,原文地址:https://bishedaima.com/yuanma/35425.html