小鸟动画程序课程设计
- 格式:docx
- 大小:137.01 KB
- 文档页数:51
编程猫教学设计----飞翔的⼩鸟编程猫教学设计会飞的⼩鸟教学⽬标:1.能够使⽤“控制”积⽊和“外观”积⽊使⾓⾊变换造型;2.学会使⽤“动作”积⽊来实现⾓⾊的移动;3.通过设计动画,培养学⽣主动思考和创新意识,提⾼动⼿操作能⼒。
教学重难点:能够使⽤“控制”积⽊和“外观”积⽊使⾓⾊变换造型;学会使⽤“动作”积⽊来实现⾓⾊的移动。
教学⽅法:任务驱动法、讲授法、上机实践法教学⽤具:计算机⽹络教室、教学课件教学过程:⼀、引⼊主题:播放动画:飞翔的⼩鸟。
想⼀想:1.动画⾥的主⾓是谁?它在哪⾥?在⼲什么?(指名回答)2.试⼀试:根据动画,绘制思维导图。
⼆、讲授新课:1.动画制作过程分析:你准备如何来制作这个动画?学⽣⼩组讨论。
(指名汇报制作步骤)(1)添加天空背景和蓝鹊⾓⾊(3)为蓝鹊添加命令2.添加背景和⾓⾊(学⽣⽰范,教师总结)天空背景:素材库----背景----天空蓝鹊:素材库----⾓⾊----蓝鹊3.为⾓⾊添加命令(教师⽰范并讲解)(1)让⼩鸟会飞问:动画中的⼩鸟怎样扇动翅膀?(在两个造型间来回变换)尝试:当“开始”被点击,“重复执⾏”“下⼀个造型”“控制”----“重复执⾏”“外观”----“下⼀个造型”试⼀试,你发现了什么问题?(扇动翅膀太快)怎样解决? “控制”----“等待1秒”提⽰:改变等待的秒数,可以控制⼩鸟扇动翅膀的快慢。
(2)让⼩鸟在⼀定的时间飞到想要去的地⽅⼩鸟的飞⾏,是⼀个动作,试⼀试在“动作”⾥找到合适的命令。
再次熟悉坐标。
“动作”----“在1秒内,移到X (100)Y (100)”试⼀试:改变⼩鸟飞⾏的速度,找到⼩鸟要飞到的位置。
4.设计⾃⼰的动画:想⼀想:你想让谁成为你动画的主⾓?它在什么地⽅?在⼲什么?画⼀画:根据你的动画绘制思维导图。
做⼀做:根据你绘制的思维导图,来制作属于你的动画吧。
三、本课⼩结:1.你设计了什么样的动画,展⽰给同学看⼀看。
2.在设计动画中你⽤到了哪些积⽊?它对你设计的动画起到什么作⽤?板书设计:课后反思:飞翔的⼩鸟天空蓝鹊素材库----背景----天空素材库----⾓⾊----蓝雀。
《4.1.3制作“小鸟飞翔”动画》教学设计依兰县第三中学信息技术组潘跃东一、教学目标1、知识和技能目标:①能熟悉操作应用Flash的工具栏、菜单栏;②理解元件的概念,元件的建立及调用;2、过程与方法目标:①能根据所接受的信息,较好地表达、呈现出自我的创意;②能通过回忆旧知识点,形成自我解决新旧知识点之间的联系,从而达到形成学以致用的方法。
3、情感态度与价值观:①通过Flash的重、难点学习,体验和认识利用多媒体技术呈现信息、交流思想的生动性和有效性;②能通过作品的逐步形成,培养学生的世界观、价值观;③通过信息的获取,培养学生不断进取,扮演好生活中的每一个角色。
二、重点、难点本节课在Flash的学习中属于一难点,其中元件的概念及建立、调用属于重点,难点则在于动作补间。
三、教学策略与手段本堂课在课型来说属于技能操作课,所以讲授课为主,中间穿插适当的任务小驱动,讨论法、实践法。
四、课前准备1、学生准备:能对前2课的知识点和操作方法熟练掌握,能有一种探究的学前准备思想。
2、教师准备:精心地选材、备课,课堂意外情况的考虑,机房的整理等等。
3、教学环境的设计与布置:学生机房Flash8.0的安装,投影屏幕。
五、教学过程1.创设情境导入新课兴趣是学生学习任何事物最好的敲门砖,在学习前面2节课的情况来看,学生对于最基本、最基础的小球的运动的专注仅停留在表面现象上,看着挺有兴趣,可由于做出来是简单的从左到右的运动,所以学生的几个层次之间的关注点相差就比较大,因依据课本的内容和结合实际情况,我们只能以最简单的小鸟来延伸以后他们想要完成的高难度动作。
教师活动:这堂课我就以一个Flash短片作为开头引入情景描述,前几节课我们成功地完成了一个用Uleadcool3D制作的“我爱我班”动画作品,了解了三维动画,今天我们来学习更精彩的效果作品Flash。
学生活动:欣赏Flash动画,产生好奇心,萌发学习和创作的强烈欲望旨在激起学生奋发向上的一种精神。
飞翔的小鸟课程设计java一、教学目标本课程旨在通过学习Java编程语言,让学生掌握编程基础,培养编程思维,学会使用Java编写简单的程序。
具体目标如下:1.掌握Java编程语言的基本语法和结构。
2.了解面向对象编程的基本概念和方法。
3.熟悉常用的Java编程库和开发工具。
4.能够使用Java编写简单的控制台应用程序。
5.能够使用Java编写简单的图形用户界面应用程序。
6.能够使用Java进行基本的文件操作和数据处理。
情感态度价值观目标:1.培养学生的逻辑思维和问题解决能力。
2.培养学生的团队合作和沟通能力。
3.培养学生的创新精神和持续学习的意识。
二、教学内容本课程的教学内容主要包括Java编程语言的基本语法和结构、面向对象编程、常用的Java编程库和开发工具。
具体安排如下:1.Java编程语言的基本语法和结构:数据类型、变量、运算符、控制语句、函数等。
2.面向对象编程:类和对象、构造方法、继承和多态、封装等。
3.Java编程库和开发工具:Java标准库、常用开发工具如Eclipse、IntelliJ IDEA等。
三、教学方法本课程将采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解和示例,让学生掌握Java编程语言的基本语法和结构。
2.讨论法:通过小组讨论和实践,让学生深入理解面向对象编程的概念和方法。
3.案例分析法:通过分析实际案例,让学生学会使用Java编程库和开发工具解决实际问题。
4.实验法:通过编程实验,让学生动手实践,巩固所学知识和技能。
四、教学资源本课程将使用教材《Java编程思想》作为主要教学资源,同时提供相关的参考书籍、多媒体资料和实验设备。
参考书籍包括《Java核心技术》、《Java Web开发实战》等。
多媒体资料包括教学PPT、视频教程、在线编程练习等。
实验设备包括计算机、网络设备等,以支持学生进行编程实验和实践。
五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面客观地评估学生的学习成果。
编程猫教学设计会飞的小鸟教学目标:1.能够使用“控制”积木和“外观”积木使角色变换造型;2.学会使用“动作”积木来实现角色的移动;3.通过设计动画,培养学生主动思考和创新意识,提高动手操作能力。
教学重难点:能够使用“控制”积木和“外观”积木使角色变换造型;学会使用“动作”积木来实现角色的移动。
教学方法:任务驱动法、讲授法、上机实践法教学用具:计算机网络教室、教学课件教学过程:一、引入主题:播放动画:飞翔的小鸟。
想一想:1.动画里的主角是谁?它在哪里?在干什么?(指名回答)2.试一试:根据动画,绘制思维导图。
二、讲授新课:1.动画制作过程分析:你准备如何来制作这个动画?学生小组讨论。
(指名汇报制作步骤)(1)添加天空背景和蓝鹊角色(3)为蓝鹊添加命令2.添加背景和角色(学生示范,教师总结)天空背景:素材库----背景----天空蓝鹊:素材库----角色----蓝鹊3.为角色添加命令(教师示范并讲解)(1)让小鸟会飞问:动画中的小鸟怎样扇动翅膀?(在两个造型间来回变换)尝试:当“开始”被点击,“重复执行”“下一个造型”“控制”----“重复执行”“外观”----“下一个造型”试一试,你发现了什么问题?(扇动翅膀太快)怎样解决? “控制”----“等待1秒”提示:改变等待的秒数,可以控制小鸟扇动翅膀的快慢。
(2)让小鸟在一定的时间飞到想要去的地方小鸟的飞行,是一个动作,试一试在“动作”里找到合适的命令。
再次熟悉坐标。
“动作”----“在1秒内,移到X (100)Y (100)”试一试:改变小鸟飞行的速度,找到小鸟要飞到的位置。
4.设计自己的动画:想一想:你想让谁成为你动画的主角?它在什么地方?在干什么? 画一画:根据你的动画绘制思维导图。
做一做:根据你绘制的思维导图,来制作属于你的动画吧。
三、本课小结:1.你设计了什么样的动画,展示给同学看一看。
2.在设计动画中你用到了哪些积木?它对你设计的动画起到什么作用?板书设计:课后反思:飞翔的小鸟 天空 蓝鹊 素材库----背景----天空 素材库----角色----蓝雀。
设置动画效果教学目的1、通过对幻灯片自定义动画的设置,比较各种不同的动画显示效果,确定合适的动画方案。
2、充分发挥儿童的好奇心,精心设计学生自主、合作学习环节,培养学生动手操作能力及发散思维能力3、通过动画效果的设置,培养学生的学习兴趣,增强学生做学习小主人的自信心。
4、能根据演示文稿的主体要求,设置自定义动画效果,实现演示文稿内容的动态显示。
教具准备1、多媒体机房2、教学广播系统3、相关图片、课件教学重点与难点重点难点:合理地设置自定义动画效果课时安排:1课时教学过程创设情境,导入新课(学生在课间时期发现电脑桌面“愤怒的小鸟”游戏,自由操作)师:同学们知道这是什么游戏吗?有没有同学以前就玩过啊?生:()师:(对学生的回答作评价)看来我们班还是有部分同学玩过愤怒的小鸟的,那我们就认识认识我们小鸟们的名字(展示PPT)师:同学们都认识我们的小鸟了吗?今天小鸟们有一件事情想请大家帮帮忙,一起来看看小鸟们到底发生了什么。
(播放视频)(同学们,原来小鸟们的蛋被绿猪们偷走了,我们就快来帮帮它们吧!)戴老师第一个来帮助小鸟们消灭小猪(演示PPT)师:同学们看到了吗?我们如何才能设置像戴老师一样的动画效果,来帮助小鸟们消灭绿猪呢?这就是我们今天要学习的内容(播放PPT)《设置动画效果》同学们跟老师来读一遍。
任务驱动,掌握方法第一关师:出示(任务一:同学你们看出刚才我们的幻灯片中出现哪些素材,分别是什么顺序出现的,时间长短呢?)生:(在画面上出现的所有元素都是我们的素材,包括我们漂亮的背景,我们的小鸟,还有邪恶的绿猪!时间顺序是绿猪先出现,小鸟后出现,然后小鸟再天空中飞翔。
)师:看来同学都已经清楚游戏的流程了,我们就开始来制作吧(出示任务二:请为绿猪和红火设置“飞入”的动画效果)师:(打开课件演示操作)师:(播放第一段蓝冰的录音)生:1.(明白设置动画效果的过程。
)2、(不明白设置动画效果的过程。
)师:1.你真聪明,同学们一起来给点掌声。
小鸟动画程序课程设计课程设计任务书学生姓名:梅浪奇专业班级:自动化1002指导教师:张素文工作单位:自动化学院题目: 小鸟动画程序初始条件:在屏幕显示一小鸟,按S飞翔,按B鸣叫,按P暂停,按Q退出程序。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月2日~1月3日:收集资料,方案选择1月4日~1月7日:整体流程,程序细节1月8日~1月10日:调试程序,报告撰写1月10:交设计报告,程序演示,答辩指导教师签名:年月日系主任(或责任教师)签名:年月日摘要随着计算机的快速发展,用汇编语言来实现动画更简单,直接和便捷,它的目标代码简短,占用内存较少,执行速度较快,是高效的程序设计语言。
本文主要对小鸟动画进行程序设计,并通过masm软件进行运行。
通过输入不同的字符对程序的控制,采用调用子程序的方法来实现,使用了堆栈技术和中断技术,来实现按下字符S,小鸟飞过,按B,小鸟鸣叫,按P暂停,按C继续,按下Q,则退出程序等功能。
文中对程序设计的思路进行了详细的解析,并给出其流程图和程序代码,同时也对此程序设计的不同方案进行了比较选择。
本程序可在windows 2000,windows xp上运行。
所需要的工具软件为MASM2.0及以上版本,先生成.asm文件,再生成.exe的文件,然后运行。
关键词:小鸟动画,masm软件,中断,子程序调用目录课程设计任务书 (I)摘要................................................................................................................................................ I I 小鸟动画程序 (1)1设计任务及要求分析 (1)2程序整体设计及方案选择 (2)2.1整体设计思路阐述 (2)2.2基本模块方案选择 (3)2.2.1小鸟图案显示方案选择 (3)2.2.2小鸟发声鸣叫方案选择 (4)3程序各模块设计 (8)3.1主程序设计 (8)3.1.1主程序设计思路 (8)3.1.2主程序流程图设计 (8)3.1.3主程序代码设计 (9)3.2小鸟飞翔子程序设计 (11)3.2.1小鸟飞翔子程序设计思路 (11)3.2.2小鸟飞翔子程序流程图设计 (11)3.2.3小鸟飞翔子程序代码设计 (12)3.3小鸟鸣叫子程序设计 (13)3.3.1小鸟鸣叫子程序设计思路 (13)3.3.2小鸟鸣叫子程序流程图设计 (14)3.3.3小鸟鸣叫子程序代码设计 (15)3.4小鸟飞翔并鸣叫子程序设计 (17)3.4.1小鸟飞翔并鸣叫子程序设计思路 (17)3.4.2小鸟飞翔并鸣叫子程序流程图设计 (17)3.4.3小鸟飞翔并鸣叫子程序代码设计 (18)3.5暂停子程序设计 (19)3.5.1暂停子程序设计思路 (19)3.5.2暂停子程序流程图设计 (20)3.5.3暂停子程序代码设计 (21)3.6小鸟显示子程序设计 (23)3.6.1小鸟显示子程序设计思路 (23)3.6.2小鸟显示子程序流程图设计 (23)3.6.3小鸟显示子程序代码设计 (24)4调试记录及结果分析 (26)4.1调试记录及结果分析 (26)4.2调试中出现的问题及解决方案 (29)5.小鸟动画程序的优化 (30)5.1小鸟动画优化 (30)5.2小鸟动画背景颜色优化 (30)6心得与体会 (31)7参考文献 (32)附录1:小鸟动画程序 (33)附录2:本科生课程设计成绩评定表 (49)小鸟动画程序1设计任务及要求分析设计任务要求在屏幕显示一小鸟,按S飞翔,按B鸣叫,按P暂停,按Q退出程序。
微机原理与接口技术课程设计设计课题:动画程序设计班级:学号:姓名:指导教师:2010 年12月24日一、设计题目动画程序设计二、设计内容1、主要内容:利用BIOS系统功能调用,进行简单的动画设计。
利用BIOS中断的10号、21号功能,进行简单的动画设计,并根据以下提示信息进行选择:(1)小鸟从屏幕飞过。
(2)汽车按水平方向从屏幕上开过去。
(3)退出。
2、基本功能:(1)清屏宏定义观察程序流程图,在显示小鸟图形,汽车图形时,要先清屏,所以在编写程序使用到宏,因为宏定义只需在汇编语言原程序中定义一次,便可以多次反复调用。
调用时只需要一条宏指令即可。
程序中的清屏定义为:CLEAR MACRO pch,pcl,pdh,pdl,pbhMOV AH,0MOV AL,02HINT 10HMOV AL,0MOV CH,pchMOV CL,pclMOV DH,pdhMOV DL,pdlMOV BH,pbhINT 10HENDM宏指令名为CLEAR,定义了五个形式参数,分别为:pch,pcl,pdh,pdl,pbh,把pch,pcl 的值分别传给窗口左上角行号、列号,pdh,pdl的值分别传给窗口右下角行号、列号,pbh 的值则传给窗口底部卷入行属性。
利用已经定义好的宏,清屏时可以宏调用。
宏调用语句为:CLEAR 0,0,24,79,7(2)子程序设计在接受键盘输入后,判断AL的值,如果是“1”就调用小鸟子程序,如果是“2”就调用汽车子程序,如果是“3”就结束退出。
在小鸟子程序中又嵌套了延时子程序,在汽车子程序中又嵌套了多个子程序。
(3)显示小鸟字符图形程序中利用BIOS系统功能中10H中断的09号功能进行小鸟字符图形的显示,程序段如下:MOV AH,9MOV AL,76HMOV BL,10INT 10H要是小鸟字符图形显示的更清晰,则需要延时。
循环指令LOOP,当CX不为零时,执行循环转移分支;当CX为零时,退出循环。
让小鸟飞起来编程教案编程教案:以让小鸟飞起来目标:通过编程,让小鸟在屏幕上飞起来。
学习内容:本教案将使用Scratch编程语言来实现让小鸟飞起来的动画效果。
学生将学习如何使用Scratch中的角色和动作来创建一个简单的小鸟飞行游戏。
学习目标:1. 了解Scratch编程语言的基本概念和操作方法。
2. 掌握如何创建角色和动作。
3. 学会如何使用Scratch中的控制流程和循环结构。
4. 实现让小鸟在屏幕上飞行的动画效果。
教学步骤:第一步:介绍Scratch编程语言在开始编程之前,首先向学生介绍Scratch编程语言的基本概念和操作方法。
让学生了解Scratch界面的各个部分,包括角色、背景、代码区等。
并向学生展示如何创建一个新的Scratch项目。
第二步:创建小鸟角色在Scratch项目中,创建一个小鸟角色。
学生可以自己设计小鸟的外观和动画效果,也可以使用Scratch中提供的角色素材库中的小鸟图片。
第三步:让小鸟飞起来学生学习如何使用Scratch中的控制流程和循环结构来实现让小鸟飞行的动画效果。
他们需要编写代码,使小鸟在屏幕上上下飞行,并且可以响应玩家的操作。
第四步:添加背景和障碍物学生可以为游戏添加背景和障碍物,使游戏更加丰富和有趣。
他们可以使用Scratch中的背景素材库来选择合适的背景图片,并添加障碍物来增加游戏的难度。
第五步:测试和调试学生需要测试他们的游戏,并进行调试,确保小鸟飞行的动画效果和游戏的操作逻辑都是正常的。
他们可以邀请同学来测试游戏,并收集反馈意见,以便进行改进。
第六步:展示成果最后,学生可以展示他们的作品,向同学和老师展示他们设计的小鸟飞行游戏。
他们可以分享他们的创意和编程经验,同时也可以从其他同学的作品中学习和借鉴。
总结:通过本教案的学习,学生可以掌握Scratch编程语言的基本操作方法,了解角色和动作的创建,以及控制流程和循环结构的使用。
他们可以通过实践来提高编程能力,同时也可以培养创造力和团队合作精神。
飞翔的小鸟课程设计java一、课程目标知识目标:1. 学生能理解Java编程语言中面向对象的基本概念,如类、对象和继承。
2. 学生能掌握Java中的基本语法结构,包括数据类型、运算符、控制流程等。
3. 学生能运用Java编程实现飞翔的小鸟游戏,理解游戏中的运动和碰撞检测机制。
技能目标:1. 学生能运用面向对象的编程思想设计和编写Java程序。
2. 学生能运用Java图形用户界面(GUI)组件设计游戏界面。
3. 学生通过编写飞翔的小鸟游戏,提高问题解决和逻辑思维能力。
情感态度价值观目标:1. 学生培养对编程的兴趣,增强学习Java编程的自信心。
2. 学生通过小组合作完成项目,培养团队协作和沟通能力。
3. 学生在编写游戏过程中,培养创新意识和挑战精神,体会编程带来的成就感。
课程性质:本课程为信息技术学科,以项目式教学方式展开,结合实际操作,使学生掌握Java编程的基本知识和技能。
学生特点:本课程针对初中年级学生,他们对新鲜事物充满好奇,具备一定的逻辑思维能力,但注意力容易分散,需要结合趣味性强的项目提高学习兴趣。
教学要求:教师应注重理论与实践相结合,引导学生通过实际操作掌握Java编程技能,关注学生的学习进度,及时调整教学策略,确保课程目标的达成。
同时,注重培养学生的团队协作能力和创新能力,提高学生的问题解决能力。
通过课程学习,使学生达到预定的学习成果。
二、教学内容1. 面向对象编程基础:- 类与对象的概念- 构造方法与成员变量- 封装、继承与多态2. Java基本语法:- 数据类型与变量- 运算符与表达式- 控制流程(分支、循环)3. Java图形用户界面(GUI):- JFrame窗口创建与布局管理- 事件处理与监听器- 常用组件的使用(按钮、标签等)4. 游戏编程:- 游戏循环与动画实现- 碰撞检测原理与实现- 飞翔的小鸟游戏案例分析与实现教学大纲安排:第一周:面向对象编程基础,重点讲解类与对象的概念,引导学生学习封装、继承与多态。
小鸟动画程序课程设计课程设计任务书学生姓名:梅浪奇专业班级:自动化1002指导教师:张素文工作单位:自动化学院题目:小鸟动画程序初始条件:在屏幕显示一小鸟,按S飞翔,按B鸣叫,按P暂停,按Q退出程序。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,釆用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月2日~1月3日:收集资料,方案选择1月4日月7日:整体流程,程序细节1月8日~1月10日:调试程序,报告撰写1月10:交设计报告,程序演示,答辩指导教师签名:系主任(或责任教师)签名:年月日摘要随着计算机的快速发展,用汇编语言来实现动画更简单,直接和便捷, 它的目标代码简短,占用内存较少,执行速度较快,是高效的程序设计语言。
本文主要对小鸟动画进行程序设计,并通过masm软件进行运行。
通过输入不同的字符对程序的控制,采用调用子程序的方法来实现,使用了堆栈技术和中断技术,来实现按下字符S,小鸟飞过,按B,小鸟鸣叫,按P 暂停,按C继续,按下Q,则退出程序等功能。
文中对程序设计的思路进行了详细的解析,并给出其流程图和程序代码,同时也对此程序设计的不同方案进行了比较选择。
本程序可在windows 2000, windows xp ±运行。
所需要的工具软件为MASM2. 0及以上版本,先生成.asm文件,再生成・exe的文件,然后运行。
关键词:小鸟动画,masm软件,中断,子程序调用课程设计任务书 (I)摘要................................................................................. I I 小鸟动画程序. (1)1设计任务及要求分析 (1)2程序整体设计及方案选择 (2)2.1整体设计思路阐述 (2)2.2基本模块方案选择 (3)2.2.1小鸟图案显示方案选择 (3)2.2.2小鸟发声鸣叫方案选择 (4)3程序各模块设计 (8)3.1主程序设计 (8)3.1.1主程序设计思路 (8)3.1.2主程序流程图设计 (8)3.1.3主程序代码设计 (9)3.2小鸟飞翔子程序设计 (11)3.2.1小鸟飞翔子程序设计思路 (11)3.2.2小鸟飞翔子程序流程图设计 (11)3.2.3小鸟飞翔子程序代码设计 (12)3.3小鸟鸣叫子程序设计 (13)3.3.1小鸟鸣叫子程序设计思路 (13)3.3.2小鸟鸣叫子程序流程图设计 (14)3.3.3小鸟鸣叫子程序代码设计 (15)3.4小鸟飞翔并鸣叫子程序设计 (17)341小鸟飞翔并鸣叫子程序设计思路 (17)3.4.2小鸟飞翔并鸣叫子程序流程图设计 (17)343小鸟飞翔并鸣叫子程序代码设计 (18)3.5暂停子程序设计 (19)3.5.1暂停子程序设计思路 (19)3.5.2暂停子程序流程图设计 (20)3.5.3暂停子程序代码设计 (21)3.6小鸟显示子程序设计 (23)3.6.1小鸟显示子程序设计思路 (23)3.6.2小鸟显示子程序流程图设计 (23)3.6.3小鸟显示子程序代码设计 (24)4调试记录及结果分析 (26)4.1调试记录及结果分析 (26)4.2调试中出现的问题及解决方案 (29)5.小鸟动画程序的优化 (30)5.1小鸟动画优化 (30)5.2小鸟动画背景颜色优化 (30)6心得与体会 (31)7参考文献 (32)附录1:小鸟动画程序 (33)附录2:本科生课程设计成绩评定表 (49)小鸟动画程序1设计任务及要求分析设计任务要求在屏幕显示一小鸟,按S飞翔,按B鸣叫,按P暂停,按Q退出程序。
题目: 小鸟动画程序初始条件:在屏幕显示一小鸟,按S飞翔,按B鸣叫,按P暂停,按C继续,按Q退出程序。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月6日~1月7日:收集资料,方案选择1月8日~1月13日:整体流程,程序细节1月14日~1月15日:调试程序,报告撰写1月16~1月17日::交设计报告,程序演示,答辩指导教师签名: 2014 年 1 月 6 日系主任(或责任教师)签名:年月目录摘要 (1)小鸟动画程序 (I)1设计任务及要求分析 (1)2程序整体设计及方案选择 (2)2.1整体设计思路阐述 (2)2.2基本模块方案选择 (3)2.2.1小鸟图案显示方案选择 (3)2.2.2小鸟发声鸣叫方案选择 (4)3程序各模块设计 (7)3.1主程序设计 (7)3.1.1主程序设计思路 (7)3.1.2主程序流程图设计 (7)3.1.3主程序代码设计 (8)3.2小鸟飞翔子程序设计 (10)3.2.1小鸟飞翔子程序设计思路 (10)3.2.2小鸟飞翔子程序流程图设计 (10)3.2.3小鸟飞翔子程序代码设计 (11)3.3小鸟鸣叫子程序设计 (12)3.3.1小鸟鸣叫子程序设计思路 (12)3.3.2小鸟鸣叫子程序流程图设计 (13)3.3.3小鸟鸣叫子程序代码设计 (14)3.4小鸟飞翔并鸣叫子程序设计 (15)3.4.1小鸟飞翔并鸣叫子程序设计思路 (15)3.4.2小鸟飞翔并鸣叫子程序流程图设计 (15)3.4.3小鸟飞翔并鸣叫子程序代码设计 (16)3.5暂停子程序设计 (18)3.5.1暂停子程序设计思路 (18)3.5.2暂停子程序流程图设计 (18)3.5.3暂停子程序代码设计 (19)3.6小鸟显示子程序设计 (21)3.6.1小鸟显示子程序设计思路 (21)3.6.2小鸟显示子程序流程图设计 (21)3.6.3小鸟显示子程序代码设计 (22)4调试记录及结果分析 (24)4.1调试记录及结果分析 (24)4.2调试中出现的问题及解决方案 (26)5.小鸟动画程序的优化 (28)5.1小鸟动画优化 (28)5.2小鸟动画背景颜色优化 (28)6心得与体会 (29)7参考文献 (30)附录1:小鸟动画程序 (31)摘要本文主要对小鸟动画进行程序设计,并通过masm软件进行运行。
通过输入不同的字符对程序的控制,采用调用子程序的方法来实现,使用了堆栈技术和中断技术,来实现按下字符S,小鸟飞过,按B,小鸟鸣叫,按P暂停,按C继续,按下Q,则退出程序等功能。
文中对程序设计的思路进行了详细的解析,并给出其流程图和程序代码,同时也对此程序设计的不同方案进行了比较选择。
本程序可在windows 2000,windows xp上运行。
所需要的工具软件为MASM2.0及以上版本,先生成.asm文件,再生成.exe的文件,然后运行。
关键词:小鸟动画,masm软件,中断,子程序调用小鸟动画程序1设计任务及要求分析设计任务要求在屏幕显示一小鸟,按S飞翔,按B鸣叫,按P暂停,按Q退出程序。
而为了满足更人性化的要求,本文另增加功能键C,以在按P暂停时,还能回到原状态。
基于以上考虑,现将设计要求总结如下:①程序运行后,在无输入情况下,屏幕上显示小鸟图案;②程序运行后,按下S键,小鸟飞翔;按下B键,小鸟鸣叫;按下P键,程序暂停;按下Q键,程序结束;③在飞翔状态下,按B键,小鸟同时鸣叫;按P键,程序暂停;按下Q键,程序结束;④在鸣叫状态下,按S键,小鸟同时飞翔;按P键,程序暂停;按下Q键,程序结束;⑤在同时飞翔和鸣叫状态下,按B键,小鸟只鸣叫,回到功能4;按S键,小鸟只飞翔,回到功能3;按P键,程序暂停;按下Q键,程序结束;⑥在暂停状态下,按C键,程序回到暂停前状态继续运行;按下Q键,程序结束;⑦任何情况下,当输入无效键时,程序循环等待下一次输入。
下面将以以上要求为指导,进行程序设计和仿真调试,完成小鸟动画程序2程序整体设计及方案选择2.1整体设计思路阐述跟据第一节对设计任务的分析,此程序将通过子程序的调用来实现。
在主程序中显示小鸟,且循环检测键盘输入,并执行相应子程序。
当按键为Q时,调用结束子程序;当按键为P时,调用暂停子程序;当按键为S时,调用小鸟飞翔子程序;当按键为B时,调用小鸟鸣叫子程序;当无按键输入或按键为其它时,循环显示小鸟并检测键盘输入。
在小鸟飞翔子程序中,当按键为Q时,调用结束子程序;当按键为P时,调用暂停子程序;当按键为B时,调用小鸟飞翔并鸣叫子程序;当无按键输入或按键为其它时,循环显示小鸟并检测键盘输入。
在小鸟鸣叫子程序中,当按键为Q时,调用结束子程序;当按键为P时,调用暂停子程序;当按键为S时,调用小鸟飞翔并鸣叫子程序;当无按键输入或按键为其它时,循环显示小鸟并检测键盘输入。
在小鸟飞翔并鸣叫子程序中,当按键为Q时,调用结束子程序;当按键为P时,调用暂停子程序;当按键为S时,调用小鸟飞翔子程序;当按键为B时,调用小鸟鸣叫子程序;当无按键输入或按键为其它时,循环显示小鸟并检测键盘输入。
在暂停子程序中,当按键位Q时,调用结束子程序;当按键为C时,返回暂停前程序;当无按键输入或为其它时,循环子程序,保持暂停状态并持续检测键盘输入。
可以发现,只要实现了上述程序设计即可满足设计要求。
下面给出主程序的粗略流程图如图1所示,至于主程序及各子程序的具体实现将在第3节详细讨论。
图1 主程序流程图2.2基本模块方案选择此程序的基本模块是小鸟的图案显示和发声鸣叫,其飞翔及飞翔时鸣叫均是基于此模块。
鉴于此,下面首先对小鸟的图案显示和发声鸣叫做出具体的方案比较及选择。
2.2.1小鸟图案显示方案选择通过查阅资料,形成小鸟图像有两种方法:一种是字符形成小鸟图像(即文本方式);另一种是像素点形成小鸟图像(即图形方式)。
方案一:用字符形成小鸟图像,主要是利用BIOS中的INT 10H中断,即显示器中断,INT 10H中的09H号功能是在光标制定位置处写字符和属性。
程序结构图大致如下:MOV AH,09H ;置光标MOV AL,‘字符’ ;字符ASCII码MOV BL,7 ;字符属性MOV BH,0 ;第0页MOV CX,数量值;字符重复个数INT 10H方案二:用图形方式形成小鸟图像,是利用像素来产生彩色图案,它也是利用BIOS中的INT 10H的功能00H来设置图形方式。
程序结构大致如下面所示:MOV AH,00H ;请求设置方式MOV AL,0CH ;彩色图形INT 10H ;调用中断服务在显示小鸟图像的两个方案中,方案一具有数据量少,操作简单的特点,但显示的图形与实际物体有偏差;方案二中显示的图像形象逼真,但它的数据量极其大,操作起来有点困难。
鉴于以上的比较,在小鸟显示图像这个环节决定采用方案一,以减小操作量。
在小鸟显示时,为了实现简单且达到较好的视觉效果,将小鸟图案设置为三幅图案组合而成的动态拍翅图案。
这三幅图案分别表示小鸟收翅,展翅,拍翅三个画面,并循环显示以达到较好的视觉效果。
至于其具体实现过程在第3.6节做详细叙述。
2.2.2小鸟发声鸣叫方案选择小鸟发声程序也是一个比较重要的环节,中间涉及到扬声器发声部分。
而在关于扬声器发声时,主要有两种方式,分别是以位触发和定时器控制。
下面就这两种不同的方式确定两个不同的设计方案。
方案一:发声采用位触发方式。
程序直接控制PPI(8255可编程序外围接口芯片)的输出控制寄存器(I/O端口为61H)的第一位,使该位按所需的频率进行1和0的交替变化,从而产生一串脉冲控制波形,这些脉冲经过放大后驱动扬声器发出声音。
可以利用软件延时来控制所产生的脉冲波形的长度和脉宽,就可以实现产生不同频率和不同音长的声音。
软件实现的程序如下:IN AL,61HMOV AH,ALAND AL,0FCH ;关断定时器通道2的门控SOUND:XOR AL,2;触发61H端口第1位OUT 61H,ALMOV CX,DX ;(DX)=控制脉冲的计数值WAIT:LOOP WAIT ;延时循环DEC BX ;(BX)=脉冲持续的时间JNZ SOUNDMOV AL,AHOUT 61H,AL ;恢复61H端口在本方案中,通过程序的方法来控制PB1,使其在1和0之间按一定的频率变,从而产生一串脉冲。
控制脉冲宽度的计数值的算法如下:计数值=2801*100/音频(1)如果音频为f,则脉冲周期1/f一个半波的时间为1/2f秒,而1/2f秒的延时可简单地通过LOOP指令的循环来取得,由于2801次LOOP指令循环执行所需时间是10MS,所以一秒钟时间约执行2801*100次LOOP指令。
控制脉冲宽度的计数值的实现程序如下:MOVBX,100WAIT:MOV CX,2801DELAY:LOOP DELAYDEC BXJNZ WAIT算出了脉冲宽度,再通过高低电平的不断变换,就可实现不同频率的脉冲方波。
把此方波经滤波放大即可驱动扬声器发声了。
方案二:利用定时器发声。
这里是通过硬件即8253定时器产生声音。
CPU通过对定时器的通道2进行编程,使其I/O寄存器接收一个控制声音频率的16位计数值,端口61H的最低位控制通道2门控的开断,以产生特殊的音响。
当定时器接收的计数值为533H时,能产生896Hz的声音,因此产生其他频率的计数值就可由下式计算:计数值=533H×896÷ f=1234DCH÷ f在送出频率计数值之前,还要给方式寄存器送一个方式值,该数决定对哪一个通道编程,采用什么模式,送入通道的计数值是一字节还是两字节,是二进制码还是BCD码。
其位组合的格式如下:当通道2用于发声时,采用的是模式3,在模式3下,输出线为“1”和为“0”的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。
产生指定频率声音的程序段如下:PUSH AX ;保存ax的值MOV AL,0B6H ;给2号定时器的43端口送入一个特定的数0B6HOUT 43H,ALMOV AX,34DCHDIV BXOUT 42H,AL ;给42H端口装入一个16位的计时常数(533H*896/频率)MOV AL,AHOUT 42H,ALIN AL,61H ;获取61h端口的当前值OR AL,03H ;把61h端口低二位置1,即打开蜂鸣器OUT 61H,AL ;输出数据到61h端口POP AX ;恢复ax的值对于小鸟发声区别在于以不同的方式来驱动扬声器发声。