Advertisement
SMicro

PINTA LABERINTO (GRAFICO)

Apr 26th, 2018
1,326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. *-----------------------------------------------------------
  2. * Title      : PINTA LABERINTO
  3. * Written by : FULGENCIO
  4. * Date       : ABRIL 2018
  5. * Description: Laberinto en modo GRÁFICO a partir de un MAPA
  6. *-----------------------------------------------------------
  7.  
  8. WHITE EQU $FFFFFF
  9. BLACK EQU $000000
  10.  
  11.     ORG    $1000
  12. START:                 ; first instruction of program
  13.  
  14.     MOVE.L #81,D0
  15.     MOVE.L #WHITE,D1    *Relleno blanco
  16.     TRAP #15
  17.    
  18.     MOVE.L #89,D0       *Rellena toda la pantalla
  19.     MOVE.L #0,D1        *Desde el punto 0,0
  20.     MOVE.L #0,D2
  21.     TRAP #15
  22.    
  23.     MOVE.L #81,D0
  24.     MOVE.L #BLACK,D1    *Relleno blanco
  25.     TRAP #15
  26.      
  27.     CLR.L D1            *Inicializamos coordenadas en 0,0
  28.     CLR.L D2  
  29.    
  30.     MOVE.L #MAPA,A3
  31. BUCLE  
  32.     MOVE.B (A3)+,D0     *Tomamos valor del mapa del laberinto
  33.     CMP.B #2,D0
  34.     BEQ OTRALINEA
  35.     CMP.B #0,D0
  36.     BEQ NOPINTA
  37.     JSR CUADRO20
  38. NOPINTA
  39.    ADD.L #20,D1    *Avanza coordenada X
  40.     JMP BUCLE
  41. OTRALINEA  
  42.     CLR.L D1        *Reinicia coordenada X
  43.     ADD.L #20,D2    *Avanza coordenada Y
  44.     CMP.L #140,D2   *Equivale a 7 líneas (7x20)
  45.     BNE BUCLE
  46.    
  47.     SIMHALT
  48.  
  49. CUADRO20             *Dibuja un cuadrito de 20x20 en coordenadas D1,D2
  50.     MOVE.L #87,D0
  51.     MOVE.L D1,D3
  52.     MOVE.L D2,D4
  53.     ADD.L #20,D3      *D3 es la coordenada X de la otra esquina
  54.     ADD.L #20,D4      *D4 es la coordenada Y de la otra esquina
  55.     TRAP #15
  56.     RTS
  57.  
  58. * Put program code here
  59.  
  60.     SIMHALT             ; halt simulator
  61.  
  62. * Put variables and constants here
  63.  
  64. MAPA   DC.B 1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,2
  65.         DC.B 1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,2
  66.         DC.B 1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,0,1,0,1,0,1,2
  67.         DC.B 1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,2
  68.         DC.B 1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1,2
  69.         DC.B 1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,2
  70.         DC.B 1,1,1,1,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,1,1,2
  71.  
  72.     END    START        ; last line of source
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement