辽 宁 工 业 大 学
JAVA程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
课程设计(
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
)
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目: 魔板游戏
院(系): 软件学院
专业班级: 软件技术083班
学 号: 081404094
学生姓名: 阎继铭
指导教师: 丁宝柱
教师职称: 助 教
起止时间: 2009.12.1至2009.12.16
程序设计专题(报告)任务及评语
院(系):软件学院 教研室:软件教研室
学 号
081404094
学生姓名
阎继铭
专业班级
软件技术083班
程序设计(报告)题目
魔板游戏
程序设计(报告)任务
程序设计专题的任务与要求:
(1)掌握Java编程、面向对象的基础知识。
(2)较熟练地编写Java应用程序Application。
(3)了解Java的常用
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
类库、编程技巧、异常处理。
(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。
(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。
(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。
课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
完整地撰写出课程设计报告。
指导教师评语及成绩
成绩: 指导教师签字:
2009 年 12 月 20 日
目 录
第1章 课程设计的目的与要求 1
1.1 课程设计目的 1
1.2 课程设计的实验环境 1
1.3 课程设计的预备知识 1
1.4 课程设计要求 1
第2章 课程设计内容 2
2.1课程设计主要内容 2
2.2概要设计 2
2.2.1自定义类说明 2
2.3详细设计 3
2.4测试分析 11
2.4.1程序运行情况 11
2.4.2程序异常处理 15
第3章 课程设计总结 16
参考资料 17
第1章 课程设计的目的与要求
1.1 课程设计目的
《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
1.2 课程设计的实验环境
硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。
1.3 课程设计的预备知识
熟悉JAVA语言及ECLIPSE开发工具。
1.4 课程设计要求
按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
第2章 课程设计内容
2.1课程设计主要内容
应用Eclipse软件开发应用程序:魔板游戏。在这个程序中定义了一些组件,工具栏按钮,文本区和菜单。同时能够进行事件处理,本游戏分为初级模式和高级模式。单击“魔板游戏”按钮时弹出一个下拉框,显示的是“初级”和“高级”;点击“数字玩法”,再点击开始玩,则玩的是数字的玩法;点击“图像玩法”,再点击开始玩,则是图像的玩法。
魔板游戏程序设计通过main()方法和PuzzleFrame主类来实现魔板游戏的整体功能。调试“初级”、“高级”、“数字玩法”及“图像玩法”单选按钮来自定义其难易程度,单机“开始玩”按钮,程序运行,进行魔板游戏的练习。
2.2概要设计
2.2.1自定义类说明
**********************************************************
* 类名: PuzzleFrame
* 作用: 构造函数,用以初始化
* 继承的父类: JFrame类
* 实现的接口: ActionListener
**********************************************************
成员变量见表1
表1 成员变量
成员变量描述
变量类型
名称
文件
FileMenu
File
单选按钮菜单项
JRadioButtonMenuItem
“数字玩法”,“图像玩法”
菜单项
JMenuItem
“魔板游戏”
菜单
JMenuItem
初级和高级
颜色
Setborder
Blue
对话框
JDialog
Dialog
开始按钮
JButton
“开始玩”
标签
JLabel
Label_seek,label_infor
文件名
String
Seek
2.3详细设计
(程序部分源代码及注释)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PuzzleFrame extends JFrame implements ActionListener
{
PuzzlePad puzzlePad;
JButton 开始;
JMenuBar bar;
JMenu fileMenu;
JMenuItem 初级,高级;
JRadioButton 数字玩法,图像玩法;
ButtonGroup group=null;
Container con=null;
public PuzzleFrame()
{
bar=new JMenuBar();
fileMenu=new JMenu("魔板游戏");
初级=new JMenuItem("初级");
高级=new JMenuItem("高级");
fileMenu.add(初级);
fileMenu.add(高级);
bar.add(fileMenu);
setJMenuBar(bar);
初级.addActionListener(this);
高级.addActionListener(this);
开始=new JButton("开始玩");
开始.addActionListener(this);
group=new ButtonGroup();
数字玩法=new JRadioButton("数字玩法",true);
图像玩法=new JRadioButton("图像玩法",false);
group.add(数字玩法);
group.add(图像玩法);
puzzlePad=new PuzzlePad(3,3,50,50);
con=getContentPane();
con.add(puzzlePad,BorderLayout.CENTER);
JPanel pNorth=new JPanel();
pNorth.add(数字玩法);
pNorth.add(图像玩法);
pNorth.add(开始);
con.add(pNorth,BorderLayout.NORTH);
con.validate();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,440,360);
validate();
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==开始)
{
if(数字玩法.isSelected())
{
puzzlePad.随机排列数字();
}
else if(图像玩法.isSelected())
{
puzzlePad.随机排列图像();
}
}
else if(e.getSource()==初级)
{
con.remove(puzzlePad);
puzzlePad=new PuzzlePad(3,3,50,50);
con.add(puzzlePad,BorderLayout.CENTER);
con.validate();
this.validate();
}
else if(e.getSource()==高级)
{
con.remove(puzzlePad);
puzzlePad=new PuzzlePad(4,4,50,50);
con.add(puzzlePad,BorderLayout.CENTER);
con.validate();
this.validate();
}
}
public static void main(String args[])
{
new PuzzleFrame();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.Vector;
import java.awt.image.*;
public class PuzzlePad extends JPanel implements ActionListener
{
int rows ,colums;
int width,height;
SquarePoint point[][];
JButton block[][];
Vector vector;
int leftX=50,leftY=50;
Image image=null;
Toolkit tool=null;
MediaTracker mt;
int 图像的宽,图像的高;
Image blockImage[];
boolean 画图像=true;
public PuzzlePad(int r,int c,int w,int h)
{
setLayout(null);
vector=new Vector();
rows=r;
colums=c;
width=w;
height=h;
tool=getToolkit();
try
{
image=tool.createImage("气球.jpg");
mt.addImage(image,1);
mt.waitForAll();
}
catch(Exception e)
{
}
block=new JButton[rows][colums];
point=new SquarePoint[rows][colums];
for(int i=0;i
0)
{
int n=(int)(Math.random()*vector.size());
JButton b=(JButton)vector.elementAt(n);
b.setText(""+i);
b.setIcon(null);
b.setBorder(BorderFactory.createLineBorder(Color.blue,1));
vector.remove(n);
i++;
}
画图像=false;
repaint();
}
public void 随机排列图像()
{
try
{
图像的宽=image.getWidth(this);
图像的高=image.getHeight(this);
int w=图像的宽/colums;
int h=图像的高/rows;
blockImage=new Image[rows*colums];
int k=0;
PixelGrabber pg=null;
ImageProducer ip=null;
for(int i=0;i
本文档为【模板游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。