天津科技大学Java课程设计.doc

天津科技大学Java课程设计.doc

ID:52790607

大小:67.50 KB

页数:13页

时间:2020-03-30

天津科技大学Java课程设计.doc_第1页
天津科技大学Java课程设计.doc_第2页
天津科技大学Java课程设计.doc_第3页
天津科技大学Java课程设计.doc_第4页
天津科技大学Java课程设计.doc_第5页
资源描述:

《天津科技大学Java课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《高级语言程序设计期末作业》题目——五子棋学号:王琪姓名:指导老师:程岚岚时间:2013年12月16开发工具:MyEclipse一、程序的功能介绍系统实现五子棋人人对战。二、系统分析与设计(一)五子棋基本规则1.五子棋行棋时,黑棋先下第一子,由天元开始,后白棋在黑棋周围的交叉点的落子。接着黑方再以天元中心的25个交叉点的范围内落盘面的第三子,之后黑白双方相互顺序子。   2.最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。   3.出现禁手对方指出后将判负,其中包括两个或两个以上的活三,活四,长连

2、均称之为禁手。   4.禁手只对黑棋有效,白棋无禁手。   5.黑方禁手形成时,白方需立即指出,黑方将被判负。若白方未发现黑方禁手存在而继续应子,其后指出黑方禁手不能判黑方负。   6.黑方连五与禁手同时形成,因黑方已连成五即黑方已获胜,故禁手规则失效。   7.在对局中,在盘上落下的子又拿起来,此动作称为拔子,若拔子将被判为负。   8.在对局中棋子掉落在棋盘上将被判负。若推子或蹭子,以盘面第一落点为准。用手将棋子推正不算违犯规则。   9.在对局中,一方自行中止比赛如:中途退场,将被判负。   10.在对局中对

3、方宣布认输,本局获胜。   11.超过比赛规定所用时间限制,将被判为负:正式比赛期间,迟到时间超过比赛容许时间将被判负。   12.如下至最终一子仍不分胜负则定为平局。13.中盘期间双方同意和局提议,判定为平局(二)(1)1.本款游戏有“游戏开始”和“重置游戏”和“黑白哪个子先行”三个选项。2.绘制棋盘,14条横线,14条竖线,在直线交点处下棋子(实心黑白圆形)。3.棋盘处于鼠标监听状态,当鼠标在棋盘上有点击操作的时候,程序会获得鼠标点击的坐标然后换算成对应的棋盘的位置,再判断此处是否有棋子,假如没有,那么在此处画

4、出对应颜色的实心棋子,假如已经有棋子了,则提示玩家此处已经有棋子请重新下棋。一、系统功能实现及部分核心代码(1)系统功能实现1游戏开始界面选择哪种子先开始.2.游戏开始进行3游戏结束(2)importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;importjava.awt.Color;publicclassGoBangextendsAppletimplementsActionListener,MouseListener,MouseMotion

5、Listener,ItemListener{intcolor=0;//旗子的颜色标识0:白子1:黑子booleanisStart=false;//游戏开始标志intbodyArray[][]=newint[16][16];//设置棋盘棋子状态0无子1白子2黑子Buttonb1=newButton("游戏开始");Buttonb2=newButton("重置游戏");LabellblWin=newLabel("");CheckboxckbHB[]=newCheckbox[2];CheckboxGroupckgHB=n

6、ewCheckboxGroup();publicvoidinit(){setLayout(null);addMouseListener(this);add(b1);b1.setBounds(330,50,80,30);b1.addActionListener(this);add(b2);b2.setBounds(330,90,80,30);b2.addActionListener(this);ckbHB[0]=newCheckbox("白子先",ckgHB,false);ckbHB[0].setBounds(320

7、,20,60,30);ckbHB[1]=newCheckbox("黑子先",ckgHB,false);ckbHB[1].setBounds(380,20,60,30);add(ckbHB[0]);add(ckbHB[1]);ckbHB[0].addItemListener(this);ckbHB[1].addItemListener(this);add(lblWin);lblWin.setBounds(330,130,80,30);gameInit();this.resize(newDimension(450,35

8、0));}publicvoiditemStateChanged(ItemEvente){if(ckbHB[0].getState())//选择黑子先还是白子先{color=0;}else{color=1;}}publicvoidactionPerformed(ActionEvente){if(e.getSource()==b1){gameStart();}e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。