IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Création d'un casse-briques


Sujet :

Assembleur

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 40
    Points
    40
    Par défaut Création d'un casse-briques
    Bonjour,

    Actuellement en licence informatique, j'ai comme projet de créer un jeu type Arkanoid (casse-briques). Cela fait deux mois que j'apprend l'assembleur et je n'ai pas compris grand chose. Nous avons appris pendant 2h de cours le graphisme en assembleur. Nous avons codé une palette de couleurs.

    Or là dans ce projet, j'ai réussi à créer le rectangle, par contre, je ne vois pas trop comment créer la balle et la faire déplacer contre les murs en la faisant rebondir, gérer l'effacement de la brique touchée et surtout le deplacement avec la souris de la base sur laquelle va rebondir la balle.

    En gros, j'aimerais avoir de l'aide pour réaliser le projet car je n'ai pas encore trouver de tutoriels sur le graphisme en assembleur et qui répondent à mes questions.

    Merci beaucoup pour votre aide

    Julien

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Bonjour et bienvenue sur Developpez.com

    Avant de pouvoir vous en dire plus, il faudrait savoir :
    - le type de processeur (Intel ? Motorola ? etc ...)
    - l'OS destination (Windows ?)
    - éventuellement, si processeur Intel, le mode utilisé (réel 16 bit ? protégé ?)
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Juju_41
    Bonjour et bienvenue sur Developpez.com

    Avant de pouvoir vous en dire plus, il faudrait savoir :
    - le type de processeur (Intel ? Motorola ? etc ...)
    - l'OS destination (Windows ?)
    - éventuellement, si processeur Intel, le mode utilisé (réel 16 bit ? protégé ?)
    Bonjour

    Donc voila, il faut que je fasse en jeu en assembleur x86.
    Il faut que j'utilise le mode graphique 320*200 par 256 couleurs
    Je travaille sur Windows comme en cours.

    Un petite indication : je dois gérer le déplacement de la raquette avec les fonctions de lecture clavier de l'interruption 21h mais aussi utiliser la souris(33h).

    Merci pour votre aide

  4. #4
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Joli projet en perspective

    Si j'avais un projet comme celui-ci à faire, je gérerai l'affichage comme ceci :
    - réserver 64 Ko (320*200) de mémoire qui correspondront à un écran "virtuel"
    - recalculer l'ensemble de l'affichage à une fréquence donnée : RAZ de cette écran virtuel puis affichage de la balle puis affichage de la raquette puis affichage des briques restantes par exemple
    - une fois cette écran virtuel à jour, le copier en mémoire vidéo (A000:0000 dans ton cas)

    Pour ce qui est de gérer le déplacement à la souris, cette page pourrait vous aider.

    Bon courage
    Avant de poster, merci de consulter les règles du forum

  5. #5
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Points : 40
    Points
    40
    Par défaut
    Bonjour

    Voila, on a deja reussi à afficher le rectangle plus la "raquette". Mais maintenant, j'aimerais savoir comment gérer la raquette avec la souris.

    Voici mon programme qui affiche le rectangle et la "raquette" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
         Data segment
     
         data ends
     
         Code segment
         Assume CS : Code , DS : data
     
         Deb :
     
         MOV AX, data
         MOV DS, AX
     
         MOV AH, 0 ;mode VGA
         MOV AL, 13h
         INT 10h
     
         MOV AX, 0A000h ;Segment écran
         MOV ES, AX
     
     
         MOV AX, 30
         MOV BX, 50
         MOV CX, 100
         mov dx,0
         call droite
     
         MOV AX, 30
         MOV BX, 50
         MOV cX, 120
         mov dx,1
         call droite 
     
         ;MOV AX, 30
         ;MOV BX, 170
         ;MOV cX, 101
         ;mov dx,0
         ;call droite
     
         MOV AX, 130
         MOV BX, 50
         MOV cX, 120
         mov dx,1
         call droite
     
         mov AX, 85
         mov BX, 165
         mov CX, 20
         mov dx, 0
         call droite
     
         MOV AH,8
         INT 21h
     
         MOV AH, 0
         MOV AL, 3
         INT 10h
     
         MOV AH, 4Ch
         INT 21h
     
         droite proc
     
         mov si,bx
         mov di,ax
         mov ax,320
         push dx
         mul bx
         add di,ax
         pop dx
         cmp dx,0
         je boucle2
         boucle:
         inc si
         mov es:byte ptr[di],95
         add di , 320
         cmp si,200
         jge fin
         loop boucle
     
         jmp fin
         boucle2:
         inc si
         mov es:byte ptr[di],95
         inc di
         cmp si , 320
         jge fin
         loop boucle2
     
         fin:
         ret
    droite     endp
     
         efface_ecran PROC
     
         MOV DI, 0
         MOV CX,320
         bigboucle2:
         PUSH CX
         MOV CX,200
         boucle3:
         MOV AL, 0
         MOV ES:[DI], AL
         INC DI
         LOOP boucle3
         POP CX
         LOOP bigboucle2
         RET
         efface_ecran ENDP
     
         Code ends
         END deb
    Merci pour ton aide

Discussions similaires

  1. création d'une horloge (casse brique)
    Par mickl1722 dans le forum Débuter
    Réponses: 7
    Dernier message: 05/05/2011, 23h58
  2. Création d'un casse-brique
    Par StephieDjo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/05/2007, 11h23
  3. [Source] [SDL] Commencement d'un casse brique
    Par grincheux01 dans le forum Contribuez
    Réponses: 8
    Dernier message: 29/06/2006, 12h27
  4. Button "Start" dans un jeu de casse brique
    Par tex78 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 24/01/2006, 15h47
  5. [Tkinter] casse brique
    Par mamatt77 dans le forum Tkinter
    Réponses: 6
    Dernier message: 18/04/2005, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo