当前位置:文档之家› java课程设计 GUI编程猜数字游戏

java课程设计 GUI编程猜数字游戏


4
4.3.2 页面设计
图形界面的设计,考虑到简单、实用、高效等特点,我选择了 AWT 来实现完成。
图5
4.4 测试与分析
1)点击开局,程序产生随机数,游戏者点击输入四个不同数字,然后点击确定按钮, 程序内部进行比较,最后在 A、B 对应位置给出结果。
图6
tf1.setForeground(Color.red);tf2.setForeground(Color.red);tf3.setForeground(Color.red);
tf4.setForeground(Color.red);tf5.setForeground(Color.red);tf6.setForeground(Color.red); p1.add(tf1); p1.add(tf2); p1.add(tf3); p1.add(tf4); NumberListener nl = new NumberListener(); OperatorListener ol=new OperatorListener(); Button b0 = new Button("0"); b0.addActionListener(nl); Button b1 = new Button("1"); b1.addActionListener(nl); Button b2 = new Button("2"); b2.addActionListener(nl); Button b3 = new Button("3"); b3.addActionListener(nl); Button b4 = new Button("4"); b4.addActionListener(nl); Button b5 = new Button("5"); b5.addActionListener(nl); Button b6 = new Button("6"); b6.addActionListener(nl); Button b7 = new Button("7"); b7.addActionListener(nl); Button b8 = new Button("8"); b8.addActionListener(nl); Button b9 = new Button("9"); b9.addActionListener(nl); Button b10 = new Button("本局重猜"); b10.addActionListener(ol); Button b11 = new Button("确定"); b11.addActionListener(ol); Button b12 = new Button("开局"); b12.addActionListener(ol);
4.2.1 包的描述
由于本程序就采用了 AWT 来实现游戏界面,仅仅就引用了 Frame 类,所以程序简单。 程序只需要引用 java.awt.*和 java.awt.event.*,一个作为各控件的引用包,一个是监 听事件的引用包。
4.2.2 类的描述
在设计类的时候,考虑到简单明了,就用了三个类,一个主类 MyFrame 和两个事件监 听类 NumberListener 和 OperatorListener 作为程序的整体框架。其中,MyFrame 类继承 于 Frame 类,NumberListener 和 OperatorListener 类继承于 ActionListener 接口,两个 事件监听类还是两个内部类。
4 设计内容
4.1 需求分析
4.1.1 问题描述
利用 GUI 编程实现一个猜数字的游戏,该游戏可以由程序随机产生四个 0 到 9 之间的 整数,且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。然后,根 据用户所输入的的四个数字和程序随机产生的四个数字进行比较(包括数值与位置的比 较) 。最后,把比较的结果在游戏界面上显示出来,让游戏者得知。
b0.setForeground(Color.blue);b1.setForeground(Color.blue);b2.setForeground(Color.blue); b3.setForeground(Color.blue);b4.setForeground(Color.blue);b5.setForeground(Color.blue); b6.setForeground(Color.blue);b7.setForeground(Color.blue);b8.setForeground(Color.blue);
4.2.3 类之间的关系
Frame
接口 ActionListener
继承
实现
实现
MyFrame
NumberListener
OperatorListener
图1
4.3 详细设计
3
4.3.1 类图
Frame
int i //标识,控制点击数字显示在相应 TextField int f //标识,控制程序产生四个不同随机数 int f1 //标识,控制 A、B 结果的显示 int A //计数,随机数与输入数数值和位置都相同的数字个数 int B //计数,随机数与输入数数值相同但位置都不同的数字个数 int Enter[] //存储游戏者输入的四个数字 int Arr[] //存储程序产生的四个随机数 TextField tf1,tf2,tf3,tf4 //显示输入的数字 TextField tf5,tf6 //显示 A、B 结果 Panel p1,p2,p3,p4 //容器 Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,11,b12 //按钮 Label l1,l2 //显示 A、B public MyFrame() //实现游戏界面 public void NumStore(ActionEvent e2) //游戏者输入四个数字,显示并存储 public void EventClick(ActionEvent e3) //对相应事件作相应处理 public static void main(String[] args) //实例化对象
1
1 设计时间
2012 年 6 月 11 日-2012 年 6 月 15 日
2 设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完 该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设 计的理论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法, 提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
6
Panel p2 = new Panel(new GridLayout(3, 3,6,6)); Panel p3 = new Panel(new GridLayout(4, 1)); Panel p4 = new Panel(new GridLayout(1, 3,6,6)); tf1.setEditable(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf5.setEditable(false); tf6.setEditable(false);
3 设计任务
设计一个 GUI 猜数字游戏程序,该游戏可以由程序随机产生四个 0 到 9 之间的整数, 且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。A 表示位置正确 且数字正确,B 表示数字正确而位置不正确。假设随机数据为 3792 时,分析如下 数据: 输入: 输入: 输入: 输入: 输入: 输入: 输入: 3792 1234 0A2B 5678 0A1B 0867 0A1B 9786 1A1B 1794 2A0B 2793 2A2B 3792 4A0B
软 件 学 院
课程设计报告书
课程名称 设计题目 专业班级 学 姓 号 名
面向对象程序设计 GUI 猜数字游戏程序
童 林
指导教师
2012 年 6 月
目录
1 设计时间……………………………………………………………………1 2 设计目的……………………………………………………………………1 3 设计任务……………………………………………………………………1 4 设计内容……………………………………………………………………1 4.1 需求分析 …………………………………………………………………1 4.1.1 问题描述 ………………………………………………………………1 4.1.2 基本要求 ………………………………………………………………1 4.2 总体设计 …………………………………………………………………2 4.2.1 包的描述………………………………………………………………2 4.2.2 类的描述………………………………………………………………2 4.2.3 类之间的关系 …………………………………………………………2 4.3 详细设计 …………………………………………………………………2 4.3.1 类图…………………………………………………………………… 3 4.3.2 页面设计……………………………………………………………… 4 4.4 测试与分析……………………………………………………………… 4 4.5 程序代码…………………………………………………………………5 5 总结与展望…………………………………………………………………11 参考文献………………………………………………………………………12
图7
5
3)当全部猜对后,游戏者可以点击开局,程序产生新的随机数,同时程序内部全部 初始化,然后就可以进行新一轮的游戏。
相关主题