資源簡介
java實現迷宮的自動求解,bfs算法,實現了可視化,有興趣可以完善監聽事件

代碼片段和文件信息
package?com.zjz.Queue;
import?java.awt.Color;
import?java.awt.Graphics;
import?java.util.Deque;
import?java.util.linkedList;
import?java.util.Queue;
import?java.util.Timer;
import?java.util.TimerTask;
import?javax.swing.Jframe;
import?javax.swing.JPanel;
public?class?BFS?extends?JPanel?{
private?static?final?long?serialVersionUID?=?1L;
public?static?void?main(String[]?args)?{
BFS?bfs?=?new?BFS();
Point?start?=?new?Point(0?0);
Point?dest?=?new?Point(29?29);
bfs.search2(start?dest);
System.out.print(“搜索路徑:“);
System.out.println(S2);
//?for?(int[]?i?:?bfs.wall)?{
//?System.out.println(Arrays.toString(i));
//?}
Jframe?frame?=?new?Jframe(“迷宮“);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setSize(500?500);
BFS?pane?=?new?BFS();
frame.add(pane);
frame.setVisible(true);
pane.action();
}
public?static?final?int?CELL_WIDTH?=?12;
/**
?*?
?*/
public?void?paint(Graphics?g)?{
g.clearRect(0?0?getWidth()?getHeight());
g.setColor(Color.ORANGE);
for?(int?i?=?0;?i? for?(int?j?=?0;?j? if?(wall[i][j]?==?1)?{
g.fillRect(j?*?CELL_WIDTH?i?*?CELL_WIDTH?CELL_WIDTH
CELL_WIDTH);
}
}
}
g.setColor(Color.RED);
g.fillRect(CELL_WIDTH?*?currentPoint.x?CELL_WIDTH?*?currentPoint.y
CELL_WIDTH?CELL_WIDTH);
}
/**
?*?當前節點
?*/
public?Point?currentPoint?=?new?Point(0?0);
/**
?*?計時器
?*/
public?void?action()?{
new?Timer().scheduleAtFixedRate(new?TimerTask()?{
@Override
public?void?run()?{
if?(!S2.isEmpty())?{
currentPoint?=?S2.pop();
repaint();
}
}
}?1000?200);
}
private?int[][]?wall?=?{
{?0?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1
1?1?1?1?1?1?1?1?}
{?0?0?0?0?0?1?0?1?1?0?0?1?1?1?1?1?1?1?1?1?0?0
0?0?0?0?0?0?0?1?}
{?1?0?0?1?1?0?0?1?0?0?0?0?0?0?0?0?0?0?1?0?0?1
0?0?1?1?1?1?1?1?}
{?1?1?0?1?1?0?0?0?0?1?0?1?0?1?1?0?1?0?1?0?1?1
1?0?1?1?1?1?1?1?}
{?1?1?0?0?0?1?1?0?0?1?0?1?0?0?1?0?1?1?0?0?1?0
0?0?0?0?0?0?0?1?}
{?1?1?0?1?0?0?0?0?0?1?0?1?0?1?1?0?1?1?0?0?1?0
1?1?1?0?1?1?0?1?}
{?1?1?0?1?1?0?1?0?1?1?0?1?0?1?1?1?1?1?0?0?1?0
0?0?0?1?0?0?0?1?}
{?1?0?0?1?1?0?1?1?1?1?0?1?1?0?0?0?0?0?0?0?1?0
1?1?1?1?0?1?1?1?}
{?1?1?1?1?1?0?0?0?0?0?0?1?0?1?1?0?1?1?1?0?0?1
0?0?0?0?0?1?1?1?}
{?1?0?0?0?0?0?1?1?0?1?0?1?0?1?0?0?1?0?0?1?0?1
0?1?1?1?1?1?0?1?}
{?1?1?0?1?1?0?1?1?0?1?1?1?0?1?1?0?1?0?0?0?1?1
0?0?0?1?0?0?0?1?}
{?1?0?0?1?1?0?1?1?0?0?0?0?0?0?1?0
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-03-30?18:40??Zjz\
?????文件?????????301??2013-07-18?23:05??Zjz\.classpath
?????文件?????????379??2013-07-18?23:05??Zjz\.project
?????目錄???????????0??2014-03-30?18:40??Zjz\.settings\
?????文件?????????629??2013-07-18?23:05??Zjz\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2014-03-30?18:40??Zjz\bin\
?????目錄???????????0??2014-03-30?18:40??Zjz\bin\com\
?????目錄???????????0??2014-03-30?18:40??Zjz\bin\com\zjz\
?????目錄???????????0??2014-03-30?18:40??Zjz\bin\com\zjz\Queue\
?????文件?????????799??2014-01-21?22:51??Zjz\bin\com\zjz\Queue\BFS$1.class
?????文件????????7957??2014-01-21?22:51??Zjz\bin\com\zjz\Queue\BFS.class
?????文件????????1026??2014-01-21?22:51??Zjz\bin\com\zjz\Queue\Point.class
?????目錄???????????0??2014-03-30?18:40??Zjz\src\
?????目錄???????????0??2014-03-30?18:40??Zjz\src\com\
?????目錄???????????0??2014-03-30?18:40??Zjz\src\com\zjz\
?????目錄???????????0??2014-03-30?18:40??Zjz\src\com\zjz\Queue\
?????文件????????7698??2013-08-01?23:18??Zjz\src\com\zjz\Queue\BFS.java
?????文件?????????138??2013-07-20?18:39??Zjz\src\com\zjz\Queue\BFS.java.bak
- 上一篇:java神州數碼面試題
- 下一篇:Spring_控制反轉_工廠模式
評論
共有 條評論