JAVA课设华容道总的Word下载.docx

上传人:b****2 文档编号:1092151 上传时间:2023-04-30 格式:DOCX 页数:13 大小:111.51KB
下载 相关 举报
JAVA课设华容道总的Word下载.docx_第1页
第1页 / 共13页
JAVA课设华容道总的Word下载.docx_第2页
第2页 / 共13页
JAVA课设华容道总的Word下载.docx_第3页
第3页 / 共13页
JAVA课设华容道总的Word下载.docx_第4页
第4页 / 共13页
JAVA课设华容道总的Word下载.docx_第5页
第5页 / 共13页
JAVA课设华容道总的Word下载.docx_第6页
第6页 / 共13页
JAVA课设华容道总的Word下载.docx_第7页
第7页 / 共13页
JAVA课设华容道总的Word下载.docx_第8页
第8页 / 共13页
JAVA课设华容道总的Word下载.docx_第9页
第9页 / 共13页
JAVA课设华容道总的Word下载.docx_第10页
第10页 / 共13页
JAVA课设华容道总的Word下载.docx_第11页
第11页 / 共13页
JAVA课设华容道总的Word下载.docx_第12页
第12页 / 共13页
JAVA课设华容道总的Word下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA课设华容道总的Word下载.docx

《JAVA课设华容道总的Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA课设华容道总的Word下载.docx(13页珍藏版)》请在冰点文库上搜索。

JAVA课设华容道总的Word下载.docx

6.小程序能够自由的缩小,放大,关闭。

三、设计思路

1.首先是界面设计,该界面主要包括十个人物按钮(马、曹操、关羽等)以及旁边的四个边框按钮和重新开始按钮。

对于人物按钮,创建Button按钮的子类,在该类中定义按钮的一些新的属性和焦点事件监听器,如:

按钮的标签名、按钮的颜色、按钮的排号(如这里有十个人物按钮,从1排到十,在程序中可以依靠这个属性区分人物按钮)、按钮颜色、按钮获得或失去焦点事件。

同时在设计该界面时要考虑到各个按钮的位置、大小等情况。

2.对界面上的各人物按钮添加相应的相应事件

焦点事件:

通过焦点事件各个按钮的是焦点。

鼠标事件、键盘事件:

通过这两种事件去完成界面上各人物按钮的移动。

对重新开始按钮定义动作事件(ActionEvent)完成界面初始化功能也就是各人物按钮重新归位。

四、详细设计

详细设计主要是关于代码,编程思想和程序实现的具体描述。

其中包含具体的运行界面,操作界面,运行结果图,和运行前图形界面。

此外,还有一定的流程展示,各个运行模块的结构关系展示,对华容道小游戏的具体实现的具体展示,以及部分主要的代码的展示和分析说明,编程思想的体现。

1.结构建立:

在road的project下建立road包中建立Road类,如下图

图4-1在road的project下建立road包中建立Road类

2.上机模块建立

1、界面设计

界面设计主要是根据功能要求构建界面,界面中的每个元素均应有其作用,以支持功能的实现,界面设计还要考虑到界面风格的一致、符合一般Applet的图像协调。

设计应简洁实用,大方美观,界面协调,便于使用者进行操作,按钮布局合理,大小适中,还应具有使用方法的温馨提示,告诉使用者如何运用程序。

 

图4-2华容道小游戏运行界面

程序构造:

利用以下代码对按钮构造name=s;

this.number=number;

left_x=x;

left_y=y;

width=w;

height=h;

setBackground(Color.gray);

当人物没有获取焦点的时候为灰色。

road.add(this);

addKeyListener(road);

setBounds(x,y,w,h);

addFocusListener(this);

rect=newRectangle(x,y,w,h);

载入事件并响应。

优化程序:

根据程序员自己的要求设计更为美观的图形界面,创造更加丰富的按钮颜色,和其它颜色,达到优化图形界面的目的。

具体实现方法如下:

publicvoidfocusGained(FocusEvente){ColormyColor=newColor(20,100,180);

this.setBackground(myColor);

}

程序员可以更改括号中的数值来改变按钮获取焦点后的颜色,达到美观的目的。

此处我选择了(20,100,180)获取颜色为浅蓝色。

程序初始化:

对华容道小游戏程序中的人物、边框、按钮、计步器进行初始化。

Peoplepeople[]=newPeople[10];

Rectangleleft,right,above,below;

//华容道的边界.Buttonrestart=newButton("

重新开始"

);

intcount=0;

TextFieldt=newTextField(20);

//此为计步器的初始化。

界面布局:

对程序中应有的按钮、边框、计步器显示进行合理的安排,将其放在图形界面中的适当位置。

t.setBounds(180,330,20,20);

t.setEnabled(false);

restart.setBounds(105,15,100,25);

restart.addActionListener(this);

//以上为对重新开始按钮进行的坐标设置。

people[0]=newPeople(0,"

曹操"

104,54,100,100,this);

people[1]=newPeople(1,"

关羽"

104,154,100,50,this);

people[2]=newPeople(2,"

张飞"

54,154,50,100,this);

以及people[8]=newPeople(8,"

兵"

104,204,50,50,this)people[9]=newPeople(9,"

154,204,50,50,this);

等是为人物进行的位置设置。

还有left=newRectangle(49,49,5,260);

above=newRectangle(49,49,210,5);

都是对坐标位置进行设置。

键盘控制操作获得焦点的人物活动:

图4-3控制兵向下

图4-4控制兵向右

图4-5控制兵向左

图4-6控制兵向上

键盘事件:

publicvoidkeyPressed(KeyEvente){Peopleman=(People)e.getSource();

//鼠标获取事件源man.rect.setLocation(man.getBounds().x,man.getBounds().y);

if(e.getKeyCode()==KeyEvent.VK_DOWN)

键盘控制向下代码为man.left_y=man.left_y+50;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

count++;

t.setText("

"

+count+"

//此为计步器的代码

for(inti=0;

i<

10;

i++)

{if((man.rect.intersects(people[i].rect))&

&

(man.number!

=i))

{man.left_y=man.left_y-50;

man.rect.setLocation(man.left_x,man.left_y);

count--;

}}

if(man.rect.intersects(below)){man.left_y=man.left_y-50;

}}//以上为判断是否和其它人物或下边界出现重叠,若出现重叠就退回50个单位距离。

键盘控制向上、向左、向右代码和控制向下的代码类似。

使用方法提示:

g.drawString("

使用方法:

10,10);

g.drawString("

点击相应的人物,"

10,20);

按键盘上的上下"

10,30);

左右键进行移动"

10,40);

在图形界面的左上角进行使用方法提示,方便使用者了解华容道小游戏的操作步骤。

能够利用鼠标和键盘进行游戏控制。

程序提高部分:

添加计步器

图4-7计步器初始时刻为空

图4-8当兵向下行走一步时计步器显示为1

图4-9当使用者点击了重新开始的按钮后步数自动归0

计步器的实现;

intcount=0;

TextFieldt=newTextField(20);

创建一个大小为20的文本框,令count为0.

将文本框的位置进行设置

publicvoidkeyPressed(KeyEvente)

{if(e.getKeyCode()==KeyEvent.VK_DOWN

t.setText("

当键盘点击向下操作时,计步器的步数加一。

当和其它人物或下边界出现重叠时,退回50个单位距离后,count就减一

当向左,向右,向上操作时计步器的基本操作和向下一样。

this.count=0;

当点击重新开始的按钮时计步器的步数变为0。

重新开始的实现:

图4-10当游戏进行到难以进行的时候,进行重新开始

图4-11游戏恢复到初始状态

Buttonrestart=newButton("

setLayout(null);

add(restart);

add(t);

restart.addActionListener(this);

对重新开始设置

//当点击重新开始的按钮时步数清零

五、运行调试与分析讨论

图5-1运行的图形界面

经过不断的改进,实现了鼠标获取事件,键盘控制移动事件,对按钮的背景颜色进行修改,使得图形界面更加的美观合理。

对使用者进行操作方法的提示,使得使用者方便操作。

对使用者使用的步数进行记录,对使用者进行提示。

运用了多个类,和继承方法,图形界面设置等多个内容,对华容道小游戏进行编辑,最终完成了这个程序的编辑。

六、设计体会与小结

经过数天时间的不断努力,我终于编成了华容道这个传统的中国小游戏,在编写的过程中,我经常从网上学习一些编程过程中遇到的困难,在编写计步器的时候,出现了按重新开始的按钮计步器无法归零的问题,在同学的帮助下得到了解决。

我还从《Java程序设计导论》和《Java程序设计大全》中获得了对按钮的背景颜色进行更改的方法,受益匪浅。

我体会到学习Java不能闭门造车,必须从多个方面进行不断学习,从各个方面解决问题才能完成好对程序的编写。

七、参考文献

(1)丁振凡.Java语言实用教程(第2版)[M].北京邮电大学出版社.2008.1

(2)丁振凡.Java语言实用教程实验指导(第2版)[M].北京邮电大学出版社.2008.1

(3)杨树林等.Java语言最新实用案例教程(第2版)[M].清华大学出版社.2010.7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2