Java 实验
(五子棋双人游戏)
计算机 0602 韦楚楚 200603100220
功能描述:
本次实验中,实现了一个网络五子棋的对弈程序,它包含一般五子棋的基本功能,即落子、
判断胜负、等待落子等。还拥有一个独立服务器端、支持多个客户端连接,客户端可以连接
服务器、创建游戏、加入游戏等。游戏中还实现了参加游戏者的聊天功能。
五子棋游戏含黑子和白子,玩家各执一色棋子,棋盘为 n 路(n*n),盘面上横竖各 n 条平行
线,构成 n*n 个交叉点,玩家将各自的棋子落于棋盘中,首先在棋盘的直线、横线或者是斜
线上形成连续 5 子或者 5 子以上,则判断为该玩家获胜。
游戏设计:
1. 界面设计
此次游戏的界面涉及到 Frame 类、Panel 类、标签类 Label 和按钮类 Button。Frame 是
包括标题、菜单、类似于文本区的区域和按钮的图形用户界面构件,也可以看作是一个
图形窗口。Panel 类是一个经常使用的中间容器,本程序中主要继承 Panel 类,实现了
客户端的棋盘、聊天窗口、命令按钮等的布局和管理。Label 被用于显示纯文本,Button
主要用于处理单击事件并控制程序流程。
2. 游戏控制
因为此次游戏拥有独立客户端和服务器端,并且支持多用户同时连接,所以此次游戏采
用了多线程机制对游戏进行控制。每当建立一个客户端连接至服务器后,便建立一个相
应的线程监听特定端口,以便随时读取服务器端发来的消息并及时处理。
3. 客户端设计
客户端除了实现网络通信外,还得实现游戏中的一些基本功能,如规则的制定、整个界
面的布局、动画的实现等。客户端界面由控制面板、游戏面板、用户面板、聊天面板和
聊天信息面板 5 部分组成。
控制面板类(controlPad)其主要成员:IPlable,文本标签、提示玩家输入服务器 IP;
connectionButton,连接主机按钮;creatGameButton 建立游戏按钮;joinGameButton
加入游戏按钮;cancelGameButton 放弃游戏按钮;exitGameButton 关闭程序按钮。
游戏面板类(chessPad)复杂显示绘制棋盘和棋子,实现了鼠标监听,并有 socket 与
服务器通信。其成员变量:chessBlack_x 黑色棋子 x 坐标数组;chessBlack_y 黑色棋
子 y 坐标数组;chessBlackCount 黑色棋子数量;chessWhite_x 黑色棋子 x 坐标数组;
chessWhite_y 黑色棋子 y 坐标数组;chessWhiteCount 黑色棋子数量;chessSocket 用
评论0