《汉诺塔游戏设计与制作》课程设计报告

合集下载

hannoi塔java课程设计

hannoi塔java课程设计

hannoi塔java课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握Hannoi塔问题的算法原理及其Java实现;技能目标要求学生能够运用Java编程解决简单的算法问题;情感态度价值观目标培养学生的逻辑思维能力、问题解决能力和团队合作精神。

通过本课程的学习,学生将了解Hannoi塔问题的背景及其算法实现,能够运用Java编程解决相关问题。

同时,培养学生独立思考、创新解决问题的能力,提高他们对计算机科学的兴趣和热情。

二、教学内容教学内容主要包括Hannoi塔问题的算法原理、Java编程基础及其在解决Hannoi塔问题中的应用。

1.Hannoi塔问题的算法原理:介绍Hannoi塔问题的定义、解决方法及其数学原理。

2.Java编程基础:讲解Java编程的基本语法、数据结构、控制语句和函数。

3.Hannoi塔问题的Java实现:引导学生运用Java编程实现Hannoi塔问题的解决方案,并进行调试和优化。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:教师讲解Hannoi塔问题的算法原理、Java编程基础及相关知识。

2.讨论法:学生分组讨论Hannoi塔问题的解决方案,培养团队合作精神和独立思考能力。

3.案例分析法:分析典型的Hannoi塔问题案例,引导学生运用Java编程解决问题。

4.实验法:学生动手实践,编写Java程序实现Hannoi塔问题的解决方案。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用权威、实用的Java编程教材,为学生提供系统的学习资料。

2.参考书:提供相关的算法书籍,帮助学生深入了解Hannoi塔问题的算法原理。

3.多媒体资料:制作课件、教学视频等,丰富教学手段,提高学生的学习兴趣。

4.实验设备:提供计算机、网络等实验设备,保障学生实践教学活动的顺利进行。

精编中小学生综合实践活动《汉诺塔》活动设计

精编中小学生综合实践活动《汉诺塔》活动设计

(二)介绍玩法,自主探索。

(1)介绍规则师:大家看,这就是我们要玩的汉诺塔。

为了操作方便,我们把这3根柱子分别叫A柱、B柱、C柱。

A柱上的这10个环从上到下从小到大依步叫1环2环3环……10环。

你能不能借助B柱把A柱上的圆环移到c柱而不改变圆环的上下顺序,最少需要移动多少步。

师:刚才故事中僧侣们是按照什么样的法则来移动金环的?生:一次只移动一个金环。

不管在哪根柱子上,小金环必须在大金环上面。

(2)强调游戏规则:师:一步只能移动一个金环。

不管在哪根柱子上,小金环必须在大金环上面。

(板贴)一次一环,大不压小师:同桌两人相互说一下法则。

(PPT展示法则,老师在教具汉诺塔上只放一个环)(三)引导探究,尝试游戏师:这个汉诺塔上有64个金环,要一个一个操作,感觉怎么样?生:太麻烦了。

生:可以从较少的数量入手。

师:也就是把问题化繁为简,你真聪明!(板书:化繁为简)那师:那怎么办?(二)介绍玩法,自主探索。

(1)介绍规则师:大家看,这就是我们要玩的汉诺塔。

为了操作方便,我们把这3根柱子分别叫A柱、B柱、C柱。

A柱上的这10个环从上到下从小到大依步叫1环2环3环……10环。

你能不能借助B柱把A柱上的圆环移到c柱而不改变圆环的上下顺序,最少需要移动多少步。

师:刚才故事中僧侣们是按照什么样的法则来移动金环的?生:一次只移动一个金环。

不管在哪根柱子上,小金环必须在大金环上面。

(2)强调游戏规则:师:一步只能移动一个金环。

不管在哪根柱子上,小金环必须在大金环上面。

(板贴)一次一环,大不压小师:同桌两人相互说一下法则。

(PPT展示法则,老师在教具汉诺塔上只放一个环)(三)引导探究,尝试游戏师:这个汉诺塔上有64个金环,要一个一个操作,感觉怎么样?生:可以从较少的数量入手。

师:也就是把问题化繁为简,你真聪明!(板书:化繁为简)那生:太麻烦了。

师:那怎么办?(二)介绍玩法,自主探索。

(1)介绍规则师:大家看,这就是我们要玩的汉诺塔。

汉诺塔游戏课程设计

汉诺塔游戏课程设计

汉诺塔游戏课程设计一、课程目标知识目标:1. 学生能理解汉诺塔游戏的起源、规则及数学原理。

2. 学生能掌握递归算法的基本概念及其在汉诺塔游戏中的应用。

3. 学生能运用数学归纳法推导汉诺塔游戏的步数与盘子数之间的关系。

技能目标:1. 学生能够运用所学知识,独立设计并解决汉诺塔游戏的不同层次问题。

2. 学生能够通过小组合作,提高问题解决能力和团队协作能力。

3. 学生能够运用信息技术工具,进行汉诺塔游戏模拟和数据分析。

情感态度价值观目标:1. 学生对数学产生兴趣,认识到数学与游戏的紧密联系,提高学习数学的积极性。

2. 学生在游戏中培养逻辑思维能力和创新精神,增强自信心和自主探究意识。

3. 学生通过合作与交流,培养团队精神,学会尊重他人,形成积极向上的人生态度。

课程性质:本课程以汉诺塔游戏为载体,结合数学知识和算法,培养学生的逻辑思维能力、问题解决能力和团队协作能力。

学生特点:五年级学生具有一定的数学基础和逻辑思维能力,对游戏具有浓厚兴趣,但可能对递归算法等抽象概念理解有限。

教学要求:结合学生特点,教师需采用生动有趣的教学方法,引导学生主动探究,注重培养学生的实践操作能力和团队协作精神。

通过本课程的学习,使学生将所学知识应用于实际情境,提高学生的综合素养。

二、教学内容1. 汉诺塔游戏背景介绍:包括汉诺塔的起源、发展及其在数学游戏中的地位。

相关教材章节:数学游戏与趣味数学2. 汉诺塔游戏规则及数学原理:讲解汉诺塔的游戏规则,引导学生发现汉诺塔移动盘子过程中的数学原理。

相关教材章节:组合数学基本概念3. 递归算法及其在汉诺塔游戏中的应用:介绍递归算法的概念,通过实例演示递归算法在汉诺塔游戏中的运用。

相关教材章节:算法与程序设计4. 汉诺塔游戏步数与盘子数之间的关系:运用数学归纳法,推导汉诺塔游戏中盘子数与步数之间的关系。

相关教材章节:数学归纳法5. 汉诺塔游戏实践操作:组织学生进行汉诺塔游戏实践,培养学生动手操作能力和问题解决能力。

小学数学思维拓展游戏《汉诺塔游戏》教学设计

小学数学思维拓展游戏《汉诺塔游戏》教学设计

小学数学思维拓展游戏《汉诺塔游戏》教学设计江阴市长泾实验小学执教老师:周洁教学内容:思维拓展游戏《汉诺塔游戏》教学目标:1.通过游戏激发学生学习数学的兴趣,使学生更喜欢数学,培养学好数学的信心。

2. 在游戏过程中,发展学生逻辑思维的能力,学会通过目标的分解来解决问题。

3. 在游戏过程上,逐步体会研究规律对学习的重要性,在规律的指导下获得成功的体验。

教学准备:微课介绍汉诺塔游戏的起源和游戏规则;下载汉诺塔游戏程度。

教学过程:一,导入游戏1.同学们,你们喜欢数学吗?为什么呢?老师今天要给大家介绍一个数学游戏——汉诺塔游戏。

汉诺塔问题在数学界有很高的研究价值,而且至今还在被一些数学家们所研究。

它是一种益智游戏,玩这个数学游戏一定会让你变得更聪明,课前我们已经通过微课了解了这个游戏的起源和游戏规则,让我们再来回顾一下。

2.你都看明白了吗?谁愿意把自己的理解与大家分享3.下面老师给大家5分钟时间,请从最简单的游戏开始,看你能闯过几关,注意每次都要把自己完成游戏的步数记录下来,如果当步数特别多的时候,我们就认为游戏失败了,那么就重新来过,清楚了吗?4.老师来随机采访几位同学:A:你玩到了第几个圆盘,用了几步?B:你失败过吗?为什么会失败?在刚才的游戏过程中,有些同学用了较多的步数,有些同学还失败了几次,看来这个游戏里还蕴藏着很多我们没有发现的奥秘呢,让我们从最简单的地方开始。

【技术应用:课前通过发送微课,让学生先了解游戏起源和规则,并试玩游戏。

在试玩的过程中,学生对圆盘移动的规则能有初步的了解,也能对游戏的规律有初步的体会和感知。

虽然这个感知还比较模糊,但在思维过程中,这种模糊的感知,是进一步探究和学习的基础,为课堂节约了很多时间,从而使课堂的目标直奔规律的探究。

】二,初步感知1.如果只有一个圆盘,那该怎样移动呢?2.如果有两个圆盘,该怎样移动呢?如果第1个圆盘移到2号那会怎样呢?小结:我们的目标是3号柱子,我们就称它为目标塔,中间第2根柱子是帮助我们完成任务的,我们就称它为辅助塔。

汉诺塔课程设计报告

汉诺塔课程设计报告

汉诺塔游戏学院:理学院班级:信科102班组长:李万东组员1:袁雪娇组员2:张瑜设计期限2012 年3月1开始至2012年6月20 结束课程设计题目:汉诺塔游戏课程设计目的:《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。

实践教学环节是必不可少的一个重要环节。

本课程的程序设计专题实际是计算机相关专业学生学习完《JA V A程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

随着社会的进步,我们用来娱乐的游戏世界也越来越丰富,越来越复杂。

本程序的汉诺塔游戏不但包括了游戏最基本的功能,而且还能培养用户的逻辑思维能力,同时也给玩家提供了一定的娱乐空间。

本游戏还包括一个自动演示搬移汉诺塔的功能,此功能能够帮助初次接触此游戏的用户了解此游戏的玩法。

课程设计理论:本程序要求实现用图形界面,画出3个杆和若干个大小不一的矩形盘子,形成3个塔,分别为A塔,B塔,C塔,同时盘子数目可以人工设定。

用户可以用鼠标选中盘子,然后通过拖动鼠标来移动该盘子、释放鼠标来放置该盘子。

用户在移动盘子的过程中,可以随时单击汉诺塔菜单栏的菜单中提供的按钮,重新开始游戏,并且可以通过单击汉诺塔菜单栏的菜单提供的按钮,让程序自动完成把A塔上的盘子全部移动到C塔上,实现自动演示。

汉诺塔算法属于递归算法,该算法过程为:假定要把n个盘子按题目规定由A杆借助B杆移动到C杆。

第一步:先把上面的n-1个盘子借助C杆放到B杆。

第二步:把第n个盘子从A杆直接移到C杆。

第三步:把B杆上的n-1个盘子借助A杆移到B杆。

概要设计:1.课程设计内容:有三个表示塔的对象,分别命名为A、B和C。

A塔上有若干个盘子,盘子的大小不等,并按着大小顺序依次摆放在A塔上,大盘在下,小盘在上。

汉诺塔牌课课程设计

汉诺塔牌课课程设计

汉诺塔牌课课程设计一、教学目标本课程的学习目标包括以下三个方面:1.知识目标:通过本课程的学习,学生需要掌握汉诺塔牌的基本概念、规则和策略,了解其背后的数学原理和逻辑思维。

2.技能目标:学生能够运用汉诺塔牌的规则和策略进行游戏,提高解决问题的能力,培养逻辑思维和抽象思维。

3.情感态度价值观目标:通过汉诺塔牌的学习和游戏,学生能够培养团队合作意识,增强自信心,提高自我认知和自我激励能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.汉诺塔牌的基本概念和规则,包括牌的种类、牌面数值和游戏的目标。

2.汉诺塔牌的策略和技巧,包括牌序的安排、牌型的组合和游戏的节奏控制。

3.汉诺塔牌的数学原理和逻辑思维,包括排列组合、递归思想和贪心算法。

4.汉诺塔牌的游戏实践,包括个人游戏和团队游戏的规则和技巧。

三、教学方法为了实现本课程的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解汉诺塔牌的基本概念、规则和策略,使学生了解和掌握相关知识。

2.案例分析法:通过分析典型的汉诺塔牌游戏案例,使学生理解和运用相关策略和技巧。

3.实验法:通过实际操作汉诺塔牌游戏,使学生锻炼和提高解决问题的能力。

4.小组讨论法:通过团队合作和讨论,使学生培养团队合作意识和沟通交流能力。

四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选择一本适合学生年级和知识深度的汉诺塔牌教材,作为学生学习的主要参考资料。

2.多媒体资料:制作相关的PPT、视频等多媒体资料,以便于学生更直观地理解和掌握知识。

3.实验设备:准备足够的汉诺塔牌游戏道具,以便于学生进行实际操作和实验。

4.在线资源:利用互联网资源,提供相关的学习、论坛和在线游戏,以便于学生自主学习和交流。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答和小组讨论的表现,评估学生的学习态度和积极性。

汉诺塔课程设计报告

C课程设计报告设计人:彭信龙日期:2013-11-16指导教师: 曾宇容设计题目:汉诺塔一、设计任务汉诺塔问题的二种求解。

1、编写递归方法求解的程序;2、编写非递归方法求解的程序;二、设计目的本课程设计主要训练学生在C语言有关递归思想的应用。

三、功能描述move();通过递归讲盘子放置到指定位置。

if(n= = 1){直接将A上面的盘子移到C柱子上;}else{先把A柱子上的N-1个盘子从A借助C移到B;再将A上的第N个盘子移到C;再把B柱子上的N-1个盘子借助A移到C;}四、总体设计主要函数:move();int main();move():通过递归思想将所有盘子从A柱子移到C柱子;int main():输入盘子总个数;源代码:#include <stdio.h>int i=0;void move(int n ,int x ,int y,int z){if(n == 1){i++;printf("%d、圆盘从%c移动到%c\n",i,x,z);}else{move(n-1,x,z,y);i++;printf("%d、圆盘从%c移动到%c\n",i,x,z);move(n-1,x,z,y); }}void main(){int n;printf("请输入要移动盘子的总个数n:");scanf("%d",&n);printf("圆盘的移动步骤如下:\n");move(n,'X','Y','Z');printf("总共移动了%d次。

\n",i);}五、程序实现。

校本课程《汉诺塔游戏》【教学设计】

校本课程《汉诺塔游戏》【教学设计】.doc教学设计:汉诺塔游戏研究内容:数学游戏“汉诺塔”第一课时研究目标:1.了解汉诺塔游戏的传说和基本规则。

2.在游戏中掌握汉诺塔游戏的基本规则,初步发现游戏中的规律。

3.发展归纳推理能力和逻辑思维能力。

4.体会与他人合作获得更多的成功体验。

研究重点:掌握汉诺塔游戏的基本规则,发现游戏中的规律。

研究难点:发展归纳推理能力和逻辑思维能力。

研究过程:课前活动:1.引入话题,了解学生喜欢的游戏。

2.播放黑猩猩玩游戏的视频,引出汉诺塔游戏。

一、认识XXX:1.介绍XXX的来历和相关信息。

2.介绍汉诺塔的各部分,包括托盘和三根柱子。

3.介绍汉诺塔游戏的规则,包括从一边到另一边、一次只能移动一个金片和大金片不能放在小金片上面。

二、动手实践玩游戏:1.从一个圆片开始研究,掌握游戏规则。

2.探究两个圆片的玩法,发现规律。

3.逐步增加圆片数量,练归纳推理和逻辑思维能力。

4.在合作中获得成功体验。

教学设计:汉诺塔游戏研究内容:数学游戏“汉诺塔”第一课时研究目标:1.了解汉诺塔游戏的传说和基本规则。

2.在游戏中掌握汉诺塔游戏的基本规则,初步发现游戏中的规律。

3.发展归纳推理能力和逻辑思维能力。

4.体会与他人合作获得更多的成功体验。

研究重点:掌握汉诺塔游戏的基本规则,发现游戏中的规律。

研究难点:发展归纳推理能力和逻辑思维能力。

研究过程:课前活动:1.引入话题,了解学生喜欢的游戏。

2.播放黑猩猩玩游戏的视频,引出汉诺塔游戏。

一、认识XXX:1.介绍XXX的来历和相关信息。

2.介绍汉诺塔的各部分,包括托盘和三根柱子。

3.介绍汉诺塔游戏的规则,包括从一边到另一边、一次只能移动一个金片和大金片不能放在小金片上面。

二、动手实践玩游戏:1.从一个圆片开始研究,掌握游戏规则。

2.探究两个圆片的玩法,发现规律。

3.逐步增加圆片数量,练归纳推理和逻辑思维能力。

4.在合作中获得成功体验。

请在A柱上放置两个圆片,并将它们移动到C柱上。

汉诺塔课程设计

汉诺塔课程设计一、课程目标知识目标:1. 学生能理解汉诺塔游戏的起源、规则及数学原理。

2. 学生掌握汉诺塔问题中的递归思想,能运用数学归纳法解决相关问题。

3. 学生了解汉诺塔问题在计算机科学中的应用。

技能目标:1. 学生能运用所学知识解决汉诺塔问题,提高逻辑思维和问题解决能力。

2. 学生通过团队合作,学会沟通与协作,共同完成汉诺塔挑战任务。

3. 学生能运用递归思想设计算法,解决类似汉诺塔的其他问题。

情感态度价值观目标:1. 学生培养对数学和计算机科学的兴趣,激发探索精神。

2. 学生在汉诺塔游戏中体验挑战与成功,增强自信心和毅力。

3. 学生通过汉诺塔问题,认识到数学与生活、科技的紧密联系,提高对数学价值的认识。

课程性质:本课程为数学与计算机科学跨学科课程,结合实际操作,培养学生的逻辑思维、问题解决和团队合作能力。

学生特点:五年级学生具有一定的数学基础和逻辑思维能力,对新鲜事物充满好奇心,喜欢挑战和团队合作。

教学要求:结合汉诺塔问题,注重引导学生发现数学规律,运用递归思想解决问题,提高学生的实践操作能力和团队合作精神。

在教学过程中,关注学生的个体差异,鼓励学生积极参与,充分挖掘学生的潜能。

通过课程目标的分解,实现对学生学习成果的评估和反馈。

二、教学内容1. 汉诺塔游戏介绍:讲解汉诺塔的起源、规则以及与数学的关系。

- 教材章节:数学游戏与逻辑思维- 内容:汉诺塔的起源、规则、数学原理介绍2. 汉诺塔问题的数学原理:引导学生探究汉诺塔问题中的递归思想。

- 教材章节:递归与数学归纳法- 内容:递归定义、数学归纳法、汉诺塔问题中的递归应用3. 汉诺塔问题的解决策略:教授如何运用递归思想解决汉诺塔问题。

- 教材章节:算法与程序设计- 内容:递归算法设计、汉诺塔问题求解步骤、编程实践4. 汉诺塔挑战任务:设置不同难度的汉诺塔问题,让学生分组合作解决。

- 教材章节:团队协作与问题解决- 内容:团队合作、问题分析、解决方案设计、成果展示5. 汉诺塔在计算机科学中的应用:介绍汉诺塔问题在计算机科学中的实际应用。

汉诺威塔课程设计报告书

数据结构课程设计题目:汉诺威塔班级:姓名:学号:同组人:起迄日期:课程设计地点:指导教师:目录一、前言二、系统功能分析2.1汉诺威塔问题2.2解析汉诺威塔问题三、总体设计四、详细设计五、系统实现六、结论结束语参考文献附录一、前言汉诺威塔是一款集娱乐与运算的智力游戏,它不仅能使人在休闲的时候放松心情,而且还能在玩的过程中不断的提高你的思维能力。

本设计着手于怎么运算出n层汉诺威塔的解决方案,然而经过不断的调试以及自己的在做的过程中也不断的去尝试着怎么自己能过汉诺威塔多少层,经过几个星期的努力,以及不断的调试,我发现我能把7层的汉诺威塔玩过已经是很不错了。

如想玩下去的,只要你能记得那些步骤,那么这汉诺威塔也不是什么难的了。

本设计如有差错,望各位谅解,在此我诚恳的希望大家能提出意见,以便我能及时修改。

汉诺塔(又称河塔)问题是印度的一个古老的传说。

开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。

解答结果请自己运行计算,程序见尾部。

面对庞大的数字(移动圆片的次数)18446744073709551615,看来,众僧们耗尽毕生精力也不可能完成金片的移动。

后来,这个传说就演变为汉诺塔游戏。

二、系统功能分析科技奖励工作是推动科学技术进步的一项重要的激励机制,对促进国家和地方社会经济发展,调动广大科研工作者的积极性具有重大作用。

实践证明,网络技术的运用有利于更快地促进科技成果的利用,从而有利于发展科技生产力,繁荣国家和地方社会经济生活。

本设计可以实现从2到n层的汉诺威塔以供玩家思考和了解其运行过程。

本设计通过一系列的实践证明了前九层汉诺威塔的准确性,根据本人推论,以后的每一层的准度应该与事实相符,鉴于工作量实在太大,故而敬请各为原谅!2.1汉诺威塔问题n阶汉诺威塔问题:有三根杆子A,B,C。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《动漫与网络游戏设计》课程设计报告
题目:汉诺塔游戏
院系:信息科学系
专业:软件工程
年级: 14级
成员1:学号 ******** 姓名:曾繁荣成员2:学号 ******** 姓名:陈俊杰日期: 2017年1月2号
成绩:
题目
一、作品介绍
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。

大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。

大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。

并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

二、设计思路
1、已知有三个塔(1、
2、3)和n个从大到小的金碟子,初始状态时n个碟子按从大到小的次序从塔1的底部堆放至顶部。

2、要求把碟子都移动到塔2(按从大到小的次序从塔2的底部堆放至顶部)。

3、每次移动一个碟子。

4、任何时候、任何一个塔上都不能把大碟子放到小碟子的上面。

5、可以借助塔3。

先考虑a杆下面的盘子而非杆上最上面的盘子,于是任务变成了:
1)、将上面的N个盘子移到b杆上;
2)、将a杆上剩下的盘子移到c杆上;
3)、将b杆上的全部盘子移到c杆上。

将这个过程继续下去,就是要先完成移动n个盘子、n-1个盘子、n-2个盘子....1个盘的工作。

三、作品结构
开始
初始化界面、视窗
选择单层或多层汉诺
按键判断
选择层数进入游戏
单层(3、4、5、6)
双层(6、8、10、12)
开始游戏
判断游戏结果
Y 继续
N 退出
移动盘子数加1 关闭游戏界面退出
选择重新开始游戏按键
结束
四、设计步骤
为满足题目中盘子的移动问题,必须遵循的条件是:一次仅能移动一个盘,且不允许大盘放在小盘的上面。

设要解决的汉诺塔共有N个圆盘,对A杆上的全部N个圆盘从小到大顺序编号,最小的圆盘为1号,次之为2号,依次类推,则最下面的圆盘的编号为N。

第一步:先将问题简化。

假设A杆上只有一个圆盘,即汉诺塔只有一层N,则只要将1号盘从A杆上移到B杆上即可。

第二步:对于一个有N(N>1)个圆盘的汉诺塔,将N个圆盘分成两部分:“上面的N-1个圆盘”看成一个整体,为了解决N个圆盘的汉诺塔。

五、实现步骤
(1)将A杆上面的N-1个盘子,借助B杆,移到C杆上。

图4—1
(2)将A杆上剩余的N号盘子移到B杆上。

图4—2
(3)将C杆上的N-1个盘子,借助A杆,移到B杆上。

六、附录(程序源代码)
七、参考资料
1.《汉诺塔》---------------------------------来自百度百科
2.《汉诺塔游戏设计过程》-----------------------来自豆丁网
3.《Flash ActionScript 3.0》-----------夏敏捷郑秋生主编
八、成员分工情况
文档编写14053078 曾繁荣
游戏制作14053080 陈俊杰。

相关文档
最新文档