文档库 最新最全的文档下载
当前位置:文档库 › 五子棋报告-java

五子棋报告-java

五子棋报告-java
五子棋报告-java

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 语言实用教程:北京邮电大学出版社

相关文档