基于Python的局域网五子棋

基于Python的局域网五子棋 一, 概述 目的:本次课程设计是计算机网络原理课程之后的实践加强环节,通过本设计的训练使学生加深对网络协议的理解

本文包含相关资料包-----> 点击直达获取<-------

基于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://m.bishedaima.com/yuanma/35425.html

相关推荐

发表回复

登录后才能评论