Yosh

Arkanoid

Jul 19th, 2012
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [bits 16]
  2. [org 100h]
  3.  
  4. [segment .text]
  5. start:
  6. mov ax,13h ; mode 13h
  7. int 10h
  8. mov ax,0a000h ; adresse video
  9. mov es,ax ; adresse video dans segment es
  10.     call affiche_fond ; affichage du fond avec les vies
  11.     ; call affiche_briquesL1 ; affichage du tableau des briques
  12.     boucle:
  13.     push word 6
  14.     call printLvl
  15.     call affiche_raquette ; affichage de la raquette
  16.     call affiche_balle   ; affichage de la balle
  17.     call deplace_balle  ; déplacer la balle
  18.     call affiche_score
  19.            
  20.            ; ------- gestion du clavier ----------
  21.             mov ah, 1
  22.             int 16h
  23.             jnz keyIn
  24.            ; -------------------------------------
  25.            jmp boucle
  26.  
  27. ; déplacement de la raquette à droite
  28. droite:
  29.      ; A compléter
  30.     add word [xr], 3
  31.     cmp word [xr], 187
  32.     jl boucle
  33.     sub word [xr], 3
  34.     jmp boucle
  35.  
  36. ; déplacement de la raquette à gauche
  37. gauche:
  38.      ; A compléter
  39.     sub word [xr], 3
  40.     cmp word [xr], 38
  41.     jg boucle
  42.     add word [xr], 3
  43.     jmp boucle
  44.  
  45. fin:
  46. mov ax, 3h      ; retour mode console
  47. int 10h
  48. mov ax,04c00h   ; rends la main au DOS
  49. int 21h
  50.  
  51. affiche_sprite: ;routine d'affichage d'un sprite
  52.     push ax
  53.     push bx
  54.     push cx
  55.     push dx
  56.     push di
  57.    
  58.     mov bx,[add_sprite]
  59.     mov ax,[y]
  60.     mov cx,320
  61.     mul cx
  62.     mov dx,[x]
  63.     add dx,ax
  64.     mov di,dx
  65.     mov cx,[h]
  66.     ligne:
  67.     push cx
  68.     mov cx,[l]
  69.         col:
  70.             mov al,[bx]
  71.             stosb ;equivalent à mov [es:di],al
  72.             inc bx
  73.         loop col
  74.         sub di,[l]
  75.         add di,320
  76.     pop cx
  77.     loop ligne
  78.    
  79.     pop di
  80.     pop dx
  81.     pop cx
  82.     pop bx
  83.     pop ax
  84. ret
  85.  
  86. affiche_raquette:
  87.      ; A compléter
  88.      push ax
  89.      mov word [add_sprite], raquette
  90.      mov word [l], 31
  91.      mov word [h], 8
  92.      mov ax, [xr]
  93.      mov [x], ax
  94.      mov word [y], 175
  95.      call affiche_sprite
  96.      pop ax
  97. ret
  98.  
  99. affiche_balle:
  100.      ; A compléter
  101.      mov word [add_sprite], balle
  102.      mov word [l], 7
  103.      mov word [h], 7
  104.      mov ax, [xb]
  105.      mov word [x], ax
  106.      mov ax, [yb]
  107.      mov word [y], ax
  108.      call affiche_sprite
  109.    
  110. ret
  111.  
  112. deplace_balle:
  113.      ; A compléter
  114.      
  115.      mov al, [waitKey]
  116.      test al, al
  117.      jz dplBallContinue
  118.      
  119.      mov ax, [xr]
  120.      add ax, 2
  121.      mov bx, 169
  122.      mov word [xb], ax
  123.      mov word [yb], bx
  124.      
  125.      jmp endDplBalle
  126.      
  127.      
  128.      dplBallContinue:
  129.      xor ah, ah                 ; gestion temporisation déplacement
  130.      int 1Ah
  131.      mov ax, [top_balle]
  132.      cmp dx, ax
  133.      jb endDplBalle
  134.      add dx, 1
  135.      mov [top_balle], dx
  136.      
  137.      mov ax, [sensxb]
  138.      dec word [xb]
  139.      test ax, ax
  140.      jz dplBallY
  141.      add word [xb], 2
  142.      
  143.      dplBallY:
  144.      mov ax, [sensyb]
  145.      inc word [yb]
  146.      test ax, ax
  147.      jz checkBallLimits
  148.      sub word [yb], 2
  149.      
  150.      checkBallLimits:
  151.         mov ax, [xb]
  152.         cmp ax, 209
  153.         jb checkXBallMin
  154.         mov word [sensxb], 0
  155.        
  156.         checkXBallMin:
  157.         mov ax, [xb]
  158.         cmp ax, 40
  159.         ja checkYBallMin
  160.         mov word [sensxb], 1
  161.        
  162.         checkYBallMin:
  163.         mov ax, [yb]
  164.         cmp ax, 8
  165.         ja checkYBallMax
  166.         mov word [sensyb], 0
  167.        
  168.         checkYBallMax:
  169.         mov ax, [yb]
  170.         cmp ax, 184
  171.         jb checkBatColliReal
  172.         mov word [yb], 184
  173.        
  174.     checkBatColliReal:
  175.         mov ax, [yb]
  176.         cmp ax, 168
  177.         jb endDplBalle
  178.        
  179.         mov ax, [xb]
  180.         mov bx, [xr]
  181.         cmp ax, bx
  182.         jb checkBatColliLeft
  183.         jmp checkBatColliRight
  184.        
  185.         checkBatColliLeft:
  186.         add ax, 4
  187.         cmp ax, bx
  188.         jbe looseProcess
  189.         jmp BallColliBat
  190.        
  191.         checkBatColliRight:
  192.         add bx, 28
  193.         cmp ax, bx
  194.         jae looseProcess
  195.        
  196.         BallColliBat:
  197.         mov word [sensyb], 1
  198.         add word [score], 10
  199.         jmp endDplBalle
  200.        
  201.      endDplBalle:
  202. ret
  203.  
  204. looseProcess:
  205.      mov word [add_sprite], balle_masque
  206.      mov word [l], 7
  207.      mov word [h], 7
  208.      mov ax, [xb]
  209.      mov bx, [yb]
  210.      mov [x], ax
  211.      mov [y], bx
  212.      call affiche_sprite
  213.      
  214.      mov word [xb], 112
  215.      mov word [yb], 169
  216.      mov word [sensxb], 1
  217.      mov word [sensyb], 1
  218.      dec byte [nb_vies]
  219.      mov al, [nb_vies]
  220.      cmp al, 2
  221.      jne looseProcess2
  222.      call efface_vie2
  223.      
  224.      looseProcess2:
  225.      cmp al, 1
  226.      jne looseProcess3
  227.      call efface_vie1
  228.      
  229.      looseProcess3:
  230.      test al, al
  231.      jz gameOverProcess
  232.      
  233.      mov ax, [xr]
  234.      add ax, 2
  235.      mov bx, 169
  236.      mov word [xb], ax
  237.      mov word [yb], bx
  238.      mov byte [waitKey], 1
  239.      
  240.      jmp boucle
  241.      
  242.      
  243. gameOverProcess:
  244.      mov word [add_sprite], gameover_texte
  245.      mov word [l], 78
  246.      mov word [h], 6
  247.      mov word [x], 90
  248.      mov word [y], 150
  249.      call affiche_sprite
  250.      call efface_raq
  251.      xor ax, ax
  252.      int 16h
  253.      jmp fin
  254.      
  255.    
  256. affiche_score:
  257.      ; A compléter
  258.      mov word [add_sprite], score_texte
  259.      mov word [l], 39
  260.      mov word [h], 8
  261.      mov word [x], 245
  262.      mov word [y], 52
  263.      call affiche_sprite
  264.      
  265.      mov word [x], 281
  266.      mov word [y], 63
  267.      mov cx, 6
  268.      mov ax, [score]
  269.      mov bx, 10
  270.      scoreDigit:
  271.         xor dx, dx
  272.         div bx
  273.         push ax
  274.         mov ax, zero
  275.         test dx, dx
  276.         jz afficheChiffre
  277.         mov ax, un
  278.         cmp dx, 1
  279.         je afficheChiffre
  280.         mov ax, deux
  281.         cmp dx, 2
  282.         je afficheChiffre
  283.         mov ax, trois
  284.         cmp dx, 3
  285.         je afficheChiffre
  286.         mov ax, quatre
  287.         cmp dx, 4
  288.         je afficheChiffre
  289.         mov ax, cinq
  290.         cmp dx, 5
  291.         je afficheChiffre
  292.         mov ax, six
  293.         cmp dx, 6
  294.         je afficheChiffre
  295.         mov ax, sept
  296.         cmp dx, 7
  297.         je afficheChiffre
  298.         mov ax, huit
  299.         cmp dx, 8
  300.         je afficheChiffre
  301.         mov ax, neuf
  302.         cmp dx, 9
  303.         je afficheChiffre
  304.        
  305.         afficheChiffre:
  306.             mov word [add_sprite], ax
  307.             mov word [l], 6
  308.             mov word [h], 6
  309.             call affiche_sprite
  310.             sub word [x], 8
  311.             pop ax
  312.             loop scoreDigit
  313.        
  314. ret
  315.  
  316. affiche_briquesL1: ; affichage des briques du niveau 1
  317.      ; A compléter
  318. ret
  319.  
  320. affiche_fond:
  321.      ; A compléter
  322.      push word 32
  323.      call wallStruct
  324.      push word 216
  325.      call wallStruct
  326.      mov word [add_sprite], mur3
  327.      mov word [l], 6
  328.      mov word [h], 7
  329.      mov word [x], 33
  330.      mov word [y], 1
  331.      call affiche_sprite
  332.      mov word [add_sprite], mur5
  333.      mov word [l], 41
  334.      mov word [h], 6
  335.      mov word [x], 39
  336.      mov word [y], 1
  337.      call affiche_sprite
  338.      mov word [add_sprite], mur7
  339.      mov word [l], 25
  340.      mov word [h], 8
  341.      mov word [x], 80
  342.      mov word [y], 0
  343.      call affiche_sprite
  344.      mov word [add_sprite], mur6
  345.      mov word [l], 47
  346.      mov word [h], 6
  347.      mov word [x], 105
  348.      mov word [y], 1
  349.      call affiche_sprite
  350.      mov word [add_sprite], mur7
  351.      mov word [l], 25
  352.      mov word [h], 8
  353.      mov word [x], 152
  354.      mov word [y], 0
  355.      call affiche_sprite
  356.      mov word [add_sprite], mur6
  357.      mov word [l], 47
  358.      mov word [h], 6
  359.      mov word [x], 177
  360.      mov word [y], 1
  361.      call affiche_sprite
  362.      mov word [add_sprite], mur4
  363.      mov word [l], 7
  364.      mov word [h], 7
  365.      mov word [x], 217
  366.      mov word [y], 1
  367.      call affiche_sprite
  368.      mov word [add_sprite], vie
  369.      mov word [l], 12
  370.      mov word [h], 3
  371.      mov word [x], 48
  372.      mov word [y], 193
  373.      call affiche_sprite
  374.      mov word [add_sprite], vie
  375.      mov word [l], 12
  376.      mov word [h], 3
  377.      mov word [x], 63
  378.      mov word [y], 193
  379.      call affiche_sprite
  380.      
  381.      mov word [add_sprite], titre
  382.      mov word [l], 63
  383.      mov word [h], 14
  384.      mov word [x], 236
  385.      mov word [y], 20
  386.      call affiche_sprite
  387.      mov word [add_sprite], round
  388.      mov word [l], 39
  389.      mov word [h], 8
  390.      mov word [x], 244
  391.      mov word [y], 115
  392.      call affiche_sprite
  393.      
  394. ret
  395.  
  396. wallStruct:
  397.     pop ax
  398.     pop word [x]
  399.     push ax
  400.     mov cx, 4
  401.     mov word [y], 174
  402.    
  403.     wallBlock:
  404.         push cx
  405.         inc word [x]
  406.         mov word [add_sprite], mur1
  407.         mov word [l], 6
  408.         mov word [h], 22
  409.         call affiche_sprite
  410.         dec word [x]
  411.         sub word [y], 24
  412.         mov word [add_sprite], mur2
  413.         mov word [l], 8
  414.         mov word [h], 23
  415.         call affiche_sprite
  416.         sub word [y], 23
  417.         pop cx
  418.        
  419.         loop wallBlock
  420.    
  421.     ret
  422.    
  423.  
  424. efface_vie1:
  425.      ; A compléter
  426.     push ax
  427.     push bx
  428.     push di
  429.     push cx
  430.    
  431.     mov ax, 193
  432.     mov bx, 320
  433.     mul bx
  434.     add ax, 48
  435.     mov di, ax
  436.     mov al, 0       ; black color to erase
  437.     mov cx, 3
  438.     effaceVie1col:
  439.         push cx
  440.         mov cx, 12
  441.         effaceVie1line:
  442.             stosb
  443.             loop effaceVie1line
  444.         pop cx
  445.         add di, 308
  446.         loop effaceVie1col
  447.     pop cx
  448.     pop di
  449.     pop bx
  450.     pop ax
  451. ret
  452.  
  453. efface_vie2:
  454.      ; A compléter
  455.     push ax
  456.     push bx
  457.    
  458.     mov ax, 193
  459.     mov bx, 320
  460.     mul bx
  461.     add ax, 63
  462.     mov di, ax
  463.     mov al, 0       ; black color to erase
  464.     mov cx, 3
  465.     effaceVie2col:
  466.         push cx
  467.         mov cx, 12
  468.         effaceVie2line:
  469.             stosb
  470.             loop effaceVie2line
  471.         pop cx
  472.         add di, 308
  473.         loop effaceVie2col
  474.     pop bx
  475.     pop ax
  476. ret
  477.  
  478. efface_raq:
  479.      ; A compléter
  480.     push ax
  481.     push bx
  482.    
  483.     mov ax, 175
  484.     mov bx, 320
  485.     mul bx
  486.     add ax, [xr]
  487.     mov di, ax
  488.     mov al, 0       ; black color to erase
  489.     mov cx, 8
  490.     efface_raq2col:
  491.         push cx
  492.         mov cx, 31
  493.         efface_raq2line:
  494.             stosb
  495.             loop efface_raq2line
  496.         pop cx
  497.         add di, 289
  498.         loop efface_raq2col
  499.     pop bx
  500.     pop ax
  501. ret
  502.  
  503. gameover:
  504.   ; A compléter
  505. ret
  506.  
  507.  
  508. keyIn:
  509.     mov byte [waitKey], 0
  510.     xor ax, ax
  511.     int 16h
  512.     cmp ah, 4Bh
  513.     je gauche
  514.     cmp ah, 4Dh
  515.     je droite
  516.     cmp ah, 1h
  517.     je fin
  518. jmp boucle
  519.  
  520.  
  521. printLvl:
  522.     pop bx
  523.     pop cx  ;   1 param : Height
  524.     push bx
  525.    
  526.     push cx
  527.    
  528.     printLvlHeight:
  529.         mov si, sp
  530.         mov ax, [si]    ; get height
  531.         sub ax, cx
  532.         mov bx, 8
  533.         mul bx
  534.         add ax, [ytab]
  535.         mov [y], ax
  536.        
  537.         push cx
  538.         mov cx, 11
  539.        
  540.         printLvlWidth:
  541.             mov ax, 16
  542.             mov bx, 11
  543.             sub bx, cx
  544.             mul bx
  545.             add ax, [xtab]
  546.            
  547.             mov si, sp
  548.             mov dx, [si]    ; get cur height index
  549.             mov bx, [si+2]  ; get height
  550.             sub bx, dx
  551.             push bx
  552.             push ax
  553.             pop bx
  554.             pop ax
  555.             mov dx, 11
  556.             mul dx
  557.             mov dx, 11
  558.             sub dx, cx
  559.             add ax, dx
  560.             mov [x], bx
  561.            
  562.             mov dx, tabNiv1
  563.             add dx, ax
  564.             mov si, dx
  565.             mov al, [si]
  566.             jmp printLvlNoJmploopMiddle
  567.            
  568.             printLvlHeightJmploopMiddle:
  569.             jmp printLvlHeight
  570.            
  571.             printLvlWidthJmploopMiddle:
  572.             jmp printLvlWidth
  573.            
  574.             printLvlNoJmploopMiddle:
  575.             mov dx, briqueGrise
  576.             cmp al, 7
  577.             je printLvlBlock
  578.            
  579.             mov dx, briqueRouge
  580.             cmp al, 4
  581.             je printLvlBlock
  582.            
  583.             mov dx, briqueJaune1
  584.             cmp al, 14
  585.             je printLvlBlock
  586.            
  587.             mov dx, briqueBleue
  588.             cmp al, 9
  589.             je printLvlBlock
  590.            
  591.             mov dx, briqueRose
  592.             cmp al, 13
  593.             je printLvlBlock
  594.            
  595.             mov dx, briqueVerte
  596.             cmp al, 10
  597.             je printLvlBlock
  598.            
  599.             mov dx, briqueNoire
  600.             test al, al
  601.             jz printLvlBlock
  602.            
  603.             mov dx, briqueBlanche
  604.             cmp al, 15
  605.             je printLvlBlock
  606.            
  607.             ;   if reached, invalid color block
  608.            
  609.            
  610.             printLvlBlock:
  611.             mov word [add_sprite], dx
  612.             mov word [l], 15
  613.             mov word [h], 7
  614.             call affiche_sprite
  615.            
  616.             loop printLvlWidthJmploopMiddle
  617.         pop cx
  618.         loop printLvlHeightJmploopMiddle
  619.  
  620.    
  621.     add sp, 2
  622.    
  623. ret
  624.  
  625.  
  626. [segment .data]
  627. ;ensemble des variables
  628. score dw 0xFFF6 ;score max=65536 - 1
  629. highScore dw 0 ;score max=65536 - 1
  630. xc dw 283 ; position x du score
  631. nb_vies db 3 ;nb de vies
  632. lb dw 17 ;largeur brique+1
  633. hb dw 8 ; hauteur brique+1
  634. ltab dw 11 ;largeur du tableau
  635. randomize db 0 ;tirage aléatoire pour décaler d'un pixel la balle
  636. couleur db 0
  637. add_sprite dw 0 ;adresse d'un sprite à afficher
  638. xr dw 110 ;position x de la raquette
  639. xb dw 112 ;position x de la balle
  640. yb dw 169 ;position y de la balle
  641. sensyb dw 1;sens deplacement balle
  642. sensxb dw 1;sens deplacement balle
  643. x dw 0 ;parametre x de la routine d'affichage de sprite
  644. y dw 0 ;parametre y de la routine d'affichage de sprite
  645. h dw 0 ;hauteur du sprite à afficher dans la routine d'affichage
  646. l dw 0 ;largeur du sprite à afficher dans la routine d'affichage
  647. h_tabNiv1 dw 6 ;nb de briques vertical niv 1
  648. l_tabNiv1 dw 11 ;nb de briques horizontal niv 1
  649. nb_briques dw 0 ;nb de brique du niveau en cours
  650. xtab dw 41 ;x du tableau de briques
  651. ytab dw 33 ;y du tableau de briques
  652. v_balle_cpt dw 40 ;compteur pour la vitesse de la balle
  653. v_balle dw 40 ;vitesse de la balle
  654. qx dw 0 ;quotient en x pour déterminer l'abscisse de la brique touchée
  655. qy dw 0 ;quotient en y pour déterminer l'abscisse de la brique touchée
  656. top_balle dw 0
  657. waitKey db 0
  658.  
  659. raquette db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  660.          db 00,00,00,00,00,04,04,00,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,00,04,04,00,00,00,00,00         
  661.          db 00,00,00,00,04,12,12,00,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,00,12,12,04,00,00,00,00
  662.          db 00,00,00,09,12,04,04,00,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,00,04,04,04,09,00,00,00
  663.          db 00,00,00,09,04,04,04,00,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,00,04,04,04,09,00,00,00
  664.          db 00,00,00,00,04,04,04,00,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,00,04,04,04,00,00,00,00
  665.          db 00,00,00,00,00,04,04,00,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,00,04,04,00,00,00,00,00
  666.          db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  667.  
  668. balle db 00,00,00,00,00,00,00
  669.       db 00,00,07,07,07,00,00
  670.       db 00,07,15,15,07,08,00
  671.       db 00,07,15,07,07,08,00
  672.       db 00,07,07,07,08,08,00
  673.       db 00,00,08,08,08,00,00
  674.       db 00,00,00,00,00,00,00
  675.  
  676. balle_masque db 00,00,00,00,00,00,00
  677.              db 00,00,00,00,00,00,00
  678.              db 00,00,00,00,00,00,00
  679.              db 00,00,00,00,00,00,00
  680.              db 00,00,00,00,00,00,00
  681.              db 00,00,00,00,00,00,00
  682.              db 00,00,00,00,00,00,00
  683.      
  684.      
  685. mur1 db 07,15,07,08,08,08
  686.      db 07,15,07,08,08,07
  687.      db 07,15,07,08,08,07
  688.      db 07,15,07,08,08,07
  689.      db 07,15,07,08,08,07
  690.      db 07,15,07,08,08,07
  691.      db 07,15,07,08,08,07
  692.      db 07,15,07,08,08,07
  693.      db 07,15,07,08,08,07
  694.      db 07,15,07,08,08,07
  695.      db 07,15,07,08,08,07
  696.      db 07,15,07,08,08,07
  697.      db 07,15,07,08,08,07
  698.      db 07,15,07,08,08,07
  699.      db 07,15,07,08,08,07
  700.      db 07,15,07,08,08,07
  701.      db 07,15,07,08,08,07
  702.      db 07,15,07,08,08,07
  703.      db 07,15,07,08,08,07
  704.      db 07,15,07,08,08,07
  705.      db 07,15,07,08,08,07
  706.      db 07,15,07,08,08,07
  707.      db 07,15,07,08,08,07
  708.  
  709. mur2 db 00,07,15,07,08,07,07,00
  710.      db 07,15,15,07,08,08,07,07
  711.      db 07,15,15,07,08,08,07,07
  712.      db 07,15,15,07,08,08,07,07
  713.      db 07,15,15,07,08,08,07,07
  714.      db 07,15,15,07,08,08,07,07
  715.      db 07,15,15,07,08,08,07,07
  716.      db 07,15,15,07,08,08,07,07
  717.      db 00,08,00,08,00,00,08,00
  718.      db 07,15,15,07,08,08,07,07
  719.      db 00,08,00,08,00,00,08,00
  720.      db 07,15,15,07,08,08,07,07
  721.      db 00,08,00,08,00,00,08,00
  722.      db 07,15,15,07,08,08,07,07
  723.      db 00,08,00,08,00,00,08,00
  724.      db 07,15,15,07,08,08,07,07
  725.      db 07,15,15,07,08,08,07,07
  726.      db 07,15,15,07,08,08,07,07
  727.      db 07,15,15,07,08,08,07,07
  728.      db 07,15,15,07,08,08,07,07
  729.      db 07,15,15,07,08,08,07,07
  730.      db 07,15,15,07,08,08,07,07
  731.      db 00,07,15,07,08,08,08,00
  732.  
  733. mur3 db 00,00,07,07,07,07
  734.      db 00,07,07,15,15,15
  735.      db 07,07,07,07,07,07
  736.      db 07,15,07,07,07,07
  737.      db 07,15,07,07,07,08
  738.      db 07,15,07,07,07,08
  739.      db 07,15,15,07,07,08
  740.  
  741. mur4 db 07,07,07,07,00,00,00
  742.      db 15,15,15,15,07,00,00
  743.      db 07,07,07,07,15,07,00
  744.      db 08,08,08,08,07,07,00
  745.      db 08,08,07,08,08,07,00
  746.      db 08,07,07,08,08,07,00
  747.      db 07,15,07,07,08,07,00
  748.  
  749. mur5 db 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  750.      db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  751.      db 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  752.      db 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  753.      db 08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08
  754.      db 08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08
  755.  
  756. mur6 db 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  757.      db 07,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  758.      db 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  759.      db 08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08
  760.      db 08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08
  761.      db 08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08,08
  762.  
  763. mur7 db 00,00,07,07,07,07,07,07,07,00,07,00,07,00,07,00,07,07,07,07,07,07,07,00,00
  764.      db 00,07,15,15,15,15,15,15,15,08,15,08,15,08,15,08,15,15,15,15,15,15,15,07,00
  765.      db 00,15,15,15,15,15,15,15,15,00,15,00,15,00,15,00,15,15,15,15,15,15,15,15,00
  766.      db 00,07,07,07,07,07,07,07,07,08,07,08,07,08,07,08,07,07,07,07,07,07,07,07,00
  767.      db 00,07,08,08,08,08,08,08,08,00,08,00,08,00,08,00,08,08,08,08,08,08,08,08,00
  768.      db 00,07,07,08,08,08,08,08,08,00,08,00,08,00,08,00,08,08,08,08,08,08,08,08,00
  769.      db 00,07,07,07,07,07,07,07,07,08,07,08,07,08,07,08,07,07,07,07,07,07,08,08,00
  770.      db 00,00,07,07,07,07,07,07,07,00,07,00,07,00,07,00,07,07,07,07,07,07,07,00,00
  771.  
  772. vie db 00,04,07,07,07,07,07,07,07,15,04,00
  773.     db 09,04,07,07,07,07,07,07,07,07,04,09
  774.     db 00,04,08,08,08,08,08,08,08,08,04,00
  775.  
  776. viemasque db 00,00,00,00,00,00,00,00,00,00,00,00
  777.           db 00,00,00,00,00,00,00,00,00,00,00,00
  778.           db 00,00,00,00,00,00,00,00,00,00,00,00
  779.  
  780. titre db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,00,00,00,00
  781.       db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,12,15,00,00,00
  782.       db 00,00,00,00,00,00,00,00,15,00,00,00,00,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,00,00,00,00,00,00,00,00,00,15,15,15,15,15,00,00,15,15,15,15,15,15,12,12,12,15,00,00
  783.       db 00,00,00,00,00,00,00,15,15,15,15,15,15,12,15,00,00,15,15,15,15,00,00,15,00,00,00,00,00,00,00,00,15,15,12,15,00,00,15,15,15,15,00,15,12,12,12,12,12,15,00,15,12,12,15,12,12,15,12,12,12,15,00
  784.       db 00,00,00,00,00,00,15,12,15,12,12,15,12,12,12,15,00,15,12,12,15,00,15,12,15,00,00,00,00,00,00,15,12,15,12,12,15,00,15,12,12,15,15,12,12,12,12,12,12,12,15,15,04,04,15,04,04,15,15,04,04,04,15
  785.       db 00,00,00,00,00,15,04,04,15,04,04,15,15,04,04,04,15,15,04,04,15,15,04,04,04,15,00,00,00,00,15,04,04,15,04,04,04,15,15,04,04,15,04,04,04,15,15,15,04,04,04,15,04,04,15,04,04,15,04,04,04,15,00
  786.       db 00,00,00,00,15,04,04,04,15,04,04,15,04,04,04,15,00,15,04,04,15,04,04,04,15,00,00,00,00,15,04,04,04,15,04,04,04,04,15,04,04,15,04,04,15,00,00,00,15,04,04,15,04,04,15,04,04,04,04,04,15,00,00
  787.       db 00,00,00,15,01,01,01,01,15,01,01,01,01,01,15,00,00,15,01,01,01,01,01,15,00,00,00,00,15,01,01,01,01,15,01,01,01,01,01,01,01,15,01,01,15,00,00,00,15,01,01,15,01,01,15,01,01,01,01,15,00,00,00
  788.       db 00,00,15,01,01,01,01,01,15,01,01,01,01,15,00,00,00,15,01,01,01,01,15,00,00,00,00,15,01,01,01,01,01,15,01,01,01,01,01,01,01,15,01,01,15,00,00,00,15,01,01,15,01,01,15,01,01,01,15,00,00,00,00
  789.       db 00,15,01,01,01,15,01,01,15,01,01,01,01,01,15,00,00,15,01,01,01,01,01,15,00,00,15,01,01,01,15,01,01,15,01,01,15,01,01,01,01,15,01,01,01,15,15,15,01,01,01,15,01,01,15,01,01,15,00,00,00,00,00
  790.       db 15,00,00,00,15,15,00,00,15,00,00,15,00,00,00,15,00,15,00,00,15,00,00,00,15,15,00,00,00,15,15,00,00,15,00,00,15,15,00,00,00,15,15,00,00,00,00,00,00,00,15,15,00,15,15,00,15,00,00,00,00,00,00
  791.       db 00,15,00,00,00,15,00,00,15,00,15,00,15,00,00,00,15,15,00,15,00,15,00,00,00,15,15,00,00,00,15,00,00,15,00,00,15,00,15,00,15,00,00,15,00,00,00,00,00,15,00,15,15,00,15,15,00,00,00,00,00,00,00
  792.       db 00,00,15,00,15,15,15,15,15,15,00,00,00,15,00,15,00,15,15,00,00,00,15,00,15,00,00,15,00,15,15,15,15,15,15,15,15,00,00,15,00,00,00,00,15,15,15,15,15,00,00,15,00,00,15,00,00,00,00,00,00,00,00
  793.       db 00,00,00,15,00,00,00,00,15,00,00,00,00,00,15,00,00,15,00,00,00,00,00,15,00,00,00,00,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  794.  
  795. score_texte db 00,07,07,07,07,00,00,00,00,00,07,07,07,07,00,00,00,00,07,07,07,00,00,00,07,07,07,07,07,07,00,00,07,07,07,07,07,07,07
  796.             db 07,09,09,09,09,07,00,00,00,07,09,09,09,09,07,00,00,07,09,09,09,07,00,00,09,09,09,09,09,09,07,00,09,09,09,09,09,09,09
  797.             db 09,09,07,00,09,09,00,00,07,09,09,00,00,09,09,00,07,09,09,00,09,09,07,00,00,09,09,00,00,09,09,00,00,09,09,00,07,00,09
  798.             db 09,09,09,07,00,00,00,00,09,09,00,00,00,00,00,00,09,09,00,00,00,09,09,00,00,09,09,07,07,09,09,00,00,09,09,07,09,00,00
  799.             db 00,09,09,09,07,07,00,00,09,09,00,00,00,00,00,00,09,09,00,00,00,09,09,00,00,09,09,09,09,09,00,00,00,09,09,09,09,00,00
  800.             db 07,07,00,09,09,09,00,00,09,09,07,00,00,07,07,00,09,09,07,00,07,09,09,00,00,09,09,00,09,09,07,00,00,09,09,00,09,00,07
  801.             db 09,09,07,07,09,09,00,00,00,09,09,07,07,09,09,00,00,09,09,07,09,09,00,00,07,09,09,00,00,09,09,00,07,09,09,07,07,07,09
  802.             db 00,09,09,09,09,00,00,00,00,00,09,09,09,09,00,00,00,00,09,09,09,00,00,00,09,09,09,00,00,09,09,00,09,09,09,09,09,09,09
  803.  
  804. round db 07,07,07,07,07,07,00,00,00,00,07,07,07,00,00,00,07,07,00,00,07,07,00,00,07,07,00,00,00,07,07,00,07,07,07,07,07,00,00    
  805.       db 13,13,13,13,13,13,07,00,00,07,13,13,13,07,00,00,13,13,00,00,13,13,00,00,13,13,07,00,00,13,13,00,13,13,13,13,13,07,00
  806.       db 00,13,13,00,00,13,13,00,07,13,13,00,13,13,07,00,13,13,00,00,13,13,00,00,13,13,13,07,00,13,13,00,00,13,13,00,13,13,07
  807.       db 00,13,13,07,07,13,13,00,13,13,00,00,00,13,13,00,13,13,00,00,13,13,00,00,13,13,13,13,07,13,13,00,00,13,13,00,00,13,13
  808.       db 00,13,13,13,13,13,00,00,13,13,00,00,00,13,13,00,13,13,00,00,13,13,00,00,13,13,00,13,13,13,13,00,00,13,13,00,00,13,13
  809.       db 00,13,13,00,13,13,07,00,13,13,07,00,07,13,13,00,13,13,00,00,13,13,00,00,13,13,00,00,13,13,13,00,00,13,13,00,07,13,13
  810.       db 07,13,13,00,00,13,13,00,00,13,13,07,13,13,00,00,13,13,07,07,13,13,00,00,13,13,00,00,00,13,13,00,07,13,13,07,13,13,00
  811.       db 13,13,13,00,00,13,13,00,00,00,13,13,13,00,00,00,13,13,13,13,13,13,00,00,13,13,00,00,00,13,13,00,13,13,13,13,13,00,00
  812.  
  813. briqueGrise db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  814.             db 15,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  815.             db 15,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  816.             db 15,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  817.             db 15,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  818.             db 15,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  819.             db 15,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  820.  
  821. briqueRouge db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  822.             db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  823.             db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  824.             db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  825.             db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  826.             db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  827.             db 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04
  828.  
  829. briqueJaune1 db 14,15,14,15,14,15,14,15,14,15,14,15,14,15,14
  830.              db 15,14,15,14,15,14,15,14,15,14,15,14,15,14,15
  831.              db 14,15,14,15,14,15,14,15,14,15,14,15,14,15,14
  832.              db 15,14,15,14,15,14,15,14,15,14,15,14,15,14,15
  833.              db 14,15,14,15,14,15,14,15,14,15,14,15,14,15,14
  834.              db 15,14,15,14,15,14,15,14,15,14,15,14,15,14,15
  835.              db 14,15,14,15,14,15,14,15,14,15,14,15,14,15,14
  836.  
  837. briqueBleue db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  838.             db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  839.             db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  840.             db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  841.             db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  842.             db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  843.             db 09,09,09,09,09,09,09,09,09,09,09,09,09,09,09
  844.  
  845. briqueRose db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  846.            db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  847.            db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  848.            db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  849.            db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  850.            db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  851.            db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
  852.  
  853. briqueVerte db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  854.             db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  855.             db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  856.             db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  857.             db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  858.             db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  859.             db 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  860.  
  861. briqueNoire db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  862.             db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  863.             db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  864.             db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  865.             db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  866.             db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  867.             db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  868.  
  869. briqueBlanche db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  870.               db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  871.               db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  872.               db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  873.               db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  874.               db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  875.               db 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
  876.  
  877. gameover_texte db 00,15,15,15,15,00,00,00,00,15,15,15,15,00,00,00,15,00,00,00,00,15,00,00,15,15,15,15,15,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,15,15,00,00,00,15,15,00,00,15,15,00,00,15,15,15,15,15,15,00,00,15,15,15,15,15,00
  878.                db 15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,00,00,00,00,15,15,00,00,15,15
  879.                db 15,15,00,00,00,00,00,00,15,15,00,00,15,15,00,00,15,15,15,15,15,15,00,00,15,15,15,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,15,15,00,00,00,00,15,15,00,00,15,15
  880.                db 15,15,00,15,15,15,00,00,15,15,15,15,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,00,00,00,00,15,15,15,15,15,00
  881.                db 15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,00,00,15,15,00,00,00,15,15,15,15,00,00,00,15,15,00,00,00,00,00,00,15,15,00,15,15,00
  882.                db 00,15,15,15,15,00,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,00,00,15,15,15,15,15,15,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,15,15,15,15,00,00,00,00,00,15,15,00,00,00,00,15,15,15,15,15,15,00,00,15,15,00,00,15,15
  883.  
  884.  
  885. tabNivEnCours db 00,00,00,00,00,00,00,00,00,00,00
  886.               db 00,00,00,00,00,00,00,00,00,00,00
  887.               db 00,00,00,00,00,00,00,00,00,00,00
  888.               db 00,00,00,00,00,00,00,00,00,00,00
  889.               db 00,00,00,00,00,00,00,00,00,00,00
  890.               db 00,00,00,00,00,00,00,00,00,00,00
  891.  
  892. tabNiv1 db 07,07,07,07,07,07,07,07,07,07,07
  893.         db 04,04,04,04,04,04,04,04,04,04,04
  894.         db 14,14,14,14,14,14,14,14,14,14,14
  895.         db 09,09,09,09,09,09,09,09,09,09,09
  896.         db 13,13,13,13,13,13,13,13,13,13,13
  897.         db 10,10,10,10,10,10,10,10,10,10,10
  898.  
  899. un db 00,00,15,15,00,00
  900.    db 00,15,15,15,00,00
  901.    db 00,00,15,15,00,00
  902.    db 00,00,15,15,00,00
  903.    db 00,15,15,15,15,00
  904.    db 00,15,15,15,15,00
  905.  
  906. deux db 00,15,15,15,15,00
  907.      db 15,15,00,00,15,15
  908.      db 00,00,00,00,15,15
  909.      db 00,15,15,15,15,00
  910.      db 15,15,00,00,00,00
  911.      db 15,15,15,15,15,15
  912.  
  913. trois db 00,15,15,15,15,00
  914.       db 15,15,00,00,15,15
  915.       db 00,00,00,15,15,00
  916.       db 00,00,00,00,15,15
  917.       db 15,15,00,00,15,15
  918.       db 00,15,15,15,15,00
  919.  
  920. quatre db 00,00,00,15,15,00
  921.        db 00,00,15,15,15,00
  922.        db 00,15,00,15,15,00
  923.        db 15,00,00,15,15,00
  924.        db 15,15,15,15,15,15
  925.        db 00,00,00,15,15,00
  926.  
  927. cinq db 15,15,15,15,15,15
  928.      db 15,15,00,00,00,00
  929.      db 15,15,15,15,15,00
  930.      db 00,00,00,00,15,15
  931.      db 15,15,00,00,15,15
  932.      db 00,15,15,15,15,00
  933.  
  934. six db 00,15,15,15,15,00
  935.     db 15,15,00,00,00,00
  936.     db 15,15,15,15,15,00
  937.     db 15,15,00,00,15,15
  938.     db 15,15,00,00,15,15
  939.     db 00,15,15,15,15,00
  940.  
  941. sept db 15,15,15,15,15,15
  942.      db 00,00,00,00,15,15
  943.      db 00,00,00,15,15,00
  944.      db 00,00,00,15,15,00
  945.      db 00,00,15,15,00,00
  946.      db 00,00,15,15,00,00
  947.  
  948. huit db 00,15,15,15,15,00
  949.      db 15,15,00,00,15,15
  950.      db 00,15,15,15,15,00
  951.      db 15,15,00,00,15,15
  952.      db 15,15,00,00,15,15
  953.      db 00,15,15,15,15,00
  954.  
  955. neuf db 00,15,15,15,15,00
  956.      db 15,15,00,00,15,15
  957.      db 15,15,00,00,15,15
  958.      db 00,15,15,15,15,15
  959.      db 00,00,00,00,15,15
  960.      db 00,15,15,15,15,00
  961.  
  962. zero db 00,15,15,15,15,00
  963.      db 15,15,00,00,15,15
  964.      db 15,15,00,00,15,15
  965.      db 15,15,00,00,15,15
  966.      db 15,15,00,00,15,15
  967.      db 00,15,15,15,15,00
Advertisement
Add Comment
Please, Sign In to add comment