Java游戏编程原理与实践教程 作者 陈锐 夏敏捷 葛丽萍 第15章 网络五子棋游戏.pptVIP

Java游戏编程原理与实践教程 作者 陈锐 夏敏捷 葛丽萍 第15章 网络五子棋游戏.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第15章 网络五子棋游戏 本章介绍Java下的Socket编程方法制作的“网络五子棋”程序。网络五子棋采用C/S架构,分为服务器端和客户端。服务器端运行界面如图15-1所示,游戏时服务器首先启动,单击“侦听”按钮启动服务器侦听是否有客户端连接,如果有连接则进入聊天和下棋功能,同时“侦听”按钮文字变成“正在聊天”。 用户根据提示信息,轮到自己下棋才可以在棋盘上落子,“悔棋”按钮可以在对方还没落子前悔棋。在下棋过程中服务器端用户和客户端用户之间可以聊天,服务器端用户通过“发送”按钮发送聊天信息。 网络五子棋游戏服务器端界面 网络五子棋游戏客户端界面 15.2 五子棋设计思想 15.2.1 界面设计 下棋需要有棋盘,程序中通过继承JPanel面板类GobangPanel显示如图15-3的棋盘背景图片。而棋盘线条、准星点位及双方的落子是绘制出来的。游戏界面中要求用户输入服务器IP、端口等。 15.2.2 通讯协议 为了区分通信中传送的是“输赢信息”,“下的棋子位置信息”,“重新开始”等,在发送信息的首部加上代号。定义了如下协议: (1)move | 下的棋子位置坐标(x,y) 例如: “move|1|1”表示对方下子位置坐标(1,1)。 (2)over | 那方赢的信息 例如:“over |游戏结束, 黑方胜” 表示黑方赢了。 (3)quit | 表示游戏结束,对方离开了. (4)undo| x | y 悔棋命令,表示撤销刚才自己在(x,y)坐标位置的落子。 (5)chat| 聊天内容 文字聊天协议。 15.3 关键技术 15.3.1 Socket技术 网络通信解决两个问题: (1)如何识别不同的计算机。 (2)如何传送数据。 基于TCP/IP网络的Java程序与其他程序通信中,它依靠Socket进行通信。Socket可以看成在两个程序进行通信连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。 15.4 程序设计的步骤 15.4.1 设计服务器端(Server.java) 15.4.2 设计客户端类(Client.java) 14.4 程序设计的步骤 14.4.1 设计窗口类(wuziqi2.java) 编写一个继承JFrame类的wuziqi2窗体类,用于完成游戏的各种操作。 窗体paint(Graphics g)事件中重画棋盘及所有下过的棋子,这些棋子信息保存在Vector向量v中。 14.4 程序设计的步骤 鼠标单击事件中判断单击位置是否合法,即不能再已有棋的位置点击,也不能超出游戏棋盘边界,如果合法则将此位置信息加入到Vector向量v及各自的走棋信息向量中,同时调用this.repaint()刷新屏幕并判断游戏的输赢。下子时白子先落,所以判断轮到那方走棋是通过v.size()数量奇偶判断,如果为偶数则是黑棋,奇数则是白棋。 悔棋实现也很简单,仅仅需要从保存下过的棋子的位置Vector向量v中移除最后一项(即刚走的棋子的位置信息)。这要再重画时刚走的棋子就不画重画显示出来了,因为重画paint事件是根据Vector向量v中保存的棋子位置信息重画的。 * * Java游戏编程原理与实践教程 主编 陈锐 夏敏捷 人民邮电出版社 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 棋盘背景 网络通信问题 网络中的两台计算机靠协议进行通信 网络中用IP标识不同的通信实体 IP:10 IP:08 http ftp mail 网络协议 在两台电脑间传送数据时,传送或接收数据的先后顺序,数据的格式等内容的约定构成通信的协议。 Internet网的数据传送有很多协议,如TCP/IP,UDP,FTP等,协议不同,具体到网络通信程序,接收和发送数据部分的代码会有不同。 用IP识别网络中的计算机 网络上不同的计算机用IP来标识。 实际上一个IP对应一张网卡。 如果一台电脑上有多张网卡,那么就需要多个IP来标识每一张网卡。 每个网卡有多个端口,供应用程序采用不同的通信协议传输数据。 每种协议都采用不同的端口号,端口号可以设置,如设置某网卡用8080号端口进行TCP/IP协议方式的数据传输。 网络程序的架构 一般网络上程序都是一个服务器,一个客户端,这种程序的总体结构叫架构,如上图所示这种总体结构叫C/S架构(即客户/服务器)架构。 C/S架构中,提出数据访问要求的程序叫客户端,被提出数据访问要求的程序叫服务器端。 一个客户端可能是一台配置很高的电脑,一个服务器端可能只是一台普通电脑。 客户端和服务器端可以是同一台电脑。 C S C

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档