资源描述:
《五子棋JAVA语言课程设计报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《Java语言程序设计》课程设计报告学院:信息科学技术学院班级:软件技术2班姓名:王更新学号:1108900505指导教师:郭韶升课设时间:2014-03-17至2014-03-26二O一四年三月二十六日21目录一、设计要求…………………………………………....2二、设计步骤…………………………………………....22.1程序流程图………………………….…………...22.2程序的功能分配……………………….………...3三、设计正文…………………………………………....63.1创建棋盘类……………………………
2、………….63.2判断输赢功能实现……………………………….93.3测试结果……………………………………….....9四、心得体会…………………………………………...12五、参考文献…………………………………………...12附录(源代码)……………………………………….1321一、课程设计要求设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能:1.选择落子的先后顺序2.重置棋盘3.刷新重新开始4.退出提示并且规定退出者判为负,但退出过程中要有提示。以防不小心点错了。最后判断某一方是否为五子连珠。
3、实现一个简单的多用户五子棋的游戏程序,包括如下两个界面(1)选择对弈桌(执黑、执白)。(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);二、设计步骤2.1程序流程图212.2程序的功能分配a.棋盘的绘制publicvoiddraw_qipan(GraphicsG)//画棋盘15*15{G.setColor(Color.lightGray);G.fill3DRect(10,10,300,300,true);G.setColor(Color.black);for(inti=1;i<16;i++){G.dra
4、wLine(20,20*i,300,20*i);G.drawLine(20*i,20,20*i,300);}}b.添加按钮Buttonb1=newButton("开始");Buttonb2=newButton("重置游戏");LabellblWin=newLabel("");CheckboxckbHB[]=newCheckbox[3];Buttonexist=newButton("退出");publicvoidinit(){ckbHB[0]=newCheckbox("执白",ckgHB,false);ckbHB[1
5、]=newCheckbox("执黑",ckgHB,false);ckbHB[2]=newCheckbox("观看",ckgHB,false);}c.鼠标棋子的触发事件publicvoidmouseClicked(MouseEvente){Graphicsg=getGraphics();intx1,y1;x1=e.getX();y1=e.getY();if(e.getX()<20
6、
7、e.getX()>300
8、
9、e.getY()<20
10、
11、e.getY()>300){return;}if(x1%20>10){x1+=10
12、;}if(y1%20>10){y1+=10;}x1=x1/20*20;y1=y1/20*20;set_Qizi(x1,y1);m*=(-1);}21d.按钮的触发事件publicvoidactionPerformed(ActionEvente){Graphicsg=getGraphics();if(e.getSource()==b1){Game_start();}else{Game_re();}if(e.getSource()==exist){Game_re();lblWin.setText(Get_qizi_co
13、lor(color_Qizi)+"输了!");intGame_Start=0;}e.判断落子的位置及画出相应的黑白棋子publicvoidset_Qizi(intx,inty)//落子{if(intGame_Start==0)//判断游戏未开始{return;}if(intGame_Body[x/20][y/20]!=0){return;}Graphicsg=getGraphics();if(color_Qizi==1)//判断黑子还是白子{g.setColor(Color.black);color_Qizi=0;
14、}else{g.setColor(Color.white);color_Qizi=1;}g.fillOval(x-10,y-10,20,20);intGame_Body[x/20][y/20]=color_Qizi+1;}f.判断胜负if(Game_win_1(x/20,y/20))//判断输赢1{lblWin.setText(Get_qizi_color(