下载此文档

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判断棋盘棋子分布,输赢情况。
.*;
.*;
.*;
;
classClientChessPanel extends JPanel{
private static final long serialVersionUID = 1L;
private int space=20; //网格间的距离
private int grids=30; //棋盘的网格数
private int radius=space/2; //棋的半径
Clientsktskt;
//当chesses[i][j]=0,表示网格节点(i,j)上无棋
//当chesses[i][j]=1,表示网格节点(i,j)上放白棋
//当chesses[i][j]=2,表示网格节点(i,j)上放黑棋
privateint[][] chesses=new int[grids+1][grids+1];
private intcurrColor=1; //当前棋的颜色
privateMouseListenerplayChessHandler=new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if(()){
int x=();
int y=();
//放一颗棋子
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:你输了");
=new ClientMyDialog(,"你赢了");
(true);
}
currColor=currColor==1?2:1; //切换棋子的颜色
}
}
}
};
public int round(float a){ //获得接近a的网格节点坐标
float f=a/space;
(f);
}
lientChessPanel(intspace,intgrids,Clientsktskt){
=space;
=grids;
=space/2;
=skt;
setBackground();
setSize(space*grids,space*grids);
addMouseListener(playChessHandler);
startChess();
}
public void startChess(){
clearG

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

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