课程设计_老鼠走迷宫
- 格式:doc
- 大小:215.50 KB
- 文档页数:10
老鼠走迷宫课程设计一、教学目标本课程旨在通过老鼠走迷宫的实验和活动,让学生了解和掌握遗传学、生理学和行为学等相关知识,提高学生的实验操作能力和科学思维能力。
同时,通过课程的实施,培养学生对科学的兴趣和好奇心,增强学生对科学实验的热爱和探索精神。
具体目标如下:1.了解老鼠走迷宫的基本原理和实验方法。
2.掌握与老鼠走迷宫相关的遗传学、生理学和行为学知识。
3.能够独立完成老鼠走迷宫的实验操作。
4.能够运用科学方法对实验结果进行分析和解释。
情感态度价值观目标:1.培养学生对科学的兴趣和好奇心。
2.增强学生对科学实验的热爱和探索精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.老鼠走迷宫的基本原理和实验方法。
2.遗传学知识:介绍老鼠走迷宫的遗传因素和基因对行为的影响。
3.生理学知识:介绍老鼠走迷宫的生理机制和神经系统的相关知识。
4.行为学知识:介绍老鼠走迷宫的行为特点和行为策略。
三、教学方法为了提高教学效果和学生的参与度,本课程将采用多种教学方法,包括:1.讲授法:教师对相关知识进行讲解和阐述。
2.讨论法:学生分组讨论实验结果和相关的科学问题。
3.案例分析法:分析具体的实验案例,引导学生运用所学知识进行分析和解释。
4.实验法:学生独立完成老鼠走迷宫的实验操作,观察和记录实验结果。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:提供相关知识的教材和实验指导书。
2.参考书:提供相关的科学研究论文和书籍,供学生进一步阅读和参考。
3.多媒体资料:制作相关的教学PPT和视频资料,帮助学生更好地理解和掌握知识。
4.实验设备:提供老鼠走迷宫的实验设备和材料,确保学生能够进行实验操作。
五、教学评估本课程的评估方式将采用多元化的形式,以全面、客观、公正地评价学生的学习成果。
评估方式包括:1.平时表现:通过观察学生在课堂上的参与度、提问和回答问题的表现,以及小组讨论的贡献等,评估学生的学习态度和积极性。
实验报告小鼠走迷宫1. 引言小鼠走迷宫是一种常用的实验手段,用于研究小鼠的学习、记忆以及空间导航能力。
本实验旨在观察小鼠在迷宫中的行为表现,并通过不同条件下的实验设计,探究小鼠的学习能力以及对空间信息的处理能力。
2. 实验设计2.1 实验材料与仪器- 迷宫:采用典型的T型迷宫,包括起始点、两个分岔口和一个奖励点。
- 小鼠:选取健康活泼的C57BL小鼠作为实验对象。
- 实验记录设备:摄像机、计算机等。
2.2 实验步骤1. 将小鼠放置在起始点,并记录下起始时间。
2. 观察小鼠在迷宫中的行为表现,包括选择路径、运动速度等。
3. 当小鼠找到奖励点时,记录下用时并给予奖励。
4. 将小鼠放置在起始点,重复进行多次实验。
5. 对于每个小鼠,计算其平均用时和正确率。
2.3 实验组设计- 对照组:小鼠在未经训练的情况下进行实验,用于比较小鼠的初始表现。
- 训练组:小鼠经过一定训练后进行实验,用于观察小鼠的学习能力。
3. 实验结果与分析通过对多只小鼠进行实验,我们得到了以下结果:实验组平均用时(s) 正确率(%)对照组90 30训练组60 80从实验数据可以看出,对照组小鼠在找到奖励点上花费的时间较长,正确率较低,表明小鼠在未经训练的情况下对迷宫的空间信息处理能力较弱。
而经过训练的小鼠用时较短,正确率较高,表明小鼠在经过一定的学习后,能更好地识别迷宫中的路径和空间信息。
4. 结论与讨论通过本实验的观察和分析,我们可以得出以下结论:1. 小鼠在未经训练的情况下对迷宫的空间信息处理能力较弱。
2. 经过一定的学习训练后,小鼠能够提高其对迷宫空间信息处理的能力。
3. 小鼠的学习能力和对空间信息的处理能力存在个体差异。
这些结论提示我们,在研究小鼠行为和认知能力时,应充分考虑小鼠的训练状态和个体差异,以获得更准确的实验结果。
值得注意的是,本实验存在一些限制。
首先,小鼠的行为表现受到环境等因素的影响,如光照、温度等。
其次,迷宫的设计和布局可能也会对小鼠的表现产生影响。
小班音乐优质课教案《小松鼠走迷宫》教案名称:小班音乐优质课教案《小松鼠走迷宫》教案目标:1. 培养幼儿对音乐的兴趣和欣赏能力。
2. 增强幼儿的观察力和注意力。
3. 培养幼儿的团队合作能力。
教学内容:1.音乐欣赏:欣赏《小松鼠走迷宫》音乐。
2.活动游戏:小班幼儿分为若干组,模仿小松鼠走迷宫的动作。
3.乐器演奏:分发简单乐器,让幼儿尝试演奏小松鼠的走迷宫的音乐。
4.创作游戏:幼儿合作创作一个小松鼠走迷宫的故事,并用乐器演奏出故事中的音乐。
教学准备:1.录好《小松鼠走迷宫》音乐的录音带或者MP3文件。
2.准备若干简单乐器,如铃铛、木鱼、手鼓等。
3.准备一个迷宫模型或者使用线贴墙纸在地上画一个迷宫。
教学步骤:第一步:导入(5分钟)介绍今天要学习的课程内容,让幼儿了解今天要学习的歌曲和游戏。
第二步:音乐欣赏(10分钟)播放《小松鼠走迷宫》音乐,让幼儿仔细聆听并感受音乐的节奏和音调。
引导幼儿思考音乐中有哪些元素表达了小松鼠在迷宫中奔跑的感觉。
第三步:活动游戏(15分钟)1. 将幼儿分为若干组,每组做一个小松鼠,模仿小松鼠走迷宫的动作,欢快跳跃、转弯等。
老师可以指挥幼儿的动作,增加游戏的趣味性。
2. 演示一遍后,让幼儿自由活动,鼓励他们表现出自己的想法和创意。
第四步:乐器演奏(10分钟)分发简单乐器给幼儿,如铃铛、木鱼、手鼓等。
指导幼儿按照音乐的节奏和音调演奏出小松鼠走迷宫的音乐。
可以先由老师进行示范,再让幼儿自己尝试演奏。
第五步:创作游戏(15分钟)1.鼓励幼儿合作创作一个小松鼠走迷宫的故事,可以让他们自己想象故事情节和角色。
可以提醒幼儿在故事中加入一些有趣的元素。
2.让幼儿根据故事的情节创作出新的音乐,使用乐器演奏出故事中的音乐。
第六步:总结(5分钟)与幼儿一起回顾今天学习的内容,询问幼儿对于活动的感受和收获。
鼓励幼儿分享自己在活动中的创意和想法。
教学延伸:1. 可以让幼儿自由创作其他动物走迷宫的乐曲并演奏。
老鼠找迷宫游戏教案一、教学目标。
1. 让学生了解迷宫游戏的基本规则和玩法。
2. 培养学生的逻辑思维能力和解决问题的能力。
3. 提高学生的观察力和耐心。
二、教学准备。
1. 迷宫游戏板。
2. 小老鼠模型。
3. 计时器。
4. 记分卡。
三、教学过程。
1. 导入。
老师向学生介绍迷宫游戏的概念,告诉他们游戏的目标是让小老鼠尽快找到出口。
然后展示迷宫游戏板,让学生了解迷宫的结构和出口的位置。
2. 游戏规则。
老师向学生介绍游戏的基本规则,小老鼠从起点出发,通过走迷宫的方式寻找出口。
学生需要在规定的时间内找到出口,才能获得奖励。
3. 游戏操作。
老师向学生演示如何操作小老鼠模型,让学生了解如何控制小老鼠在迷宫中行走。
然后让学生自己操作小老鼠模型,练习控制技巧。
4. 游戏实践。
将学生分成若干组,每组一人操作小老鼠模型,其他组员观察并记录时间。
每组轮流进行游戏,记录每组的时间。
5. 游戏评价。
老师根据每组的时间和表现,给予评价和建议。
同时可以根据规定的时间,给予奖励。
6. 游戏反思。
让学生回顾游戏过程,总结自己的经验和不足之处,提出改进的意见。
同时可以让学生分享自己的解迷宫经验,促进交流和学习。
四、教学总结。
通过这次迷宫游戏教学,学生不仅了解了游戏的规则和玩法,还培养了逻辑思维能力和解决问题的能力。
同时也提高了学生的观察力和耐心,为他们今后的学习和生活打下了良好的基础。
希望学生在今后的学习和生活中,能够运用这些能力,不断提高自己的综合素质。
看老鼠走迷宫课程设计一、课程目标知识目标:1. 学生能够理解并描述迷宫的基本结构及其设计原理。
2. 学生能够掌握运用简单算法解决问题的基本步骤。
3. 学生能够了解老鼠走迷宫的实验背景及其在科学研究中的应用。
技能目标:1. 学生通过分析迷宫问题,培养逻辑思维与问题解决能力。
2. 学生能够运用所学知识,设计并优化简单的迷宫行走路径。
3. 学生通过小组合作,提高沟通协作能力,共同完成任务。
情感态度价值观目标:1. 学生对科学实验产生兴趣,培养探索精神和实证意识。
2. 学生在解决迷宫问题的过程中,增强自信和克服困难的决心。
3. 学生通过了解实验背后的科学研究,树立正确的科学态度和价值观。
课程性质:本课程为二年级下学期的科学探究课程,旨在通过有趣的迷宫实验,让学生在实践中学习科学知识,培养解决问题的能力。
学生特点:二年级学生好奇心强,喜欢探索有趣的现象,但逻辑思维和问题解决能力尚在发展,需要引导和培养。
教学要求:注重实践操作与理论知识的结合,通过小组合作和问题驱动,引导学生主动探究,培养其科学素养和综合能力。
在此基础上,分解课程目标为具体学习成果,以便后续教学设计和评估。
二、教学内容本课程依据课程目标,结合教材内容,制定以下教学大纲:1. 迷宫的基本概念与结构- 理解迷宫的定义及其分类- 分析迷宫中的路径、死胡同和出口等元素2. 简单算法介绍- 学习顺序、选择和循环等基本算法结构- 探讨如何运用算法解决迷宫问题3. 老鼠走迷宫实验- 了解实验背景和目的- 观察并记录老鼠走迷宫的过程4. 迷宫行走路径设计- 学习如何设计优化迷宫路径- 分析不同路径对解决问题的影响5. 小组合作与展示- 分组讨论,共同解决迷宫问题- 各小组展示成果,分享经验教学内容安排和进度:第一课时:迷宫的基本概念与结构,简单算法介绍第二课时:老鼠走迷宫实验,迷宫行走路径设计第三课时:小组合作与展示,总结评价教材章节:本教学内容参考教材《科学探索》二年级下册第四章《有趣的迷宫》。
小老鼠打迷宫教案教案名称,以小老鼠打迷宫。
一、教学目标。
1. 知识目标,学生能够理解迷宫的基本概念,了解小老鼠在迷宫中寻找出口的过程。
2. 能力目标,学生能够通过观察、思考和实验,培养解决问题的能力。
3. 情感目标,培养学生的团队合作意识,培养学生对动物的爱护意识。
二、教学重点与难点。
1. 重点,小老鼠在迷宫中寻找出口的过程,培养学生的观察和思考能力。
2. 难点,如何引导学生进行实验,观察小老鼠在迷宫中的行为。
三、教学准备。
1. 迷宫模型,准备一个简单的迷宫模型,可以是纸板制作的迷宫。
2. 小老鼠,准备一些小老鼠,可以是模型或者真实的小老鼠。
3. 观察记录表,准备观察小老鼠在迷宫中行为的记录表。
四、教学过程。
1. 导入新知识(10分钟)。
教师向学生介绍迷宫的概念,让学生了解迷宫是一种用来测试智力和观察力的游戏。
同时,向学生介绍小老鼠在实验中的作用,并引导学生思考小老鼠在迷宫中寻找出口的过程。
2. 迷宫观察实验(30分钟)。
将迷宫模型放在课桌上,让学生分成若干小组,每组分配一个观察记录表和一只小老鼠。
学生观察小老鼠在迷宫中的行为,记录小老鼠在迷宫中的路径、停留时间等信息,并讨论小老鼠在寻找出口过程中的行为特点。
3. 分析讨论(20分钟)。
学生根据观察记录表,分析小老鼠在迷宫中的行为特点,并讨论小老鼠在寻找出口过程中可能采取的策略。
教师引导学生思考,如何通过改变迷宫的结构或者其他方法,帮助小老鼠更快地找到出口。
4. 实验设计(20分钟)。
学生分组设计实验方案,尝试通过改变迷宫的结构或者其他方法,来帮助小老鼠更快地找到出口。
每组学生根据自己的方案,对迷宫进行改造,并观察小老鼠在新迷宫中的行为。
5. 总结反思(10分钟)。
学生根据实验结果,总结出小老鼠在迷宫中寻找出口的策略,并思考如何通过改变迷宫的结构或者其他方法,帮助小老鼠更快地找到出口。
教师对学生的实验设计和实验结果进行评价,并引导学生进行反思,思考实验中可能存在的问题和改进的方向。
小班音乐优质课教案《小松鼠走迷宫》《小松鼠走迷宫》课时1【活动目标】1、探索肢体走、跑、跳地大肢体运动规律。
2、初步掌握歌曲内容,熟悉ABABA回旋曲式。
3、理解歌曲深层含义,帮助学生养成珍惜时间的好习惯。
【活动准备】CD第三首、绘本、铜碰钟【活动过程】一、肢体探索1、师请生自由节奏步伐在空间中行走。
2、在步骤一基础上,师加入铜碰钟表示暂停。
3、师请生在空间中自由小跑。
4、根据以上步骤,师要求生加入小跳、滑行等动作变化。
二、歌曲教学1、师请生围圈而坐,打开绘本,有只可爱的小松鼠在森林中迷路了,让我妈唱着歌,陪它一同回家吧。
2、师教学歌曲A段,延长并加入各种身势,如拍手、拍腿、拍肩等,请生跟唱模仿。
3、师做B段儿歌部分编排动作。
请生跟学模仿:“我们跑”——跑步动作“我们跳”——跳跃动作:“我们和阳光来赛跑”——双手臂从头顶向两边散落:“一天的时光多美妙”——TATATATA拍手动作:“跑赢了你就笑一笑”——跑步动作和微笑动作。
4、请生两两对面,在“一天的时光多美妙”时拍手,(教案出自:屈老师教案网)可转化为两人对拍完成。
5、师与生一同回顾A段歌曲与B段儿歌。
6、合音乐,一同歌唱,A段处发明身势,B段处于左边右边伙伴面对面玩动作游戏。
三、律动游戏1、师示范律动游戏规则,在A段处听请指令小跑/小跳/滑行/行走;A段结束时找到一位好朋友,B段双人面对面念儿歌做特定动作。
2、师请生围圈而坐,请一位学生扮演小松鼠,在A段处可选择行走/小跑/小跳/滑行等方式,绕着圈运动,当A段歌曲结束时,停下脚步拍一下正对着的小朋友,拍到的小朋友去追赶小松鼠。
(追赶跑步游戏)四、歌曲意义时间对于每个人都有特殊的意义,学会小松鼠“与阳光赛跑”精神,珍惜生命中的每分每秒。
《小松鼠走迷宫》课时2【活动目标】1、巩固复习歌曲儿歌ABABA曲式结构。
2、激发与探索十六宫格的节奏探索。
3、感受各类进行曲规整的节奏风格与曲式图谱。
【活动准备】CD第七首、各类音效片段、绘本、纱巾、彩带、水袖【活动过程】一、复习回顾(5MIN)1、围圆圈而坐,合音乐回顾歌曲AB段。
《数据结构程序设计》课程设计报告(走迷宫)学院:班级:学号:姓名:指导教师:完成日期:目录1.设计任务 (3)2.程序的总体设计 (3)3.程序的实现 (8)4.主函数 (9)5.测试 (10)6.心得体会 (12)7.附件 (13)1.设计任务程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。
游戏的任务是使老鼠走到粮仓处。
要求:1)迷宫的墙足够结实,老鼠不能穿墙而过;2)正确检测结果,若老鼠在能走到粮仓处,提示成功,否则提示失败;3)老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;2.程序的总体设计首先,确定迷宫的存储结构,说明位置在迷宫中的行坐标和列坐标。
typedef int Status;typedef struct{int r,c;/*迷宫中位置的坐标*/}PosType;typedef struct{int m,n;char arr[RANGE][RANGE]; /*用二维数组表示迷宫*/}MazeType;第二,确定放入栈中的元素的存储结构,表明通道块在路径上的“序号”,通道块的坐标位置以及下一步要走的方向。
typedef int directiveType;typedef struct{int step;PosType seat;/*当前位置在迷宫中的坐标*/ directiveType di;/*从当前位置走到下一位置的方向*/ }ElemType;第三,确定栈的存储结构。
typedef struct NodeType{ElemType data;struct NodeType *next;}NodeType,*LinkType;typedef struct{LinkType top;/*链栈的顶点定义*/int size;}Stack;void InitStack(Stack &S)/*构建一个空栈*/{S。
top=NULL;S。
size=0;}Status MakeNode(LinkType &p,ElemType e){p=(NodeType *)malloc(sizeof(NodeType));if(!p)return FALSE;/*存储分配失败*/p—>data=e;p—〉next=NULL;return TRUE;}定义在什么情况下要入栈Status Push(Stack &S,ElemType e){LinkType p;if(MakeNode(p,e)){p->next=S。
HUNAN CITY UNIVERSITY 数据结构课程设计报告设计题目:老鼠走迷宫专业:计算机科学与技术学生姓名:邓宇班级学号: 0906401-23指导教师:杨格兰、胡奇光2011 年 6 月 18 日一、设计时间2011年6月20日——24日二、设计地点湖南城市学院第一实验楼计算机系机房509三、设计目的1.培养实际工作所需要的动手能力,进一步熟悉基本概念;2.熟练掌握对实际问题的抽象技能,了解程序基本的流程;3.培养查阅资料,独立思考问题的能力。
四、设计人邓宇五、指导老师杨格兰、胡奇光六、设计课题老鼠走迷宫开发环境:Visual Studio 2010 Ultimate UML Activity DiagramVisual C # 2008 Express EditionsAdobe Photoshop CS4七、基本思路及关键问题的解决方法技术要求:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。
要求:1、老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;解决方案:老鼠图片形象可以用Photoshop来制作,通过键盘按键事件发送消息到对象(老鼠),实现老鼠的移动。
2、迷宫的墙足够结实,老鼠不能穿墙而过;解决方案:在老鼠每一步的移动中检测是否撞墙,若是则停止走动。
由于地图是图片,要检测就需要取出墙壁那点的颜色(显然不是白色),然后作比较来作碰撞检测。
3、若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;解决方案:加载定时器,设定60秒钟,若在规定的时间,及时间变成0时,弹出对话框提示用户游戏失败。
4、添加编辑迷宫功能,可修改当前迷宫。
解决方案:备用一张地图图片资源,可以用于更换地图。
八、算法及流程图Visio流程图:因为这是面向对象而非面向工程的程序设计,事件和判断都具有同时性和并发性。
UML建模图如下:九、调试过程中出现的问题及解决方法本次课程设计出现最严重的问题是通过键盘来如何控制对象(老鼠)的移动,刚开始做时试用了多种方法但是没有效果。
小白鼠走迷宫实验
在一项小白鼠走迷宫的实验中,我们目的是探究小白鼠在迷宫中寻找出口的能力。
我们选择了一个标准的迷宫,迷宫内设置了各种道路、岔路和死胡同,以模拟现实生活中的复杂环境。
实验开始时,我们将小白鼠放置在迷宫的起点,然后观察它的行为。
小白鼠会四处嗅探和探索,试图找到通往出口的道路。
我们记录并观察小白鼠的动作,如转向、停留时间和改变速度等,以评估其在迷宫中的表现。
在本次实验中,我们注意到小白鼠在最初几次尝试中可能会迷失方向,甚至走进死胡同。
然而,随着时间的推移,小白鼠逐渐学会观察周围环境并根据自身的记忆选择正确的路径。
在多次重复的实验中,小白鼠的寻路速度和准确性也显著提高。
通过这个实验,我们得出了一个结论:小白鼠具有很强的空间记忆和导航能力,在面对复杂的环境时能够逐渐适应并找到正确的道路。
这对于我们理解动物学习和导航的机制具有重要意义。
小白鼠走迷宫实验揭示了小白鼠在复杂环境中寻找出口的能力,以及它们逐渐适应并提高导航准确性的过程。
这一实验有助于我们对动物学习和空间记忆的研究。
HUNAN CITY UNIVERSITY 数据结构课程设计报告设计题目:老鼠走迷宫专业:计算机科学与技术****:**班级学号: *******-23指导教师:杨格兰、胡奇光2011 年 6 月 18 日一、设计时间2011年6月20日——24日二、设计地点湖南城市学院第一实验楼计算机系机房509三、设计目的1.培养实际工作所需要的动手能力,进一步熟悉基本概念;2.熟练掌握对实际问题的抽象技能,了解程序基本的流程;3.培养查阅资料,独立思考问题的能力。
四、设计人邓宇五、指导老师杨格兰、胡奇光六、设计课题老鼠走迷宫开发环境:Visual Studio 2010 Ultimate UML Activity DiagramVisual C # 2008 Express EditionsAdobe Photoshop CS4七、基本思路及关键问题的解决方法技术要求:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。
要求:1、老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;解决方案:老鼠图片形象可以用Photoshop来制作,通过键盘按键事件发送消息到对象(老鼠),实现老鼠的移动。
2、迷宫的墙足够结实,老鼠不能穿墙而过;解决方案:在老鼠每一步的移动中检测是否撞墙,若是则停止走动。
由于地图是图片,要检测就需要取出墙壁那点的颜色(显然不是白色),然后作比较来作碰撞检测。
3、若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;解决方案:加载定时器,设定60秒钟,若在规定的时间,及时间变成0时,弹出对话框提示用户游戏失败。
4、添加编辑迷宫功能,可修改当前迷宫。
解决方案:备用一张地图图片资源,可以用于更换地图。
八、算法及流程图Visio流程图:因为这是面向对象而非面向工程的程序设计,事件和判断都具有同时性和并发性。
UML建模图如下:九、调试过程中出现的问题及解决方法本次课程设计出现最严重的问题是通过键盘来如何控制对象(老鼠)的移动,刚开始做时试用了多种方法但是没有效果。
后来通过CSDN、博客园等IT技术社区找到了相关文章。
如果你按键没有反应是因为它把你的消息转发到了其它的激活窗口的处理程序上,比如:某个Button或者textBox上。
你可以试着点击窗口的空白区域,不让任何子控件获得焦点(没有任何一个控件有一个虚线的框)的时候,这个就能激活了。
确认一下是否是在Form上敲击了键盘。
实现的事件仅仅针对Form本身才是有效的,对Form上的子控件无效在正常情况下,Windows的消息,比如:KeyPress(Down)会被发送到对应窗口的消息处理循环 WndProc。
如果你的窗口上有其它控件,比如:Button,它其实也是一个窗口。
当你的输入焦点在这个Button或者其它控件,比如:textBox上时,你的输入事件会被发送到这个窗口的WndProc 事件中,你无法取得其它窗口的事件。
要解决问题,比较好一点的方法是注册热键。
你应该是不太可能要捕获所有的按键对吧,可能只是部分。
你可以使用这里提供的方法,注册系统级或者应用程序级的热键。
当然用系统的钩子之类的也可以解决你的问题,取得全部按键甚至其它消息,但我觉得没必要做那么复杂。
Form的KeyPress事件很难取到,不知道为什么.我虽然不是很能看懂消息循环底层的东西,但是我通过重载ProcessDialogKey函数人实现了按键的响应事件。
十、课程设计心得体会这次课程设计历时三天,我刚开始接触到这个题目的时候就有点蒙了,因为做的是老鼠走迷宫,而其还要是能用键盘的方向键来控制老鼠的行动。
我一开始想着这就是一个图形化的界面,因为在黑底白字的控制台程序里没法做到画出一个老鼠,而且还是能键盘来控制。
然后我就想到是用VC++的MFC,Viual Basic还是用Visual C#来实现这个题目,因为目前我只熟悉这三种开发技术。
最后我想我选择使用自己最熟悉C#的Windows Form来做。
因为从图标细节和界面美化都要自己一个个做,这着实让我体会到软件工程的艰辛,整个程序可能因为一个细小部分而花去你数倍的时间去调试,一个空格也能引发一场惨剧,使我明白调试是开发人员一项非常重要的基本功,通过这次课程设计,我对本专业有了更多的深刻认识,也收获了很多的成长。
通过课程设计使我对有了对理论知识更深的理解,对以前学习中不明白的,不理解的都有了进一步的理解。
在实际操作中遇到了很多困难,但通过找资料,请教同学和老师,使我的动手能力和沟通能力都有了提高。
在整个课程设计中总是在编写程序中发生错误,有时会很没耐性,但都被我一一克服了,编程一定要有耐心,同时还有认真仔细,尽量保证不出现错误。
编程要有条理,不仅使自己要看懂,别人也能看懂,这样有利于程序的改正。
在做完这个课程设计时,心里有种说不出来的高兴,自己动手完成的设计有一种成就感,增强了自己的自信心,我相信在今后的学习中,我会保持这种良好的心情投入到各科的学习中,使我的成绩不断提高。
十一、源程序using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Maze.Properties;namespace Maze{public partial class Form1 : Form{public Form1(){InitializeComponent();}int i=60;Color[] mycolorleft = new Color[19];Color[] mycolorup = new Color[19];Color[] mycolorright = new Color[19];Color[] mycolordown = new Color[19];public bool UP()//建立一个类用于判断是否是墙{Bitmap map = new Bitmap(Map.Image);for (int i = 0; i < 19; i++){mycolorup[i] = map.GetPixel(rat.Left + i, rat.Top - 13);}for (int a = 0; a < 19; a++){if (mycolorup[a].ToArgb() != Color.White.ToArgb())//用循环判断是否有任意一个点不为通道;{return false;}}return true;}public bool down(){Bitmap bitmap = new Bitmap(Map.Image);for (int i = 0; i < 19; i++){mycolordown[i] = bitmap.GetPixel(rat.Left + i, rat.Top + 9); }for (int a = 0; a < 19; a++){if (mycolordown[a].ToArgb() != Color.White.ToArgb()){return false;}}return true;}public bool left(){Bitmap bitmap = new Bitmap(Map.Image);for (int i = 0; i < 19; i++){mycolorleft[i] = bitmap.GetPixel(rat.Left -12, rat.Top + i); }for (int a = 0; a < 19; a++){if (mycolorleft[a].ToArgb() != Color.White.ToArgb()){return false;}}return true;}public bool right(){Bitmap bitmap = new Bitmap(Map.Image);for (int i = 0; i < 19; i++){mycolorright[i] = bitmap.GetPixel(rat.Left + 10, rat.Top + i); }for (int a = 0; a < 19; a++){if (mycolorright[a].ToArgb() != Color.White.ToArgb()){return false;}}return true;}private void timer1_Tick(object sender, EventArgs e){i--;lblTime.Text = "时间剩余:" + i + "秒";if (i == 0){timer1.Stop();DialogResult result=MessageBox.Show("时间已到,您没能在规定的时间内到达终点!", "游戏结束", MessageBoxButtons.RetryCancel, rmation);if (result == DialogResult.Cancel){Application.Exit();}else{i = 60;Map.Image = Resources.mapMaze;timer1.Start();rat.Left = 441;rat.Top = 317;}}}protected override bool ProcessDialogKey(Keys keyData){if (keyData == Keys.Up){if (UP()){rat.Top -= 2;}}if (keyData == Keys.Down){if (down()){rat.Top += 2;}}if (keyData == Keys.Left){if (rat.Left <= 20)//当老鼠到达终点时,检测它离右边的距离;{win.Visible = true;timer1.Stop();rat.Enabled = false;DialogResult result=MessageBox.Show("恭喜你,闯关成功","你赢了",MessageBoxButtons.RetryCancel,rmation);if (result == DialogResult.Retry){i = 60;rat.Enabled = true;timer1.Start();win.Visible = false;rat.Left = 441;rat.Top = 317;}else{Application.Exit();}}if (left() && rat.Left >= 0){rat.Left -= 2;}}if (keyData == Keys.Right){if (right() && rat.Left <= 440){rat.Left += 2;}}return base.ProcessDialogKey(keyData);}private void button1_Click(object sender, EventArgs e){i = 60;timer1.Start();rat.Left = 441;rat.Top = 317;Map.Image = Resources.mapMaze2;}}}运行效果图:双击右边的“Naze.exe”运行程序。