五子棋报告-java
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXXX大学
XX学院
课程设计报告
课程名称:面向对象程序设计
题目名称:五子棋游戏设计
学生姓名:
专业班级:
指导教师:任晓强
一、课程设计目的与任务(四号、宋体、加黑、顶格)
(1)掌握Java编程、面向对象的基础知识。
(2)较熟练地编写Java应用程序Application。
(3)了解Java的常用标准类库、编程技巧、异常处理。
(4)联系已学过的内容,巩固所学的理论,增强独立工作能力。(5)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。
(6)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。
课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。
二、课程设计内容
1本设计题目的主要内容
设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能:
1.选择落子的先后顺序
2.重置棋盘
3.刷新重新开始
4.退出提示
并且规定退出者判为负,但退出过程中要有提示。以防不小心点错了。
最后判断某一方是否为五子连珠。
实现一个简单的多用户五子棋的游戏程序,包括如下两个界面
(1)选择对弈桌(执黑、执白)。
(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);
2 设计思想与程序构架
程序流程图
程序的功能分配
a. 棋盘的绘制
public void draw_qipan(Graphics G) 添加按钮
Button b1=new Button("开始");
Button b2=new Button("重置游戏");
Label lblWin=new Label(" ");
Checkbox ckbHB[]=new Checkbox[3];
Button exist = new Button("退出");
public void init(){
ckbHB[0]=new Checkbox("执白",ckgHB,false);
ckbHB[1]=new Checkbox("执黑",ckgHB,false);
ckbHB[2]=new Checkbox("观看",ckgHB, false);
}
c. 鼠标棋子的触发事件
public void mouseClicked(MouseEvent e) {
Graphics g=getGraphics();
int x1,y1;
x1=();
y1=();
if ()<20 || ()>300 || ()<20 || ()>300) {
return;
}
if (x1%20>10) {
x1+=10;
}
if(y1%20>10) {
y1+=10;
}
x1=x1/20*20;
y1=y1/20*20;
set_Qizi(x1,y1);
m*=(-1);
}
d. 按钮的触发事件
public void actionPerformed(ActionEvent e) { Graphics g=getGraphics();
if ()==b1) {
Game_start();
}
else{
Game_re();
}
if()==exist){
Game_re();
(Get_qizi_color(color_Qizi)+"输了!");
intGame_Start=0;
}
e. 判断落子的位置及画出相应的黑白棋子
public void set_Qizi(int x,int y) 判断胜负
if (Game_win_1(x/20,y/20)) 进入游戏界面
游戏开始的界面有三个选择项,用户可以选择相应的角色,选择完毕后点击开始进入游戏。
b. 选择角色,开始下棋
首先达到五个棋子连在一块的赢了,并在红色区域显示谁赢了!
c. 下完后,重新开始
下完一盘后游戏停止,点击重新开始,界面回到初始界面,选择角色继续游戏.
d.游戏中点退出,自动判输
在下棋的过程当中谁中途退出,即点击退出,系统自动判断谁输
5 设计总结
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。对于文中出现的不足和系统中出现的问题敬请老师指导。
三、附录
创建棋盘类
Public class WcyChess extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener{
int color_Qizi=0;etBounds(320,20,60,30);
ckbHB[1]=new Checkbox("执黑",ckgHB,false);
ckbHB[1].setBounds(380,20,60,30);
ckbHB[2]=new Checkbox("观看",ckgHB, false);
add(ckbHB[0]);
add(ckbHB[1]);
add(ckbHB[2]);
ckbHB[0].addItemListener(this);
ckbHB[1].addItemListener(this);
add(lblWin);
(330,180,80,30);
;
("胜利者!");etBounds(440, 20,60, 30);
add(exist);
(330,130,80,30);
(this);
etState()) 吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社
2. 柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社
3.丁振凡 Java 语言实用教程:北京邮电大学出版社