jeu voiture

jeu voiture - ASM - Programmation

Marsh Posté le 23-05-2005 à 15:30:37    


Coucou  
 
je recherche quelqu'un qui aurait un programme d'assembleur sur un jeu de voiture ou quelqu'un qui pourrait m'aider a faire defiler l'ecran et à bouger ma voiture
 
merci beaucoup !!
 :bounce:

Reply

Marsh Posté le 23-05-2005 à 15:30:37   

Reply

Marsh Posté le 23-05-2005 à 15:43:30    

montre ton code, Harko va t'aider


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 23-05-2005 à 16:16:37    

voici mon code
pour l'instant il n'y a que le circuit et la voiture qui est dessiné
mais comme je debute ma voiture c'est un carré ! lol
 
;jeu de voiture
 
data_seg Segment
    ancien_mode db ?
data_seg ENDS
 
pile segment stack
          dw 100 DUP(?)
pile ENDS
 
 
Code Segment
        assume ds : data_seg
        assume cs : Code
        assume ss : pile
 
    ;procedure de temporisation
    tempo proc near
                push ax
                push bx
                push cx
                push dx
 
                ; lit l'heure courante
                mov ah, 2ch
                int 21h
 
                ; additionne l'heure courante avec les valeurs d'attente
                mov ah, ch
                add al, cl
                add bh, dh
                add bl, dl
 
                ; on ajuste les valeurs pour garder un sens
 
                cmp bl, 100 ; on commence par les centiemes de s
                jb secs
                sub bl, 100
                inc bh
        secs:        cmp bh, 60
                jb mins
                sub bh, 60
                inc al
        mins:        cmp al, 60
                jb hrs
                sub al, 60
                inc ah
        hrs:        cmp ah, 24
                jne check
                sub ah, ah
 
                ; on attend
        check:        push ax
                mov ah, 2ch
                int 21h
                pop ax
                cmp cx, ax
                ja quit
                jb check
                cmp dx, bx
                jb check
        quit:         pop dx
                pop cx
                pop bx
                pop ax
                ret
        tempo endp
 
 attente_touche PROC NEAR
       push ax
       mov ah,08
       int 21h
       pop ax
       ret
 attente_touche ENDP
 
 colorfond Proc near
        push cx
        push ax
        push bx
        push dx
        mov cx,200 ; hauteur de la ligne verticale
        mov ax,0A000h
        mov es,ax
        mov bx,200; hauteur de la ligne numero de la ligne
        color :
        mov ax,bx
        push cx
        mov cx,320 ; atteindre un pixel
        mul cx
        pop cx
        mov di,ax
        mov al,2 ; couleur du circuit
        cld
        push cx
        mov cx,320 ;longeur de la ligne horizontale
        rep STOSB
        pop cx
        dec bx
        loop color
        pop ax
        pop bx
        pop cx
        pop dx
        ret
colorfond endp
 
parcours proc near
       ; sauvegarde des données modifiées
         push cx
         push ax
         push bx
         push dx
 
       ;deplacement du curseur
        mov cx,200 ; hauteur de la ligne verticale
        mov ax,0A000h
        mov es,ax
        mov bx,200; hauteur de la ligne numero de la ligne
        circuit :
        mov ax,bx
        push cx
        mov cx,320 ; atteindre un pixel
        mul cx
        pop cx
        mov di,ax
        add di,90 ; faire un décalage
        mov al,8 ; couleur du circuit
        cld
        push cx
        mov cx,150 ;longeur de la ligne horizontale
        rep STOSB
        pop cx
        dec bx
        loop circuit
 
        pop ax
        pop bx
        pop cx
        pop dx
        ret
 
parcours endp
 
 
voiture proc near
 
       ; sauvegarde des données modifiées
        push cx
        push ax
        push bx
        push dx
        mov cx,25 ; boucle du compteur
        mov ax,0A000h
        mov es,ax
        mov bx,190 ;numero de la ligne ou se trouve notre voiture
        saut:
        mov ax,bx ;sauvegarde de bx dans ax pour garder mon ancienne valeur pour ainsi decrementer bx et construire un carré
        push cx
        mov cx,320 ; atteindre un pixel
        mul cx
        pop cx
        mov di,ax
        add di,160 ; faire un décalage
        mov al,4
        cld
        push cx
        mov cx,15 ;longeur de la ligne vertical
        rep STOSB
        pop cx
        DEC BX
        loop saut
 
        pop ax
        pop bx
        pop cx
        pop dx
        ret
 
 voiture endp
 
 
 main proc Far
 
       ; on conserve l'ancien mode graphique
        mov ax, data_seg
        mov ds, ax
 
       ; on récupere le mode graphique
        mov ah, 0fh
        int 10h
        mov ancien_mode, al
 
        ; mode graphique
        mov al,13h
        mov ah,0
        int 10h
 
        ; coloriage de l'ecran
        call colorfond
 
        ;dessin parcours
        call parcours
 
        ; dessin voiture
        call voiture
 
 
 
         add di,15
        ; tempo de 0.5s
        xor ax, ax
        mov bh,0
        mov bl, 50
        call tempo
 
        ;defilement du circuit
 
 
 
 
        ; deplacement de la voiture
        call attente_touche
 
 
 
       ; interruption fin de programme
        mov ah, 08
        int 21h
 
        mov al, ancien_mode
        mov ah, 0
        int 10h
 
        mov ah, 4ch
        int 21h
 
 
  main ENDP
  Code ENDS
  END main

Reply

Marsh Posté le 23-05-2005 à 16:16:54    

merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed