实训三棋谱的保存与回放注册注册登录登录保存棋谱保存棋谱棋谱回放棋谱回放3.1创建数据库1.设计数据库fiveChess2.设计User表字段名类型长度允许空备注useridINT否主键,自动增长nameVARCHAR10否用户名passwordVARCHAR10否密码emailVARCHAR30否邮箱levelINT否级别regdateDate否注册日期3.1创建数据库3.设计game表字段名类型长度允许空备注gameidINT否主键,自动增长gameDateDate否下棋日期playerBlackVARCHAR10否黑方playerWhiteVARCHAR10否白方winnerVARCHAR10否赢棋方manualFileNameVARCHAR100否记录棋谱的文件名3.1创建数据库4.配置mysql-connector-java5.类CreateDatabase3.2用户管理1.创建DBConnection类2.User类3.创建UserDao类4.创建临时的Test类(后面删除)3.3用户注册和登录1.准备工作(1)Command类添加命令常量(2)“connectButton”改为“loginButton”(3)FiveClient类中添加getC()方法2.用户登录(1)Communication类添加登录方法(2)创建登录对话框类DialogLogin(3)显示登录对话框(fiveClient中修改登录按钮的监听程序段)(4)服务器处理login命令(修改startServer()方法)(5)删除静态成员clientNameNum3.用户注册3.用户注册(1)创建注册对话框类DialogRegister(2)修改登录对话框中的注册按钮坚挺 if(注册.equals(str)DialogRegisterrd=newDialogRegister(this,ip);(3)服务器处理注册命令(修改startServer()方法)3.4记录棋局和棋谱ClientServer数据文件win数据库SavechessmanualSavechessgame棋谱文件名的格式:棋谱文件名的格式:黑棋用户名白棋用户名结束时间(日期时分)棋谱文件的格式:棋谱文件的格式:直接写一个Object黑棋用户名白棋用户名结束时间(日期时分)步数赢棋方1.记录棋局(1)棋局管理设计Game类,GameDao类(game包)Test类:用于测试Game类和GameDao类1.记录棋局(2)记录棋局到数据库修改FiveServer的内部类Client,增加属性修改猜先程序段,给属性chessColor赋值修改go程序段,记录每一步棋的坐标ClientThread类中添加保存棋局的方法修改win程序段,调用保存棋局的方法2.记录棋普(1)棋谱管理创建Manual类创建ManualDao类(2)记录棋谱到文件在ClientThread类中添加记录棋谱的方法recordManual()修改win程序段,调用recordManual()保存棋谱3.5查询棋局和棋谱欣赏ClientServert数据文件game:userName数据库getManualgetGameGamelistgame:Gamelistmanual:fileNamemanualmanual:manual注:目前只查询自注:目前只查询自己下过的棋局己下过的棋局1.查询棋局(1)PanelControl类:添加“棋谱欣赏”按钮(2)FiveClient类:添加“棋谱欣赏”按钮的监听(3)Communication类:添加getGemes方法(4)FiveServer类:添加消息处理(game命令)(5)客户端接收棋局并显示DialogGames类FiveClient类添加showGames方法Communication类接收并处理game消息2.棋谱欣赏2.棋谱欣赏(1)向服务器发送manual命令Communication类中添加getManual()方法修改DialogGames的按钮注册监听器(2)服务器接收manual命令并处理添加处理manual命令的程序分支2.棋谱欣赏(3)客户端接收棋谱并显示在 棋 盘 类 中 添 加 方 法 getChessCount() ,setChessCount棋谱回放对话框DialogPlayback()FiveClient类添加playBakc方法Communication类处理manual命令实现GamePlayback类中两个按钮的监听完善遗留的问题1.对话框在父窗口居中作业1如果将登录对话框,注册对话框在其父窗口中居中显示,应该如何处理?2目前的程序,用户A登录后,再启动一个客户端,用户A还可以登录,即同一个用户可以同时多次登录。
如果禁止一个用户同时多次登录,应如何处理3异常处理,在ManualDao类的getManual()方法中,如果参数指定的棋谱文件不存在,会产生一个异常,目前程序没有很好地处理这一异常,请改进程序,处理好这个异常,能够提示用户棋谱文件不存在的信息4异常处理,下棋结束后,在保存谱时,如果指定的文件夹“D:fivegame”不存在,则产生异常,且不能创建棋谱文件修改程序,如果指定的文件夹不存在,程序能够自动创建该文件夹。