小球碰壁

2026/1/15 11:55:54

mov cx,_f_posx clean_down_line:

mov ah,0ch ;int10的画点的功能参数 mov bh,0 ;指定页码为0 int 10h ;调用功能画点 inc cx ;cx自增1 cmp cx,202 ; jle clean_down_line;

;;;;;;;;;;;;;;;;;画left_line;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;mov al,0 ;放入颜色值 mov dx,_f_posy ;指定像素的行数 mov cx,_f_posx ;指定像素所在的列数 clean_left_line:

mov ah,0ch ;int10的画点的功能参数 mov bh,0 ;指定页码为0 int 10h ;调用功能画点 inc dx ;dx自增1

cmp dx,_f_height ;_f_height =150px jle clean_left_line;

;;;;;;;;;;;;;;;;;画right_line;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

mov dx,_f_posy mov cx,202 clean_right_line:

mov ah,0ch ;int10的画点的功能参数 mov bh,0 ;指定页码为0 int 10h ;调用功能画点 inc dx ;dx自增1 cmp dx,_f_height ; jle clean_right_line;

;;;;;;;恢复数据 pop dx pop cx pop bx pop ax ret

clean_frame endp

;************************************************************************************

;*画小球的子程序,用cx,dx传入小球,圆心的坐标是(cx,dx) * ;************************************************************************************

draw_ball proc near

push ax push di push si push dx push cx push bx mov R,4 mov X,cx mov Y,dx mov si,R mov di,R sub di,R

mov al,_f_border_color

LOP0: cmp si,di je lp3 MOV DX,0

LOP: ;bresenham algorithm

PUSH DX

CALL YYY;calculate the ordinate

MOV bX,X

SUB bX,YY

MOV X1,bX ;X-y

MOV bX,X

SUB bX,DX

MOV X2,bX ;X-x

MOV bX,X

ADD bX,DX

MOV X3,bX ;X+x

MOV bX,X

ADD bX,YY

MOV X4,bX ;X+y

MOV bX,Y

SUB bX,YY

MOV Y1,bX ;Y-y

MOV bX,Y

SUB bX,DX

MOV Y2,bX ;Y-x

MOV bX,Y

ADD bX,DX

MOV Y3,bX ;Y+x

MOV bX,Y

ADD bX,YY ;Y+y

MOV Y4,bX

mov ah,0ch mov bh,0 MOV CX,X1 MOV DX,Y2 INT 10H

MOV DX,Y3 INT 10H

MOV CX,X2 MOV DX,Y1 INT 10H MOV DX,Y4 INT 10H

MOV CX,X3 MOV DX,Y1 INT 10H MOV DX,Y4 INT 10H

MOV CX,X4 MOV DX,Y2 INT 10H MOV DX,Y3 INT 10H POP DX


小球碰壁.doc 将本文的Word文档下载到电脑
搜索更多关于: 小球碰壁 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219