- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java课程设计--hannoi汉诺塔游戏
HUBEI NORMAL UNIVERSITY
Java程序设计
论文题目 Hannoi塔游戏 学 生 指导教师 所在院系 专业名称 完成时间 摘 要
《JAVA语言实用教程》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA语言实用教程》课程后,进行的一次全面的综合训练,JAVA语言实用教程的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
目 录
一、课程设计任务及要求 4
1、课程设计任务 4
2、设计要求 4
二、需求分析 5
1、系统需求分析 5
2、系统概述 5
3、系统运行环境 6
三、设计思路 6
概要设计 7
四、详细设计 7
package Hannoi; 7
HannoiWindow类 7
AutoMoveDisc类 15
Disc类 21
HandleMouse类 22
Tower类 27
TowerPoint 类 31
五、运行调试与分析讨论 33
六、设计体会与小结 36
1.设计体会 36
2.小结 36
参考文献 37
致谢 37
一、课程设计任务及要求
设计GUI界面的Hannoi塔游戏,用户可以通过拖动鼠标移动各个塔上的盘子,程序也可以自动演示盘子的移动过程。
2、设计要求
(1)有三个表示塔的对象,分别命名为A、B和C。A塔上有若干个盘子,盘子的大小不等,并按着大小顺序依次摆放在A塔上,大盘在下,小盘在上。用户可以用鼠标拖动盘子,把A 塔上的盘子全部移动到另外两个塔中的任何一个塔上。要求每次只能移动一个盘子,在任何时候不允许大盘压在小盘的上面。
(2)用户也可以选择让程序自动演示。选择自动演示后,程序将以动画形式演示把A塔上的盘子全部移到C塔的过程,并将移动过程以文本形式显示在一个文本区中。
(3)可以由用户自己设置盘子数量和盘子大小。
(4)可以改变盘子的颜色、背景颜色以及背景音乐。
(5)游戏分为初、中、高三个等级。
(6)可以记录游戏时间并且设有从新开始按钮。
二、需求分析
1、系统需求分析
使用java面向对象语言设计汉诺塔游戏,此游戏要求:
1)界面要求:
(1)尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
(2)如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作(盘子可以自己规定)。
2)其他要求:可以保存自己的自动演示记录
3)每次移动一子,小的只能叠在大的上面4)把所有碟子从A全部移到C上
(1)标识符命名遵循Windows命名规范。
(2)能够注意各种异常处理,注重提高程序运行效率。
2、系统概述有三根A,B,C。A杆上有若干子
3、系统运行环境
任何具有jre运行环境的设计思路HannoiWindow、AutoMoveDisc、Disc、HandleMouse、Tower、TowerPoint)所给出的类外,还需要java系统提供的一些重要的类,如JButton,JCheckBox等。汉诺塔中有三个座,名字分别为A,B,C。刚开始的时候A塔上有3个大小不等的盘子,这些盘子从座底到座顶按着大小顺序依次摆放在A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动盘子。释放鼠标来放置该盘子。程序要求用户在移动盘子的过程中,不允许把大盘子放置在小盘子的上面,用户最终要完成的是把A座上的全部盘子移动到B座或C座上。用户可以通过Hannoi塔界面提供的改变盘子数目功能来改变盘子的数目,同时可以改变盘子的大小以及改变盘子和界面的背景颜色,而且还可以选择控制背景音乐的播放。用户可以通过单击Hannoi塔界面上提供的按钮,让程序自动完成把A座上的盘子全部移动到C座上。用户在移动盘子的过程中,可以随时单击Hannoi塔界面上提供的按钮,重新开始。
概要设计package Hannoi;
HannoiWindow类/* HannoiWindow类
* 该类主要功能是设置主界面的布局、相关按钮和监听事件
* */
import java.applet.Applet;
import java.applet.AudioClip;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import .MalformedURLException;
import .URL;
import javax.swing.JOptionPane;
public c
文档评论(0)