- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华 北 科 技 学 院
课程设计说明书
专 业: 计算机科学与技术
设计题目: 动态图形设计
设计时间: 2011.06.20 至 2011.07.1
评 语:_________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:__ __评阅教师:__ ___
课程设计报告的要求
1、需求分析
动态图形设计
要求:小车在公路上行驶,从屏幕左侧驶向右侧。在到达屏幕右侧 ,公路下降一段距离并改变颜色,然后小车继续由左向右行驶驶。当下降到屏幕底部时,又返回到屏幕顶部重复上述过程,直到有键按下。公路和小车的颜色不样。也要用INT 10H功能。
可以看到,要求的问题对于用汇编作出动画是没有接触过的,所以这里要分析如何构造小车,如何弄成动画的。在书上我看到,动画无非分两种动画,一种是逐帧动画,另一种是实时动画,当然,这里是逐帧动画。逐帧动画设计起来相对来说比较简单,就是一组图像按一定的频度连续播放,给人一种视觉上的效应,好像这个东西真的动起来了!
因此,对于课题我可以考虑如何实现动画了。
2、总体设计
1.小车是如何用汇编语言设计出来的?字符组合
2. 如何让它动起来?设计延迟程序,使小车的现实出现时间间隔,改变小车的显示列数,出现向左或向右的动态效果
3.公路如何和小车一起显示?公路也用字符的形式显示,调用时不用加延迟。
4.小车在公路上行驶,从屏幕左侧驶向右侧。在到达屏幕右侧 ,公路下降一段距离并改变颜色,然后小车继续由左向右行驶驶。当下降到屏幕底部时,又返回到屏幕顶部重复上述过程?这几个循环的过程只需要设计循环程序,具体设计如流程图。
5.有按键时结束程序?用到读键盘状态,此处要用到“int 16H”的01号功能
流程图
主程序流程图
关键子程序流程图:
3、详细设计
源程序代码及分析
SETMODE MACRO MODE1
MOV AH,0
MOV AL,MODE1
INT 10H
ENDM
DATAS SEGMENT
CAR DW 8 ;小车由8个字符组成
DB 0,1,0DBH,9 ;第一,二字节是字符坐标位移量
DB 0,1,0DBH,7,0,1,0DBH,9 ;三四字节是字符与字符属性
DB 1,0,4FH,8,0,-2,4FH,8
DB -2,2,3,13,0,-2,3,10
DB 0,1,3,4
DRAWLU DB 0DBH ;画路的字符
ROW DB ? ;显示小车的行坐标
COLUMN DB ? ;显示小车的列坐标
MODE DB ? ;控制画小车的变量
YS DB 4 ;控制路的颜色
A DB press any buton to show my work,13,10,$;显示提示语
B db after the work press any key to the end$
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,A ; 显示提示语
MOV AH,9
INT 21H
LEA DX,B
MOV AH,9
INT 21H
MOV AH,7
INT 21H
A0: MOV ROW,1 ;置显示行为第1行
A1:
MOV COLUMN,0 ;置显示列为第0列
CALL MOVECAR
文档评论(0)