智能迷宫系统概要设计文档
第一章 引言
1.1编写目的
指导本系统的详细设计,明确软件开发的任务和需求,使得开发人员清楚软件开发的流程,正确、完整地实现需求分析文档中的需求。确保软件测试工作有据可循。
1.2术语
1.3参考文献
第二章 系统概述
2.1系统说明
现代社会人工智能技术越来越发达,机器人已经被广泛应用到社会的各行各业。机器人的一个重要功能就是要能像人类一样自己走路,即在复杂的环境中为自己找到合适的路径到达目的点。作为程序人员,要学习和掌握各种常见的自动寻路算法。
智能迷宫游戏系统是一个可以让用户学习、了解复杂随机有解迷宫自动生成算法、自动寻路算法的辅助性系统。用户可以直观地看到迷宫的动态生成过程,自动寻路算法的动态的、逐步的寻找过程,从而达到学习的目的。
2.2系统目标
智能迷宫游戏系统需要实现三个主要目标:
1. 用户可以选择不同的迷宫自动生成算法,然后点击生成迷宫按钮,接着迷宫系统按照用户所选择的算法逐步生成随机复杂有解迷宫,并且将算法的执行信息显示到信息栏中
2. 用户可以选择不同自动寻路算法,点击开始寻路后,该系统按用户选择的寻路算法开始寻路,将算法的动态寻路过程逐步显示出来,并且把算法执行信息输出到信息栏中。
3. 用户可以选择两种不同的寻路算法,点击比较按钮,接着系统按照用户所选择的两种算法按顺序寻路,并且能够两次寻路完成后把信息整理成对比表格显示出来。用户可以对比比较两种算法的区别。
2.3运行环境
第三章 设计概述
3.1系统流程图
3.2模块结构
3.2.1游戏角色管理模块
游戏角色管理模块能够完成游戏角色的自动创建,寻路移动和游戏重置功能。当用户自动生成迷宫完成后,游戏角色管理模块需要重置上一盘迷宫游戏的逻辑,并将角色放到本次迷宫的起点。当用户选择某一个自动寻路算法并点击开始寻路后,游戏角色管理模块需要将角色动态地放置到当前寻路步骤角色应该处在的位置上。
3.2.2智能迷宫自动生成模块
智能迷宫自动生成模块包含至少两种常见复杂随机有解迷宫生成算法供用户选择,第一次打开程序或者用户选择完迷宫生成算法并点击生成按钮之后,迷宫自动生成模块需要先绘制一个M*N大小的方格矩阵,任意相邻方格之间的邻边都是存在的,然后从起始点开始,逐渐去除相邻方格之间的边,使得两两之间联通,最终联通起始点和终点。要求迷宫生成的过程是动态的、逐步的,可见的,并且能够将迷宫生成算法的执行信息发送给信息栏和算法比较图表模块。当用户选择不同寻路并再次点击生成迷宫按钮后,迷宫自动生成模块需要清空上次的迷宫信息,重置迷宫为初始状态,并使用新选择的算法生成与上次不同的迷宫。
3.2.3自动寻路模块
自动寻路模块至少包含三种常见的路径规划算法供用户选择,当用户选择不同的寻路算法并点击自动寻路按钮后,自动寻路模块需要根据用户选择的寻路算法执行寻路逻辑,一步一步计算角色下一次所处的位置,并将该过程可视化地展现出来。另外,该模块需要将寻路算法执行过程的信息发送给信息栏和比较图表模块。当用户选择两个不同的寻路算法并点击比较按钮后,该模块可以按顺序依次把每个算法的寻路过程显示出来,并且将两种算法的寻路结果用不同颜色加以区分,另外还需要将两次寻路算法的执行数据发送给输出栏和比较图表模块。
3.2.4信息栏和比较图表模块
信息栏和比较图表模块负责显示迷宫生产算法和自动寻路算法的执行时间,内存占用等信息。在自动生成迷宫的过程中,当该模块收到迷宫自动生成模块发来的信息后,将其按顺序输出到输出栏中。在自动寻路过程中,当该模块收到自动寻路模块发来的信息后,将其按顺序输出到输出栏中,当两种算法比较时,模块收到信息后将两次寻路过程的信息进行缓存,等两次寻路都结束后,输出栏切换到比较图表页签,生成比较图表。
3.3数据结构
3.4接口设计
3.5界面设计