欢迎来到天天文库
浏览记录
ID:39551627
大小:145.00 KB
页数:12页
时间:2019-07-06
《java五子棋报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、五子棋一、程序功能介绍设计一个20*20的五子棋盘,由两个玩家交替下子,并且可以实现以下功能:1.鼠标点击横竖线交汇处落子2.通过落子使得五个黑子或者五个白子在一条横线、竖线或斜线上2.重新开始按钮刷新重新开始3.检查是否实现了五子连珠4.有一方五子连珠时提示结果5.结束按钮结束程序二、课程设计过程1.如图一:程序流程图2.程序功能设计(1)先写draw类,在类中先画出一个Jframe窗口体,在这个窗口体上增加重新开始,退出,和主棋盘按钮。并且设置监听按钮的监听。并在draw类中设置主函数启动程序。(2)fivechess类实现程序的功能,定义wh_array二维数组表示棋盘。定义wh
2、_arr一维数组,将wh_array值通过从上往下转换成一维,可用于判断输赢。定义paintComponent(Graphicsg)绘图函数,将整个棋盘给画出。3.程序中用的变量、方法、类等classfivechessextendsJPanel{}//定义变量,落子监听,判断输赢int[][]wh_array=newint[20][20];//定义二维数组,表示棋子在棋盘的位置int[]wh_arr=newint[430];//定义一维数组,转换二维数组,判断是否连线publicvoidmouseClicked(MouseEvente)//单击鼠标落子并且判断输赢publicfivec
3、hess(){}//鼠标操作protectedvoidpaintComponent(Graphicsg)//绘图函数publicDimensiongetPerferredSize()//返回期盼大小publicclassdrawextendsJFrame{}//添加按钮,设置监听,启动程序publicdraw()//绘制窗口,增加重新开始和退出按钮b.addActionListener()//重新开始按钮设置监听exit.addActionListener()//退出按钮设置监听publicstaticvoidmain(Stringargs[]){}//主函数启动程序三、程序设计的完整
4、代码及注解//双人对战五子棋importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classfivechessextendsJPanel{//函数intwh_color,x1,y1,wh_x,wh_y,wh_i,wh_j,wh_arri,wh_stop=3;//定义各种整型变量//x1,y1表示坐标wh_x,wh_y圆大小坐标wh_i,wh_j二维数组booleanwh_rf;//定义布尔型变量,判断玩家Strings;int[][]wh_array=newint[20][20];//定义二维数组int[]wh_arr=
5、newint[430];//定义一维数组publicfivechess(){//鼠标操作for(inti=0;i<20;i++){//给二维数组赋值为0for(intj=0;j<20;j++){wh_array[i][j]=0;//赋值为0}}for(inti=0;i<400;i++){//给一维数组赋初始值0wh_arr[i]=0;}addMouseListener(newMouseListener(){//鼠标监听器publicvoidmouseClicked(MouseEvente)//单击鼠标{Graphicsg=getGraphics();if(wh_stop==3)//当w
6、h_stop==3时运行程序{x1=e.getX();//返回鼠标当前x坐标y1=e.getY();//返回鼠标当前y坐标wh_i=(x1-54)/32;//计算列值wh_j=(y1-34)/32;//计算行值wh_arri=20*wh_j+wh_i;//计算二维数组变为一维数组时的对应值if(x1>54&&x1<694&&y1>34&&y1<674)//在棋盘范围内单击鼠标才运行程序{if(wh_array[wh_i][wh_j]==0)//当二维数组取值为0时运行程序{wh_rf=!wh_rf;//Boolean值单击后循环变化if(wh_rf==true)//Boolean值为T
7、RUE时{wh_color=1;//令wh_color=1s="黑棋";wh_array[wh_i][wh_j]=1;//对应的二维数组值赋为1wh_arr[wh_arri]=1;//对应的一维数组赋值为1}if(wh_rf==false)//Boolean值为FALSE时{wh_color=2;//wh_color为2s="白棋";wh_array[wh_i][wh_j]=2;//对应的二维数组值赋为2wh_arr[wh_arri]=2;//
此文档下载收益归作者所有