De esta forma podremos probar todas las posibilidades de la función recta, colocando en todas las posiciones y casos las rectas.
Como solo es un ejemplo, no importa el color, y como en el resto de los ejemplos imprimo siemopre en color azul.
El ejecutable podeis cargarlo directamente en Ej_linea.exe
Recordad que está en gráficos de dos y necesitais en Windows7 hace falta un emulador de DOS como el DOSBOX, para ejecutarlo.
EJ_LINEA.ASM
; Copyright (C) 2013 José Ángel Moneo Fernández ; This program is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; You should have received a copy of the GNU General Public License ; along with this program. If not, see <http://www.gnu.org/licenses/>.
include main.mac
include stdio.mac
include mouse.mac
include graphics.mac
.model compact,pascal
.stack 200
.data
x0 dw 0
y0 dw 0
x1 dw 0
y1 dw 0
color dw 1
.code
principal proc far
main
modovideo 12h ;inicia graficos
resmouse ;reinicia ratón
mouse on ; activa rarón
punto1:
getmouse ;espera ESTÉ SIN PULSAR
cmp ax,0
jne punto1
pulsar1:
getmouse ;verifica espera pulsación raton
cmp ax,2 ;salir?
jne sig1
jmp fuera
sig1:
cmp ax,1 ;boton izquierdo?
jne pulsar1
getmousex
mov x0,ax
getmousey
mov y0,ax
punto2:
getmouse ;espera soltar
cmp ax,0
jne punto2
pulsar2:
getmouse ;verifica espera pulsación raton
cmp ax,2 ;salir?
je fuera
cmp ax,1 ;boton izquierdo?
jne pulsar2
getmousex
mov x1,ax
getmousey
mov y1,ax
mouse off
line x0,y0,x1,y1,color
mouse on
jmp punto1
fuera:
modovideo t80col
resmouse
mouse off
exit 0
principal endp
end
No hay comentarios:
Publicar un comentario
Si tienes algún comentario, duda o sugerencia, o si quieres aportar algún código creado a partir de las librerías expuestas aquí, por favor, indícamelo.