一、课程设计(论文)题目 走 迷 宫
二、课程设计(论文)工作自 2011 年 6月 20 日起至 2011 年 6月 30 日止。
三、课程设计(论文) 地点: 机房
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)熟练掌握数据结构的基本算法,提高算法设计与分析能力
(2)基本掌握面向对象设计基本思路和方法;
(3)利用所学的基本知识和技能,解决简单的程序设计问题;
(4)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)课程设计前必须根据课程设计题目认真准备实验源程序及调试时所需的数据;
(2)要求采用简明、严格的问题描述,设计求解算法;
(3)数据结构选用得当,程序结构合理;
(4)程序简明易懂,多运用输出提示,程序运行正确;
(5)对设计进行总结和讨论。
2)课程设计论文编写要求
(1)要按照书稿的规格打印撰写课设论文
(2)论文包括目录、正文、总结和体会、参考文献、附录等
(3)正文中要有问题描述、设计求解算法、算法的实现、调试分析(调试时出现
的主要问题:编译语法错误及修改,重点是运行逻辑问题修改和调整)
(4)课设论文装订按的统一要求完成
3)课设考核:
从以下几方面来考查:
(1)出勤情况;
(2)设计任务的难易程度及饱满程度;
(3)课设任务完成情况;
(4)动手调试能力;
(5)论文撰写的原理分析、设计思路以及论述的层次性、条理性、格式的规范性。
4)参考文献:
[1] 王元珍,韩宗芬.IBM-PC宏汇编语言程序设计(第二版).华中理工出版社.
[2] 叶核亚《数据结构(Java版)(第2版)》 电子工业出版社
[3] 耿祥义、张跃平 《Java基础教程(第2版)》 清华出版社
[4] 刘小晶 《数据结构(Java语言描述)》 清华出版社
5)课程设计进度安排
内容 天数 地点
构思及收集资料 3 图书馆
程序设计与调试 4 计算机房
撰写论文 3 图书馆
6)选择课程设计题目具体要求:
走迷宫:
1、用递归算法实现,以栈和队列作为辅助结构,
2、并设计图形用户界面提供迷宫大小、入口及出口位置和初始状态等,
3、演示走迷宫的过程和结果。
学生签名:
2011年6月30日
课程设计(论文)评审意见
(1)任务难易及完成情况 :优( )、良( )、中( )、一般( )、差( );
(2)调试能力评价 :优( )、良( )、中( )、一般( )、差( );
(3)论文撰写水平评价 :优( )、良( )、中( )、一般( )、差( );
(4)论文格式规范性评价 :优( )、良( )、中( )、一般( )、差( );
(5)考勤 :优( )、良( )、中( )、一般( )、差( );
总评成绩:
评阅人: 李广丽 职称: 讲师
2011年7月2日
目 录[chenhl1]
绪论1
第一章 概要设计2
第二章 详细设计3
第三章 调试分析与截图4
总结和体会5
参考文献6
绪 论
1.编制一个求解迷宫通路的图形界面演示程序
2.设置一个可以任意设置障碍,删除障碍的迷宫。并求出迷宫的一条通路
3.根据用户界面提示,可以使用事先设定的迷宫也可以使用自定义的迷宫。在着迷宫同路的过程中,需将查找的过程演示出来,并且在最后时,需要标记出查找成功的一条路径。
4.本程序只求出一条成功的通路,因受图形界面限制,不能保存或载入测试文件(此功能可在Maze_text中实现)。
5)当路径掩盖起点或终点时,消息显示"Is there any way to go ?tell me";找到路径时,屏幕显示足迹,并在消息框出现,"bingo find it,so easy"
第一章 概要设计
为实现上述程序功能,主要使用的JAVA AWT和JAVA SWING包
import java.awt.*;
import javax.swing.*;
import hartech.ui.*;
3. 本程序包含四个模块:
1) 主程序模块:
import java.awt.*;
import javax.swing.*;
import hartech.ui.*;
/**
*
Title: maze Global class
*
*
Description:
*
*
Date: 2006-08-31
*/
public class Main {
// _reset 变量用于reset时用
static int rows = 12, cols = 14;
static int speed_reset = 50, speed = speed_reset;
static JToggleButton[][] buttons;
static Walking walking;
static boolean[][] 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, false, true, true, true, true, true, false, true, false,
true, false, false, true, },
{ true, false, true, true, true, true, true, false, true, false,
true, false, true, true, },
{ true, false, false, false, false, false, true, true, true, false,
true, false, true, false, },
{ true, false, true, true, true, false, false, false, false, false,
true, false, true, true, },
{ true, false, true, false, true, false, true, true, true, true,
true, false, false, 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, }
};
static JFrame jFrame;
static UI ui;
public static void main(String[] args) {
//启动新线程,创建一个窗口
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
J.setLookAndFeel("Metal");
jFrame = new JFrame(
"is there any way to go? Maze --- hartech");//建立一个Swing窗体
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//单击关闭图标后,程序退出并关闭
// add
Main.ui = new UI();
jFrame.add(ui, BorderLayout.CENTER);
jFrame.setSize(700, 400);
J.goCenter(jFrame);
Main.drawButtons();
Main.reset();
jFrame.setVisible(true);
}
});
}
// 用于重置到软件开始
public static void reset() {
if (walking != null) {
walking.timer.stop();
}
clean();
brick = copyBoolean(brick_reset);
speed = speed_reset;
UI.jSlider.setValue(speed);
setBricks();
}
// 用于清楚已标记上的数字
public static void clean() {
if (walkin
上一篇:
学生综合测评系统(C语言设计)
下一篇:
高陈基于Java超市账单管理系统