东华理工大学理学院信计Java课程设计
point[startI].set有盘子(false); try
{ Thread.sleep(1000); }
catch(Exception ee) { } }
自动演示搬运盘子(盘子数-1,two,one,three); } }
public Disk 在塔中获取最上面的盘子(char 塔名) { Disk disk=null;
if(塔名==towerName[0])
{ for(int i=0;i<盘子数目;i++)
{ if(point[i].是否有盘子()==true) { disk=point[i].获取盘子(); break; } } }
if(塔名==towerName[1])
{ for(int i=盘子数目;i<2*盘子数目;i++) { if(point[i].是否有盘子()==true) { disk=point[i].获取盘子(); break; } } }
if(塔名==towerName[2])
{ for(int i=2*盘子数目;i<3*盘子数目;i++) { if(point[i].是否有盘子()==true) { disk=point[i].获取盘子(); break; } } }
return disk; }
public int 在塔中获取最上面盘子的上方位置(char 塔名) { int position=0;
- 21 -
东华理工大学理学院信计Java课程设计
if(塔名==towerName[0]) { int i=0;
for(i=0;i<盘子数目;i++)
{ if(point[i].是否有盘子()==true) { position=Math.max(i-1,0); break; } }
if(i==盘子数目)
{ position=盘子数目-1;} }
if(塔名==towerName[1]) { int i=0;
for(i=盘子数目;i<2*盘子数目;i++) { if(point[i].是否有盘子()==true) { position=Math.max(i-1,0); break; } }
if(i==2*盘子数目)
{ position=2*盘子数目-1; } }
if(塔名==towerName[2]) { int i=0;
for(i=2*盘子数目;i<3*盘子数目;i++) { if(point[i].是否有盘子()==true) { position=Math.max(i-1,0); break; } }
if(i==3*盘子数目)
{ position=3*盘子数目-1; } }
return position; }
public int 在塔中获取最上面盘子的位置(char 塔名) { int position=0;
if(塔名==towerName[0]) { int i=0;
- 22 -
东华理工大学理学院信计Java课程设计
for(i=0;i<盘子数目;i++)
{ if(point[i].是否有盘子()==true) { position=i; break; } }
if(i==盘子数目)
{ position=盘子数目-1; } }
if(塔名==towerName[1]) { int i=0;
for(i=盘子数目;i<2*盘子数目;i++) { if(point[i].是否有盘子()==true) { position=i; break; } }
if(i==2*盘子数目)
{ position=2*盘子数目-1; } }
if(塔名==towerName[2]) { int i=0;
for(i=2*盘子数目;i<3*盘子数目;i++) { if(point[i].是否有盘子()==true) { position=i; break; } }
if(i==3*盘子数目)
{ position=3*盘子数目-1; } }
return position; } }
3.
/**
* @(#)Disk.java *
- 23 -
东华理工大学理学院信计Java课程设计
*
* @author
* @version 1.00 2014/12/29 */
import java.awt.*;
public class Disk extends Button { int number;
boolean 上方有盘=false;
public Disk(int number,HannoiTower con) { this.number=number;
setBackground(Color.blue); addMouseMotionListener(con); addMouseListener(con); }
public boolean get上方有盘() { return 上方有盘; }
public void set上方有盘(boolean b) { 上方有盘=b; } public int getNumber() { return number; } }
4.
/**
* @(#)TowerPoint.java * *
* @author
* @version 1.00 2014/12/29 */
import java.awt.*;
public class TowerPoint { int x,y;
boolean 有盘子; Disk 盘子=null;
HannoiTower con=null;
- 24 -
东华理工大学理学院信计Java课程设计
public TowerPoint(int x,int y,boolean boo) { this.x=x; this.y=y; 有盘子=boo; }
public boolean 是否有盘子() { return 有盘子; }
public void set有盘子(boolean boo) { 有盘子=boo; } public int getX() { return x; } public int getY() { return y; }
public void 放置盘子(Disk 盘子,HannoiTower con) { this.con=con;
con.setLayout(null); this.盘子=盘子; con.add(盘子);
int w=盘子.getBounds().width; int h=盘子.getBounds().height; 盘子.setBounds(x-w/2,y-h/2,w,h); 有盘子=true; con.validate(); }
public Disk 获取盘子() { return 盘子; } }
- 25 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java课程设计报告(汉诺塔)(5)在线全文阅读。
相关推荐: