数据结构课程设计迷宫算法的实现JAVA文档格式.docx
- 文档编号:21972179
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:29
- 大小:86.41KB
数据结构课程设计迷宫算法的实现JAVA文档格式.docx
《数据结构课程设计迷宫算法的实现JAVA文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计迷宫算法的实现JAVA文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
二、总体设计方案以及细节设计
为实现上述程序功能,主要使用的JAVAAWT和JAVASWING包
importjava.awt.*;
importjavax.swing.*;
importhartech.ui.*;
3.本程序包含四个模块:
1)主程序模块:
packagemg;
/**
*<
p>
Title:
mazeGlobalclass<
/p>
*
Description:
<
Date:
2006-08-31<
*/
publicclassMain{
//_reset变量用于reset时用
staticintrows=12,cols=14;
staticintspeed_reset=50,speed=speed_reset;
staticJToggleButton[][]buttons;
staticWalkingwalking;
staticboolean[][]brick,brick_reset={
{true,true,true,true,true,false,true,true,true,true,
true,true,true,true,},
{true,false,false,false,true,false,true,true,true,true,
false,false,false,true,},
{true,false,true,false,true,false,false,false,false,true,
true,false,true,true,},
{true,false,true,false,true,false,true,true,true,false,
true,false,true,false,},
{true,true,true,false,false,false,true,false,true,false,
{true,false,true,true,true,true,true,false,true,false,
true,false,false,true,},
{true,false,false,false,false,false,true,true,true,false,
{true,false,true,true,true,false,false,false,false,false,
{true,false,true,false,true,false,true,true,true,true,
{true,false,true,false,true,false,true,false,false,false,
false,false,true,true,},
{true,true,true,false,true,true,true,true,true,true,
true,false,true,true,}
};
staticJFramejFrame;
staticUIui;
publicstaticvoidmain(String[]args){
//启动新线程,创建一个窗口
javax.swing.SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
//J.setLookAndFeel("
Metal"
);
jFrame=newJFrame(
"
isthereanywaytogo?
Maze---"
//建立一个Swing窗体
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//单击关闭图标后,程序退出并关闭
//add
Main.ui=newUI();
jFrame.add(ui,BorderLayout.CENTER);
jFrame.setSize(700,400);
//J.goCenter(jFrame);
Main.drawButtons();
Main.reset();
jFrame.setVisible(true);
}
});
}
//用于重置到软件开始
publicstaticvoidreset(){
if(walking!
=null){
walking.timer.stop();
}
clean();
brick=copyBoolean(brick_reset);
speed=speed_reset;
UI.jSlider.setValue(speed);
setBricks();
//用于清楚已标记上的数字
publicstaticvoidclean(){
for(inti=0;
i<
rows;
i++){
for(intj=0;
j<
cols;
j++){
buttons[i][j].setText("
"
//清除按钮的数字,设置名字为空
buttons[i][j].setForeground(null);
UI.jLabel_state.setText("
Movenow?
//去掉全部砖
publicstaticvoidblank(){
buttons[i][j].setSelected(true);
//重画按钮图,根据rows、cols
publicstaticJPaneldrawButtons(){
buttons=newJToggleButton[rows][cols];
UI.jPanel_map=newJPanel(newGridLayout(rows,cols));
buttons[i][j]=newJToggleButton();
UI.jPanel_map.add(buttons[i][j]);
Main.ui.add(UI.jPanel_map,BorderLayout.CENTER);
Main.ui.setVisible(true);
returnUI.jPanel_map;
//根据brick[][]设置按钮障碍
publicstaticvoidsetBricks(){
buttons[i][j].setSelected(brick[i][j]);
//根据现在按钮情况设置brick[][]数组,用于move()内前面
publicstaticvoidreadBricks(){
brick[i][j]=buttons[i][j].isSelected();
//开始走
publicstaticvoidmove(){
readBricks();
//readToFile();
walking=newWalking(brick);
/**
//用于把绘制好地图数据写入文件
publicstaticvoidreadToFile(){
Stringout="
;
for(inti=0;
out+="
{"
for(intj=0;
if(brick[i][j]){
true,"
else{
false,"
},\r\n"
hartech.JFile.stringToFile(out,"
E:
/dest.txt"
//复制二维数组
publicstaticboolean[][]copyBoolean(boolean[][]in){
introw=in.length,col=in[0].length;
boolean[][]out=newboolean[row][col];
row;
col;
out[i][j]=in[i][j];
returnout;
}
J.setLookAndFeel("
J.goCenter(jFrame);
}
2)UI模块——实现整个控制面板内组件的布局管理;
3)Walking模块——实现走迷宫的算法;
4)Ap
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 迷宫 算法 实现 JAVA
![提示](https://static.bdocx.com/images/bang_tan.gif)