资源描述:
《字符图形动画的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息科学与技术学院《微机原理与接口技术》课程设计题目名称:字符图形动画的实现学生姓名:闫亮学号:2009082239专业:计算机科学与技术班级:09级(2)班指导教师:农峰职称:讲师完成日期:2011年12月22日2目录1设计概述31.1题目功能分析3设计一个字符动画(图画必需组成字符图型,不能只是1个字符)31.2功能概述32详细设计分析42.1主程序流程图设计42.2分布具体功能实现流程图设计52.2.1字符串右移52.3提示输入字符串显示功能实现52.4小车移动代码72.5小鸟飞行代码82.7主菜单选择及退出功
2、能实现93调试说明、结果记录及分析103.1调试说明103.2结果记录与分析103.2.1提示输入字符串103.2.2输入后显示字符串113.2.3小车行驶界面115课程设计收获及心得126参考文献137代码实现1321设计概述1.1题目功能分析设计一个字符动画(图画必需组成字符图型,不能只是1个字符)要求:1、动画可循环动作2、能改变速度3、能改变颜色4、界面修饰。1.2功能概述(1)通过定位设置字符图形。(2)屏幕提示输入字符串主要运用中断INT21H的0AH功能;(2)在确定光标位置后,通过循环改变其行列数值来
3、达到右移动功能;颜色设置则通过INT10H的09H功能调用实现;(3)退出功能通过将输入‘3’与其ASCII比较,跳转到退出程序;而退出程序主要通过INT21H的4CH功能实现。182详细设计分析2.1主程序流程图设计字符串右移结束开始段地址初始化进入Dos窗口输出提示信息显示图像输入字符图像YN颜色设置字符图像循环返回主菜单按‘3’?图2-1主程序流程图图2-1字符串动画总流程图182.2分布具体功能实现流程图设计2.2.1字符串右移结束输完?获取图像串YY图2-2字符串右移流程图开始图像设置光标起始位置延迟1输出
4、空白覆盖字符串延迟2结束?N横坐标更新2.3提示输入字符串显示功能实现屏幕提示输入字符串主要运用中断INT21H的0A18H功能,输入后回车则完成字符串在特定位置的显示。另外,在此段程序中,还通过用空字符串的逐个显示来完成字符从无到有的功能实现。设置点阵,进行定位,设置清屏宏定义,用来定位具体位置DATASEGMENTINFO1DB0DH,0AH,'/***pleaseinput1,2,OR3:***/'DB'/****1:bird,2:car,3:exit)****/$'BUFADB200DB?DB200DUP(0
5、)BUFBDB200DUP(?)BIRDDB76H,10,0,0;小鸟的字符图形表DB0C4H,07,0,1DB76H,10,-2,2DB0C4H,07,0,1DB76H,10,-2,2DB0C4H,07,0,1DB76H,10,-2,2DB0C4H,07,0,1DB76H,10,2,-2DB0C4H,07,0,1DB76H,10,2,-2DB0C4H,07,0,1DB76H,10,2,-2DB0C4H,07,0,1CARDB7;小汽车的字符图形表DB52H,7,0,0DB0B1H,7,0,1DB0DBH,7,0,1
6、DB0DBH,7,0,1DB4FH,7,1,0DB4FH,7,0,-3DB2,7,-2,1CHAR_CNTDW?POINTERDW?LINE_ONDB?COL_ONDB?DATAENDSSTACKSEGMENTstackDB200DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKstart:movax,data18movds,axmovah,0;设置显示方式为320*200彩色图形方式moval,3int10hleadx,info1;在显示器上显示字符串提
7、示信息movah,9int21hmovah,0;从键盘读取字符到AL寄存器int16hCMPAL,31H;比较AL是否等于1JNEACALLXIAOA:CMPAL,32H;比较AL是否等于2JNEBCALLQICHEB:CMPAL,33H;比较AL是否等于3JNESTARTMOVAH,4CH;终止当前程序并返回调用程序INT21HCLEARMACROpch,pcl,pdh,pdl,pbh;清屏宏定义MOVAH,0MOVAL,3INT10HMOVAH,6;调用6号功能MOVAL,0;设置整个屏幕为空白MOVCH,pch
8、MOVCL,pcl;窗口左上角(0行,0列)MOVDH,pdhMOVDL,pdl;窗口右下角(24行,79列)MOVBH,pbh;正常属性显示INT10HENDM2.4小车移动代码如流程图可知,向右移动,程序基本相同,只不过一个改变的是传递的图像,。主要通过INT10H调用,且循环操作一定次数实现。另外,通过延时控制移动速度。程序如下:QICH