java gui 猜数字游戏_java课程设计GUI猜数字游戏程序

这是一份关于Java GUI猜数字游戏程序的课程设计报告,旨在加深对面向对象程序设计的理解,提高Java编程能力。游戏规则是程序随机生成四个0-9的不重复数字,用户输入四个数字进行匹配,根据匹配情况显示A(数值和位置均正确)和B(数值正确位置错误)的数量。报告详细描述了需求分析、总体设计、详细设计和测试分析,并提供了程序代码。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gifjava课程设计GUI猜数字游戏程序

软 件 学 院 课程设计报告书 课程名称 面向对象程序设计 设计题目 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 1 设计时间 2012年6月11日-2012年6月15日 2 设计目的 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3设计任务 设计一个GUI猜数字游戏程序,该游戏可以由程序随机产生四个0到9之间的整数,且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。假设随机数据为3792 时,分析如下 数据: 3792 输入: 1234 0A2B 输入: 5678 0A1B 输入: 0867 0A1B 输入: 9786 1A1B 输入: 1794 2A0B 输入: 2793 2A2B 输入: 3792 4A0B 4 设计内容 4.1需求分析 4.1.1问题描述 利用GUI编程实现一个猜数字的游戏,该游戏可以由程序随机产生四个0到9之间的整数,且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。然后,根据用户所输入的的四个数字和程序随机产生的四个数字进行比较(包括数值与位置的比较)。最后,把比较的结果在游戏界面上显示出来,让游戏者得知。 4.1.2基本要求 GUI猜数字游戏,主要解决问题包括编写GUI界面,实现猜数字的功能。猜数字游戏中要实现的主要功能有产生四个不重复的随机数,将随机数与游戏者输入的数字比较得出A(随机数与输入数字的数值相同且位置相同)和B(随机数与输入数字的数值相同但位置不同)的个数。 4.2总体设计 4.2.1 包的描述 由于本程序就采用了AWT来实现游戏界面,仅仅就引用了Frame类,所以程序简单。程序只需要引用java.awt.*和java.awt.event.*,一个作为各控件的引用包,一个是监听事件的引用包。 4.2.2 类的描述 在设计类的时候,考虑到简单明了,就用了三个类,一个主类MyFrame和两个事件监听类NumberListener和OperatorListener作为程序的整体框架。其中,MyFrame类继承于Frame类,NumberListener和OperatorListener类继承于ActionListener接口,两个事件监听类还是两个内部类。 4.2.3类之间的关系 接口ActionListener Frame NumberListener MyFrame OperatorListener 继承 实现 实现 图1 4.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) //实例化对象 图2 NumberListener ActionEvent e2 //产生触发事件的对象 public void actionPered(ActionEvent e2) //对触发事件的对象进行事件处理 图3 OperatorListener ActionEvent e3 //产生触发事件的对象 public void actionPered(ActionEvent e3) //对触发事件的对象进行事件处理 图4 4.3.2页面设计 图形界面的设计,考虑到简单、实用、高效等特点,我选择了AWT来实现完成。 图5 4.4

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值