游戏形式

本游戏是通过socket来进行五子棋游戏,我们的形式是一台server开启之后可以支持尽可能多的客户端运行。

代码结构

  • server

    • net:socket通信相关功能
      • Action:解析socket传来的指令后进行的执行操作
      • EndDeal:游戏结束后的相关处理
      • Resolve:对收到的指令(字符串)进行解析处理
      • ServerThread:针对多个客户端,开启多个线程支持
    • tool
      • FightManager:下棋对战时的相关信息
      • HashMapManager:存储对战时配对上的map组合
      • MessageManager:用于进行消息管理,包括信息的发送等等
      • Player:存储玩家的个人信息
      • check:进行游戏状态的检测
        • check:检测胜负
        • checkX&Y:横纵检测状态
        • checkM&N:斜着检测状态
    • ui:ui界面
      • ClientPanel:客户端列表版面
      • MatchsPanel:配对连接版面
      • MessagePanel:消息显示版面
      • ServerFrame:服务器主窗口
    • Server.java:主程序
  • client

    • data
      • Data:存储玩家自己的相关信息,包括ID、昵称、配对对象等等
    • image:相关的图片,用于表示棋子等
    • listener:用于监听相关的操作
      • BackListener:悔棋操作
      • ChallengeListener:挑战操作
      • ConnectListener:登录操作
      • ListListener:列表双击操作
      • MapListener:监听棋盘
      • MessageListener:监听消息发送
      • NameListener:重命名操作
      • QuitListener:退出操作
      • RestartListener:重新开始操作
      • StartListener:游戏开始
    • manager
      • IOManager:输入输出流
      • ListManager:管理玩家列表
      • MessageManager:管理消息
    • net
      • Connect:登录服务器
      • PlayChess:游戏落字传输
      • Receive:接收数据线程
      • Resolve:解析数据
    • ui
      • ChessBoardCanvas:棋盘画板
      • FunctionPanel:功能区
      • GameFrame:游戏主界面
      • GamePanel:左边游戏区
      • MessagePanel:消息面板
      • OperationPanel:操作面板
      • PlayerPanel:玩家面板
    • QuinterGame:客户端启动