下载此文档

c五子棋实验报告.docx


文档分类:IT计算机 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
c五子棋实验报告篇一:五子棋对战实验报告实验项目五子棋网络对战和聊天实验日期XX0406实验报告要求: 一、实验目的: 学习和使用socket编程,熟练软件开发二、实验原理: 使用socket进行网络通信,java作为编程语言三、实验要求: 编写五子棋程序可以实现联机网络对战,并且可以进行聊天四、实验步骤、结果(程序+注释+截图)及分析: 首先拟定编程语言与开发方案,选择java语言,考虑到java可以跨平台运行, 然后决定把这个程序拆分为客户端、服务器两个部分,每个部分再分成5个小的部分实现不同功能。 1、然后考虑使用java的swing包,创建ClientChessPanel类负责棋盘部分,包括判断输赢,使用数组chesses[i][j]记录棋盘上棋子的分布,对数组进行不同的赋值表示网格节点上无棋、黑棋、白棋;使用playChessHandler作为鼠标单击事件,单击事件调用Clientskt中的函数传送棋子坐标以及输赢信息。drawChess函数画棋子,drawGrids画网格,gameOver判断棋盘棋子分布,输赢情况。 .*; .*; .*; ; classClientChessPanelextendsJPanel{ privatestaticfinallongserialVersionUID=1L; privateintspace=20;//网格间的距离 privateintgrids=30;//棋盘的网格数 privateintradius=space/2;//棋的半径 Clientsktskt; //当chesses[i][j]=0,表示网格节点(i,j)上无棋//当chesses[i][j]=1,表示网格节点(i,j)上放白棋//当chesses[i][j]=2,表示网格节点(i,j)上放黑棋 privateint[][]chesses=newint[grids+1][grids+1]; privateintcurrColor=1;//当前棋的颜色 privateMouseListenerplayChessHandler=newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ if(()){ intx=(); inty=(); //放一颗棋子 if(x=0&&y=0) if(chesses[round(x)][round(y)]==0){ chesses[round(x)][round(y)]=currColor; repaint();//刷新图形 ("x:"+(round(x))); ("y:"+(round(y))); (false); if(gameOver(currColor)){ ("g:你输了"); =newClientMyDialog(,"你赢了"); (true); } currColor=currColor==1?2:1;//切换棋子的颜色} } } }; publicintround(floata){//获得接近a的网格节点坐标 floatf=a/space; (f); } lientChessPanel(intspace,intgrids,Clientsktskt){ =space; =grids; =space/2; =skt; setBackground(); setSize(space*grids,space*grids); addMouseListener(playChessHandler); startChess(); } publicvoidstartChess(){ clearGrids();//清空棋盘 currColor=1; repaint();//刷新图形} privatevoidclearGrids(){ for(inti=0;i for(intj=0;j chesses[i][j]=0; } //画一颗棋子 privatevoiddrawChess(Graphicsg,intx,inty,intcolor){

c五子棋实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kang19821012
  • 文件大小22 KB
  • 时间2018-12-17