功能:
1) 从磁盘文件中读入一些字母(
程序中只载入一屏306个字符)
2) 运行时,可按照屏幕显示的字母输入练习(模拟金山打字,这个实现很有挑战性哦,先拷贝过去运行下看看效果哦)
3) 输完结束或按ESC结束.结束时可显示出练习输入的时间,并显示出正确率.
说明:
该
程序主要分成(刮弧中为相应主要的函数块)
1)打字事例文件加载模块(LoadFile )注:加载文件的时候提供绝地路径,而且文件中字符不宜太少,最好多于306个。
2)打字屏幕提示及打字窗口模块(clew_char,isFullLine )注:这里是算法的集中点,注意提示功能和退格功能的实现,特别注意退格时候对字符统计的影响的处理。
3)打字时间及正误统计模块(TONGJI) 注:这里主要注意的是时间的显示和正确率的计算,试试哦自己独立实现下,很有趣的呢。
4)打字结果计算与显示模块( UseTimeAndOut,RightRata_out) 注:怎么把结果显示在屏幕上的呢,汇编中只能输出字符(串)呀,这里的技巧啊,先想想哦(整数123,虽然是一个数可在屏幕上输出''''1''''''''2''''''''3''''可不简单呢,还有带小数的(如98.34)怎么输出呀?嘿嘿想想吧,肯定是要转换的,但这算法..)
由于是很早前做的东西,当时又没有做好文档注释,现在也没时间重新拣起来.放在硬盘上删了可惜,贴出来至少对刚接触汇编又汇编感兴趣的朋友还是有所帮助的.我做些大致性的标注希望能有所帮助(一般函数名表示该函数的主要实现的功能,宏也类似).
如果代码不能运行,请和我联系:hbyufan@163.com (也可以给我发消息.)
如果代码不能运行,请和我联系:hbyufan@163.com (也可以给我发消息.)
;
程序:dazi.asm
;作者:周志明
; 说明:
程序通过masm5运行
;--------------------------------------------------------------------
;------------------------------------------
COLORCHAR MACRO char,color
push ax
push bx
push cx
push dx
mov ah,9h
mov al,char
mov bh,0
mov bl,color
mov cx,1
int 10h
mov ah,03h
mov bh,0
int 10h
mov ah,02
add dl,1
int 10h
pop dx
pop cx
pop bx
pop ax
ENDM
BACKCHAR MACRO char,color
mov ah,02h
mov dl,08h
int 21h
COLORCHAR char,color
ENDM
CLEARSCREAM MACRO alz,bhz,chz,clz,dhz,dlz
push ax
&nbs