终级JAVA课设Word文档格式.docx
《终级JAVA课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《终级JAVA课设Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
(1)硬件环境
CPUPII以上PC服务器,内存32MB以上,硬盘15MB以上。
(2)软件环境
Windows2000WindowsXPWindowsServer2003等能安装JAVA2的操作系统。
2.2详细设计
2.2.1程序流程图
将需求分析所得到的信息抽象为系统功能模块图,如图1所示。
图1游戏功能模块图
课程设计说明书NO.3
图2游戏功能流程图
课程设计说明书NO.4
2.2.2程序中自定义类说明
表2主要成员方法
名称
功能
描述
SmallGame()
用于对象的初始化操作
构造方法
setTitle()
命名新建的窗体
setLocation()
设置窗体的位置
setVisible()
设置窗体可见
kBut.addActionListener(newActionListener())
添加事件监听者
表3主要成员变量
成员变量描述
变量类型
变量名称
随机数变量
Random
r
成员数组
String[]
box
下拉列表框
Combo
choice
文本框组件
Text
ta
标签控件
Label
lb
2.2.3程序中主要方法说明
这个程序定义了一些组建,工具栏按钮,文本区和菜单。
石头剪子布游戏程序设计通过SmallGame类来实现游戏的整体功能,该java文件是整个系统的主类,起到支柱作用。
该类包含main方法,main方法是程序执行的入口,即程序从该类开始执行。
其中构造方法SmallGame(),用于对象的初始化操作,成员方法setTitle()作用命名新建的窗体,setLocation()作用设置窗体的位置,setVisible()作用设置窗体可见,okBut.addActionListener(newActionListener())作用添加事件监听者。
课程设计说明书NO.5
3.设计结果与分析
3.1程序运行结果
根据以上所述的程序分析,编写代码并运行。
由于java程序对各变量的大小写要求比较严格,所以在程序调试阶段花了不少时间,而且程序的运行环境为JDK1.4.2,图形界面的输出要编写大量的代码实现。
如果在编程环境为JBuilder,可能会比较简洁一点。
图3运行后的游戏界面
当玩家运行完此小游戏程序后出来的界面,此时玩家可以选择自己想选来与计算机对决。
图4平局时的游戏界面
课程设计说明书NO.6
图5玩家输了的游戏界面
图6玩家赢了的游戏界面
图4-图6为玩家与计算机对决时的三种界面,该游戏还可以累积玩家的得分与正负局数。
图7清空分数后的界面
当玩家不想继续当前游戏时可以清除分数,就可以重新开始新的一局游戏。
课程设计说明书NO.7
3.2尚需解决的问题
通过上述过程的设计思想和详细设置,在调试程序时遇到了不少问题,正应了那句
编程的老话,程序不是编出来的,而是一步一步调出来的,根据编译结果的提示,一步一步将其改正,最终程序运行正常。
不足之处就是此游戏中未能如最初的构想加入石头剪子布的图片,故使此人机对战的娱乐消遣游戏略显平淡,在以后的编程学习过程中一定会找到解决此问题的方法。
4.设计体会
课程设计是培养学生综合运用所学知识,发现提出,分析和解决实际问题,锻炼实
践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。
经过一个星期的上机实践学习,使我对java编程语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,回顾起此次课程设
计,至今我仍感慨颇多,的确,从理论到实践,可以学到很多很多的的东西,同时不仅
可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到了许多问题,都是自己平时没有好好听课复习所造成的,但是在老师和同学的帮助下,终于解决了问题,还有就是在程序运行的时候出现的一些小的程序问题,经过同学的帮助修改,终于可以运行了,看着自己劳动的成果,真的很高兴,这门课没有白学。
通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习java这种编程语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
课程设计说明书NO.8
5.参考文献
[1]张思民,梁维娜.Java程序设计实践教程[M].北京:
清华大学出版社,2006.8:
27-30
[2]宛延周.Java编程技巧[M].机械工业出版社,2005.1:
43-51
[3]张杰.Java进阶教程[M].机械工业出版社,2004.9:
54-60
[4]郭雪妍.Java语言程序设计[M].机械工业出版社,2003.6:
67-80
[5]赵文靖.Java程序设计基础与上机指导[M],第2版.北京:
电子工业出版社,2003.4:
305-350
[6]赵祖荫.Java程序设计实例教程[M],第1版.北京:
清华大学出版社2004.9:
95-181
6.附录
源代码:
importjava.util.Random;
importjavax.swing.*;
importjava.awt.BorderLayout;
importjava.awt.Container;
importjava.awt.event.*;
publicclassSmallGameextendsJFrame{
privateRandomr;
privatefinalString[]box={"
剪刀"
"
石头"
布"
};
privateJComboBoxchoice;
privateJTextAreata;
privateJLabellb;
privateintwin=0;
privateintloss=0;
privateintequal=0;
publicSmallGame(){
setTitle("
SmallGame"
);
initial();
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(400,300);
setVisible(true);
}
publicvoidinitial(){
课程设计说明书NO.9
r=newRandom();
choice=newJComboBox();
for(inti=0;
i<
box.length;
i++){
choice.addItem(box[i]);
ta=newJTextArea(3,15);
ta.setEditable(false);
JButtonokBut=newJButton("
出招"
okBut.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
ta.setText(getResult());
lb.setText(getTotal());
});
JButtonclearBut=newJButton("
清除分数"
clearBut.addActionListener(newActionListener(){
ta.setText("
"
win=0;
loss=0;
equal=0;
lb=newJLabel(getTotal());
JPanelchoicePanel=newJPanel();
choicePanel.add(choice);
choicePanel.add(okBut);
choicePanel.add(clearBut);
JScrollPaneresultPanel=newJScrollPane(ta);
JPaneltotalPanel=newJPanel();
totalPanel.add(lb);
ContainercontentPane=getContentPane();
contentPane.setLayout(newBorderLayout());
contentPane.add(choicePanel,BorderLayout.NORTH);
contentPane.add(resultPanel,BorderLayout.CENTER);
contentPane.add(totalPanel,BorderLayout.SOUTH);
publicStringgetResult(){
Stringtmp="
;
课程设计说明书NO.10
intboxPeop=choice.getSelectedIndex();
intboxComp=getBoxComp();
tmp+="
你出:
\t"
+box[boxPeop];
tmp+="
\n电脑出:
+box[boxComp];
\n结果:
+check(boxPeop,boxComp);
returntmp;
publicintgetBoxPeop(Stringstr){
returnchoice.getSelectedIndex();
publicintgetBoxComp(){
returnr.nextInt(3);
publicStringcheck(intboxPeop,intboxComp){
Stringresult="
if(boxPeop==(boxComp+1)%3){
result="
你赢了!
win++;
elseif(boxPeop==boxComp){
平"
equal++;
else{
你输了!
loss++;
returnresult;
publicintgetPoint(){
return(win-loss)*10;
publicStringgetTotal(){
return"
赢:
+win+"
平:
+equal+"
输:
+loss+"
得分:
+getPoint();
publicstaticvoidmain(String[]args){
SmallGamegame=newSmallGame();
}