资源简介
这是Java GUI可视化图形设计的汉诺塔(Hannoi)小游戏,使用Eclipse编译器制作,用户可以使用鼠标拖动盘子进行自己操作,或者选择自动演示;另外,增加了一些扩展功能:1、用户进行游戏的游戏时间记录;2、用户可选择游戏难度(或者自定义游戏的盘子数目);3、可以设置盘子的大小;4、改变背景颜色或盘子颜色;5、自动演示的汉诺塔步骤可以使用文本保存;

代码片段和文件信息
/* AutoMoveDisc类
* 该类实现了ActionListener接口,创建对象 autoMoveDisc 是Tower的成员之一
* */
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.text.BadLocationException;
public class AutoMoveDisc extends JDialog implements ActionListener{
int amountOfDisc=3; //盘子的数量
TowerPoint [] pointApointBpointC; //存放Tower容器中的塔点对象的引用;
char [] towerName; //存放Tower容器中的towername的引用
Container con; //Container容器对象,用来存放tower对象引用
StringBuffer moveStep; //存放移动盘子的步骤,用连续两个字符表示
JTextArea showStep; //显示盘子移动步骤的文本区
JButton bStartbStopbContinuebClosebSave; //相关按钮
Timer time; //时间计时器
int i=0number=0;
AutoMoveDisc(Container con){ //构造函数,完成界面布局
setModal(true);
settitle(“自动演示搬盘子过程:“);
this.con=con;
moveStep=new StringBuffer();
time=new Timer(1000this);
time.setInitialDelay(10);
showStep=new JTextArea(1520);
bStart=new JButton(“演示“);
bStop=new JButton(“暂停“);
bContinue=new JButton(“继续“);
bSave=new JButton(“保存“);
bClose=new JButton(“关闭“);
bStart.addActionListener(this);
bStop.addActionListener(this);
bContinue.addActionListener(this);
bSave.addActionListener(this);
bClose.addActionListener(this);
JPanel south=new JPanel();
south.setLayout(new FlowLayout());
south.add(bStart);
south.add(bStop);
south.add(bContinue);
south.add(bSave);
south.add(bClose);
add(new JScrollPane(showStep)BorderLayout.CENTER);
add(southBorderLayout.SOUTH);
setDefaultCloseOperation(Jframe.DO_NOTHING_ON_CLOSE);
towerName=new char[3];
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
time.stop();
setVisible(false);
}
});
}
public void setPointA(TowerPoint [] pointA){ //将tower容器中的pointA对象的引用传递给该对象的pointA以便autoMoveDisc对象自动移动踏上的盘子disc
this.pointA=pointA;
}
public void setPointB(TowerPoint [] pointB){
this.pointB=pointB;
}
public void setPointC(TowerPoint [] pointC){
this.pointC=pointC;
}
public void setTowerName(char name[]){ //给每一个座tower命名
if(name[0]==name[1]||name[0]==name[2]||name[1]==name[2]){
towerName[0]=‘A‘;
towerName[1]=‘B‘;
towerName[2]=‘C‘;
}
else
towerName=name;
}
public void setAmountOfDisc(int n){ //设置盘子数目变量 amountOfDisc的值
amountOfDisc=n;
}
public void actionPerformed(ActionEvent e) { //实现文本显示盘子移动步骤事件
if(e.getSource()==time){
number++;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2010-12-26 19:14 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\.classpath
文件 386 2010-12-26 19:14 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\.project
文件 629 2010-12-26 19:14 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\.settings\org.eclipse.jdt.core.prefs
文件 745 2011-01-08 21:41 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\AutoMoveDisc$1.class
文件 6324 2011-01-08 21:41 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\AutoMoveDisc.class
文件 784 2011-01-07 22:04 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\Disc.class
文件 4327 2011-01-07 18:53 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\HandleMouse.class
文件 1182 2011-01-08 18:32 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\HannoiWindow$rHandler.class
文件 8437 2011-01-08 18:32 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\HannoiWindow.class
文件 141 2010-12-27 00:17 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\java.policy.ap
文件 2268 2010-12-27 20:52 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\PlayMusic.class
文件 4807 2011-01-07 23:23 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\Tower.class
文件 1879 2011-01-07 01:20 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin\TowerPoint.class
文件 8451 2011-01-08 21:41 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src\AutoMoveDisc.java
文件 801 2011-01-07 22:04 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src\Disc.java
文件 7713 2011-01-07 18:53 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src\HandleMouse.java
文件 9347 2011-01-08 18:32 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src\HannoiWindow.java
文件 7788 2011-01-07 23:23 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src\Tower.java
文件 2443 2011-01-07 01:20 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src\TowerPoint.java
目录 0 2011-01-08 22:33 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\.settings
目录 0 2011-01-08 22:33 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\bin
目录 0 2011-01-08 22:34 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码\src
目录 0 2011-01-08 22:35 Java 汉诺塔_Hannoi GUI 可视化_图形用户界面_源代码
----------- --------- ---------- ----- ----
68753 23
- 上一篇:西安软件公司java笔试题
- 下一篇:《Java基础入门》_课后习题答案
相关资源
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
评论
共有 条评论