第7章网络五子棋游戏.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第7章网络五子棋游戏

五子棋是起源于中国古代的传统黑白棋种之一,发展于日本,风靡欧洲。对于它与围棋的关系有两种说法,一说早于围棋,

早在“尧造围棋”之前,民间就已有五子棋游戏;另一说源于围棋,是围棋发展的一个分支。

网络的普及和网络通信技术的发展,使网络游戏近年来得到了迅猛发展。大型的网络游戏固然让很多人热衷,小型的如五子棋、围棋、象棋等对抗性的智力游戏也很吸引网络用户的注

意。本章将利用C#作为开发工具,借助网络通信技术,实现能在局域网一棋游戏。

7.1项目展示

网络五子棋游戏的运行界面如图所示。该程序本质上是一个点对点的程序,开始运行时首先选择执黑或执白,然后输入对方的IP地址,单击“连接”按钮建立与对方的连接。成功连接后在界面右边的listbox控件中将会显示对方的IP以及棋子的颜色。

游戏进行过程中,左下角显示下一手轮到哪一方下棋。每走一步,程序自动判断是否有玩家获胜。当一方退出游戏时,另一方的

listbox控件中会显示“对方已退出游戏”的提示信息。

两络版五子棋O区

网络版五子棋

游戏选项

◎选择白棋O选择黑棋

连接

456789ABCDEF退出

图7.1网络五子棋游戏的运行界面2

7.2任务1:游戏的设计

力能的设计

数据结构的设计

程序资源的管理

4应用协议的设计

事件的设计

7.2.1功能的设计

(1)五子棋程序可以在局域网上运行,是点对点的,游戏双方的界面相同。

(2)打开的游戏界面,双方都可以自由选择黑棋或者白棋,然后在“对方IP”文本框中输入对方的IP地址,单击“连接”按钮,如果正常连接,listbox控件中出现提示信息,可以进行游戏了,此时“连接”按钮变为不可用。

(3)黑棋先行,左下角显示的是下一步该黑行棋还是该白行棋,任何一方不能连下两步棋。用户用鼠标在棋盘交叉的位置左键单击下棋,如果用户在棋盘交叉位置以外的地方单击鼠标,程序不响应。

(4)程序可以判断是否有一方获胜,如果有,则清除棋盘上所有内容,重新开始一局棋。用户随时可以单击“退出”按钮(或按Esc键)退出游戏,程序通知对方本方已退出,游戏结束。

4

数据结构是程序的核心,对后面程序的开发影响很大,因此需要首先根据程序的功能进行仔细的设计。五子棋游戏的棋盘是的大小是15行15列,在游戏进行过程中需要随时记录棋盘上各个棋子的位置。因此,在程序中用一个15×15的整数数组来保存棋盘的信息。棋子只有黑白两种,程序中需要记录玩家选择的是黑棋还是白棋,用一个整数变量可以表示,其值只能是0(WHITE)或

1(BLACK)。程序运行过程中,黑白双方是交替下棋的,

任何一方不可以连续走两步。程序中使用一个变量来表示下一手棋是黑还是白,只有当nextPlayer的值与玩家的棋子MyPlayer的值一致时,玩家才可以在棋盘上落子。程序中既需要发送网络数据,又需要接收网络数据,因此在Form类中分别定义了发送对象send0bj和接收对象listen0bj。

5

所谓的应用协议,并不是指网络应用协议FTP、HTTP等,而是指游戏运行过程中,五子棋程序通过网络发送和接收的数据格式及含义。根据游戏功能的设计,游戏进行过程中,双方通过网络发送的数据包括以下几种:

(1)发起连接

(2)下棋的位置信息

(3)退出游戏

7.2.4坐标的转换

在五子棋游戏中存在着两种坐标:一种是实际坐标,以屏幕像素为单位,向右的方向为X正方向,向下的方向为Y正方向,用于表示鼠标左键单击的位置;另一种是逻辑坐标,对应于程序中的二维数组

GameBoard[][],用于表示棋子在棋盘上的位置,该数据是0~14之间的整数。图7.2中,0点是坐标的原点,A点是棋盘的左上角,其位置是(25,15),棋子的大小为20×20像素,图中的圆表示一个棋子,B点表示棋子外矩形的左上角,其位置为(15,6)。

图7.2棋子坐标的转换

7.3.1图片资源

在程序中使用ImageList控件来管理黑子和白子的图片资

您可能关注的文档

文档评论(0)

178****8896 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档