骑士游历java课程设计 下载本文

数据结构课程设计报告

目 录

1 设计目的与意义 .................................................. 3 2 系统描述 ........................................................ 3 3 运行环境 ........................................................ 3 4 系统的分析与设计 ................................................ 3

4.1 程序结构说明 ............................................... 3 4.2 AccessibleSquare算法实现................................... 4 4.3 画图类算法实现 ............................................. 5 4.4 主调用程序的设计和开发 ..................................... 7 5 系统测试 ........................................................ 7

5.1 游戏初始界面 ............................................... 8 5.2 游戏以(1,1)为起点运行界面 ............................... 8 5.3 游戏以(6,3)为起点界面 ................................... 9 5.4 游戏以(6,3)为起点运行界面 ............................... 9 6 总结 ........................................................... 10 源程序 ............................................................ 10

1 设计目的与意义

Java课程设计是计算机科学与技术专业学生必做的集中实践性环节之一,是

学习完《Java程序设计》课程后进行的一次全面的综合练习。其目的在于通过课程设计,使学生能够得到较系统的技能训练,从而巩固和加深对Java 编程的基础理论知识的理解,培养学生综合运用所学理论解决实际问题的能力,使学生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。

2 系统描述

骑士游历问题是一个古老而著名的问题,它最初是由大数学家Euler提出的。问题是这样的:国际象棋中的棋子(叫作骑士)在一个空棋盘内移动,问它能否经过64格中的每一格且只经过一次?(骑士按L行移动,即在某方向前进两格接着在与原方向垂直的方向上前进一格)

该课程设计要求实现骑士游历问题的求解,并能够演示起始位置在棋盘上任何位置的游历问题的实现。程序将采用动态的图形演示,使算法的描述更形象、更生动。本程序采用Applet来编制整个程序,这样既可以加深对算法的实现的了解,也可以进一步熟悉Java图形界面、Applet以及Java语言的命名规范。

骑士游历的课程设计是按照面向对象的思想进行开发,其中主要的类包括AccessibleSquare 类、MyPanel类和KnightsTour类。其中AccessibleSquare 类主要是算法实现,采用启发式算法;KnightsTour类是主类,或者说是控制类,它完成对算法类和图画类的调用;MyPanel类是画图类用来实现图形化显示结果。

3 运行环境

本程序是在windows xp的环境下运行的。

4 系统的分析与设计

4.1 程序结构说明

本程序由三个类组成一个工程文件。其中KnightsTour是主类,或者说是控制类, AccessibleSquare类主要是算法实现,MyPanel实现图形化显示结果。

程序的运行关系如图4-1。