网络五子棋的通信原理及编程_凌仕华.pdf

网络五子棋的通信原理及编程_凌仕华.pdf

ID:52350274

大小:866.44 KB

页数:7页

时间:2020-03-26

网络五子棋的通信原理及编程_凌仕华.pdf_第1页
网络五子棋的通信原理及编程_凌仕华.pdf_第2页
网络五子棋的通信原理及编程_凌仕华.pdf_第3页
网络五子棋的通信原理及编程_凌仕华.pdf_第4页
网络五子棋的通信原理及编程_凌仕华.pdf_第5页
资源描述:

《网络五子棋的通信原理及编程_凌仕华.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GAMEPROGRAM游戏编程网络五子棋的通信原理及编程凌仕华汪琴摘要:五子棋是一种广为人知的益智娱乐游戏,当今计算机网络应用几乎无处不在。论述了通过计算机网络运行五子棋的原理及Java语言关键代码实现。关键词:计算机网络;五子棋;Java语言;Socket通信五子棋是一种广为人知的益智娱乐游戏,现在的很多家庭InputStreamis=serverSocket.getInputStream();有两台及以上的计算机组成局域网,这样可以让五子棋能通过网络五子棋程序采用C/S模式,该程序既是客户端也是服网络来博弈。下文就如何通过局域网或因特网互连来博弈的网务器端。五子棋实现的原理是创建

2、一个字节二维数组,数组中络五子棋实现进行讲解,程序代码采用Java语言编写。存放棋子(白方用1代表,黑方用-1代表,没有棋子则为0),然后通过网络将该数组发给彼此,如果数组中有数据改变(从1原理0变为1或-1)则立刻更新屏幕,就像用户下了一颗棋一样,计算机中的网络应用程序通过网络(包括局域网、因特网如果数组矩阵中有某颜色五个棋子并列排成一行、一列或一斜等)将数据发给对方应用程序,这种数据传输是通过计算机网列都算是赢了:络的应用层中的某个端口来实现。也即是服务器端应用程序启privatebyte[][]chessmanArray=newbyte[15][15];//定动系统的某个端口(

3、例如SQLServer的1433端口),然后不间//义棋子数组,有15行与15列矩阵断地侦听该端口传来的数据并做相应处理或将数据从某端口发2编程送给对方。在Java语言中,首先是通过ServerSocket类来创建一个服务器套接字(ServerSocket),再在该套接字上绑定一个界面如图1所示。端口。例如:ServerSocketchatSocketServer=newServerSocket(8500);//创建一个服务器套接字(Socket),并绑定到8500端口//(port)接着通过创建的ServerSocket对象中的accept()方法来创建一个套接字(Socket),

4、然后再在创建的套接字端口上侦听从网络传来的数据,例如:SocketserverSocket=chatSocketServer.accept();在这Java语言中accept()方法是用来侦听(listen)从某个连接套接字端口上是不是有数据传来,如果有就接收该数据,否则就不断侦听。如果要往套接字中接入的某个连接传输图1程序运行界面数据给对方主机应用程序,只要通过套接字(在Java中是2.1在屏幕中绘制棋盘Socket类的对象)中的getOutputStream()方法创建一个输入首先在屏幕中制作一个棋盘,通过java.awt中Graphics2D输出流,然后再往其中写入想要输入的数

5、据。程序如下:类的对象中的方法来实现。程序如下:Stringhost=serverSocket.getInetAddress().getHostpublicclassChessBoardPanelextendsjavax.swing.JPanel{Name();//获取对方主机信息//代表棋盘面板Stringip=serverSocket.getInetAddress().getHost在ChessBoardPanel类里面包括绘制棋盘的drawPanel()Address();//获取对方IP地址//获取网络输入流,然后就可以往里面写入数据并发送给方法,程序如下://对方priva

6、tevoiddrawPanel(Graphics2Dg){2013.0171实用第一智慧密集Compositecomposite=g.getComposite();//备份turn=!turn;//合成规则//棋子最近颜色,区别已经下的和刚下的棋子Colorcolor=g.getColor();//备份前景颜色chessmanArray[xindex][yindex]=(byte)(myColor^3);g.setComposite(AlphaComposite.SrcOver.derive//更新棋盘数据,从而更新屏幕(0.6f));//设置透明合成chessModel1.setC

7、hessmanArrayg.setColor(newColor(0xAABBAA));//设置前景白色(chessmanArray);g.fill3DRect(0,0,getWidth(),getHeight(),true);chessPanel.backButton.setEnabled(false);//绘制半透明的矩形//整理棋盘,把前一步对方刚下棋子变为普通棋子g.setComposite(composite);//恢复合成规则zhengliBoa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。