Advertisement
SMicro

Panel_Candy

May 2nd, 2017
584
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. *-----------------------------------------------------------
  2. * Title      :
  3. * Written by :Fulgencio
  4. * Date       :
  5. * Description:  Ejemplo de presentación en modo texto (números)
  6. *               del tablero de situació del juego
  7. *               CANDY-CRUSH
  8. *-----------------------------------------------------------
  9. NUMCOL EQU 8
  10. NUMFIL EQU 6
  11.  
  12.     ORG    $1000
  13. START:    
  14.    
  15.     JSR PINTAPANEL
  16.     SIMHALT
  17.  
  18.    
  19. PINTAPANEL
  20.  
  21.     MOVEM.L D0-D3/A0-A1, -(A7)
  22.  
  23.     MOVE.L #0,D2  * D2=col
  24.     MOVE.L #0,D3  * D3=fila
  25.                   * D1 contiene el número que indica el caramelo
  26.                   * D0 como registro auxiliar para cálculo y selección de Task
  27.    
  28.     MOVE.L #PANEL,A0  *Apunta donde está almacenado el panel de juego
  29. .LOOP
  30.     MOVE.L D3,D0
  31.     LSL.L #3,D0  * multiplica por 8 la fila = MULU #8,D0
  32.     ADD.L D2,D0  * D0=fila*8+col  (8 elementos por fila)
  33.    
  34.     MOVE.B (A0,D0),D1   *D1 será el caramelo de esa posición
  35.                         *También se podría haber sumado A2+D0
  36.                         *y luego poner solo (A2)
  37.     MOVE.L #3,D0
  38.     TRAP #15        *escribe el caramelo en directamente en modo
  39.                     *número (TASK 3). También se podría comparar
  40.                     *con las distintos valores posibles y dibujarlos
  41.                     *gráficamente o con otros símbolos. También se
  42.                     *puede jugar con los colores
  43.      
  44.      ADD.L #1,D2         *Columna siguiente
  45.      CMP.L #NUMCOL,D2    *¿Fin de fila?
  46.      BNE .LOOP
  47.      
  48.      MOVE.L #14,D0
  49.      MOVE.L #CRLF,A1
  50.      TRAP #15            *Salto siguiente línea
  51.      
  52.      CLR.L D2           *Vuelta a columna 0
  53.      ADD.L #1,D3        *Siguiente fila
  54.      CMP.L #NUMFIL,D3   *¿ultima fila?
  55.      BNE .LOOP
  56.  
  57.      MOVEM.L (A7)+,D0-D3/A0-A1
  58.      RTS
  59.  
  60. * Put variables and constants here
  61.  
  62.       ORG $5000  *Variables a partir de $5000
  63.  
  64. PANEL DC.B 2,2,2,5,2,1,1,3
  65.       DC.B 1,2,3,4,5,2,1,2
  66.       DC.B 4,3,1,2,3,1,4,4
  67.       DC.B 2,1,4,5,1,4,4,3
  68.       DC.B 3,5,3,3,1,3,3,2
  69.       DC.B 1,2,2,3,1,3,1,1
  70.      
  71. CRLF  DC.B 10,13,0
  72.  
  73.     END    START        ; last line of source
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement