资源简介
这是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解析fsn文件
- 会议室预定系统的Java实现
- jsp+web+简单学生管理系统+mysql
- JAVA实现的网络白板
- Java 画图板基本图形、撤销、清空、重
- java爬虫完整代码
- java mrp算法实现
- SuperVCD纯JAVA编程
- Java汪文君高并发编程.txt
- 汪文君Java8新特性及实战视频教程完整
- 用java写的多线程聊天程序GUI界面soc
- java课程设计系列之魔板游戏.rar
- java用servlet实现文件上传到数据库
- JAVA贪吃蛇源代码
- java绘图程序代码
- java 一笔画问题
- Java私塾——模拟银行系统源代码
- java核心技术卷1源码 第10版
- ford-fulkerson算法求网络最大流(java实
- 匈牙利算法java实现
- java游戏毕业设计之基于java的五子棋
- 文件校验和源码
- javaSE Tutorial中文版
- JAVA双缓冲绘图源码
- java获取系统信息cpu,内存,硬盘方法
- 2020 兴业数金Java笔试题.docx
- 2020 兴业银行Java笔试题
- 自定义JList
评论
共有 条评论