多人对战中国象棋文档

开发背景

中国象棋有着悠久的历史,象棋爱好者更是不计其数,但是由于人们工作地点、时间的限制,人们需要一款新的不受时间和地点限制的网络版中国象棋。
网络版象棋让对弈的范围更加广泛,让象棋爱好者可以与更多的象棋爱好者切磋棋艺。

系统分析

1、服务器端
可以指定服务器端号
可以支持多人同时在线
可以显示在线用户的信息
不允许玩家同名
2、客户端
能够通过主机IP(127.0.0.1)及端口号登录到服务器
可以显示当前所有用户
可以从在线用户列表中选择玩家进行挑战
可以接受或拒绝挑战
如果对方正在与其他玩家对弈中,则应给出相应的提示信息
象棋规则一定要严密
棋子样式采用最普通的橡胶式象棋,及棋子黑色,字为红色和白色
玩家可以提前认输

系统设计

系统设计

服务器框架设计

  • 服务器线程
    服务器是服务器启动创建的第一个线程,主要用于接收客户端的连接,并为每一个连接分配一个代理线程

  • 代理线程
    服务器代理线程主要用于接收客户端发来的信息,并将该信息转发给对应的另一个客户端。服务器为所有客户端都分配了一个该线程实例,单独为特定客户端进行服务。同时每一个服务器代理线程都有其唯一标识名。

  • 启动线程的两种方法
    方法1:继承Thread 类 重写run方法即可
    方法2:实现runable接口 重写run方法即可

注意事项
1、按钮类要不要添加事件监听方法,主要看按下按钮会不会发生及时事件,按下即有变化需要添加事件监听方法。

2、象棋规则类中没有主函数,在设定规则时,首先将走棋规则设为ture,在方法中将不符合走棋规则设为false,减少工作量

出现问题
1、当前客户端点击挑战按钮后,另一个客户端没有反应,查看按钮点击后的所要执行的事件方法,发现没有发送挑战信息给服务器端,此问题同样出现在很多方法中,如点击认输按钮
2、一方下棋后,棋子在对方的棋盘上不移动,发现QiPan类中没有指定tiaozhanzhe参数,导致MOVE信息不能发送给对方,对方棋盘无法做出反应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值