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

Autres architectures Assembleur Discussion :

[68k] Jeu du Morpion : empêcher plusieurs symboles sur la même case


Sujet :

Autres architectures Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut [68k] Jeu du Morpion : empêcher plusieurs symboles sur la même case
    Salut à tous

    Je suis actuellement en train de faire un Morpion en assembleur 68k.
    J'ai déjà fait tout l'affichage ainsi que les symboles qui se placent bien mais je ne sais pas comment régler un petit problème : je peux placer plusieurs symboles sur la même case, comment bloquer cela svp ?

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Avec si peu d'information impossible de t'aider.
    C'est quoi ces 'symboles' que tu parle ? Sur quel machine fait tu du 68k ? bref détails plus

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Je fait avec EAsy68K
    Lorsque je clic sur une case ça dessine soit une croix soit un cercle au centre de celle ci ^^

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    et j'ai envie de te dire ou est le souci exactement ?
    je peut placer plusieurs symboles sur la même case, comment bloquer cela svp ?
    Avec une variable et une condition , genre que : si ma variable == 0 alors on peut cliquer et je met ma variable a 1 sinon non.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Le probleme c'est que j'ai tout fait graphiquement et je n'utilise que de l'assembleur pas de macro ^^
    J'utilise des drawline pour les croix et drawellipse pour les cercles

  6. #6
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Ben je t'ai passé juste algorithme pour que tu le fasse , en gros niveau code ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            cmp.w  #$0,Ma_variable
    	bne condition1
    		;code
    		move.w #$01,Ma_variable
     
    	condition1:
    Sinon j'utilise pas Easy68k donc si tu as des question spécifique a cet émulateur je ne pourrait pas y répondre.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Voila mon code ca sera mieu que d'expliquer ^^
    -
    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
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
     ORG $1000
     
        START:
        MOVE.L #$EFEFFB, D1 ;Mettre le fond en blanc
        JSR SET_FILL_COLOR ;
        MOVE.W #0, D1 ;
        MOVE.W #0, D2 ;
        JSR pot_de_peinture ;
     
        MOVE.B #0,D6 ;
        MOVE.L #$000000, D1 ;Couleur lignes
        JSR SET_PEN_COLOR ;
        MOVE.B #3,D1 ;Epaisseur lignes
        JSR WIDTH_PEN ;
        MOVE.W #150,D1 ;X1
        MOVE.W #100,D2 ;Y1
        MOVE.W #450,D3 ;X2
        MOVE.W #100,D4 ;Y2
        JSR DRAW_LINE ;
        BRA BOUCLELINE ;
     
        BOUCLELINE:
        ADD.W #100,D2 ;Taille case Y1
        ADD.W #100,D4 ;Taille case Y2
        JSR DRAW_LINE ;
        ADD.B #1, D6 ;
        CMP #3, D6 ;3 lignes
        BEQ endline ;
        BRA BOUCLELINE ;
     
        endline
     
        MOVE.B #0,D6 ;
        MOVE.W #150,D1 ;X1
        MOVE.W #100,D2 ;Y1
        MOVE.W #150,D3 ;X2
        MOVE.W #400,D4 ;Y2
        JSR DRAW_LINE ;
        BRA BOUCLECOLOMN ;
     
        BOUCLECOLOMN:
        ADD.W #100, D1 ;Taille case X1
        ADD.W #100, D3 ;Taille case X2
        JSR DRAW_LINE ;
        ADD.B #1, D6 ;
        CMP #3, D6 ;3 colonnes
        BEQ endcolomn ;
        BRA BOUCLECOLOMN ;
     
        endcolomn
     
        MOVE.W #10, D1
        MOVE.W #410, D2
        MOVE.W #120, D3
        MOVE.W #460, D4
        JSR DRAW_RECT
     
        CLR.L D6
     
        TOUR: ;Boucle jouer
        CMP #9, D6
        BEQ FIN
        ADD #1, D6
        MOVE.L D6, D5
        MOVE.L #0, A1
        MOVE.L #0, A2
        MOVE.L #0, A3
        MOVE.L #0, A4
     
     
        CLICK: ;Capte le click
        CLR.L D1
        JSR GET_MOUSE
        AND.B #1, D0
        BNE DECLICK
        BRA CLICK
     
        DECLICK: ;Capte le relachement du click
        CLR.L D1
        JSR GET_MOUSE
        CMP.B #0, D0
        BNE DECLICK
     
        LIEUCLICK:
        MOVE.W D1, A1 ;Stock X dans A1
        SWAP D1
        MOVE.W D1, A2 ;Stock X dans A2
     
        CHOIXCASEX:
        CMP.L #150, A1
        BLT CLICK
        MOVE.L #200, A3
        CMP.L #250, A1
        BLE CHOIXCASEY
        MOVE.L #300, A3
        CMP.L #350, A1
        BLE CHOIXCASEY
        MOVE.L #400, A3
        CMP.L #450, A1
        BLE CHOIXCASEY
        CMP.L #450, A1
        BGE CLICK
     
        CHOIXCASEY:
        CMP.L #100, A2
        BLT CLICK
        MOVE.L #150, A4
        CMP.L #200, A2
        BLE PAIR
        MOVE.L #250, A4
        CMP.L #300, A2
        BLE PAIR
        MOVE.L #350, A4
        CMP.L #400, A2
        BLE PAIR
        CMP.L #400, A2
        BGE CLICK
     
        PAIR: ;Test la parité
        AND #1, D5
        BEQ CROIX
        BRA ROND
     
        CROIX:
        MOVE.W A3, D1
        SUB.W #25, D1 ;X1 -25
        MOVE.W A4, D2
        SUB.W #25, D2 ;Y1 -25
        MOVE.W A3, D3
        ADD.W #25, D3 ;X2 +25
        MOVE.W A4, D4
        ADD.W #25, D4 ;Y2 +25
        JSR DRAW_LINE
        MOVE.W A3, D1
        ADD.W #25, D1 ;X1 +25
        MOVE.W A4, D2
        SUB.W #25, D2 ;Y1 -25
        MOVE.W A3, D3
        SUB.W #25, D3 ;X2 -25
        MOVE.W A4, D4
        ADD.W #25, D4 ;Y2 +25
        JSR DRAW_LINE
        BRA TOUR
     
        ROND:
        MOVE.W A3, D1
        SUB.W #25, D1 ;X1 -25
        MOVE.W A4, D2
        SUB.W #25, D2 ;Y1 -25
        MOVE.W A3, D3
        ADD.W #25, D3 ;X2 +25
        MOVE.W A4, D4
        ADD.W #25, D4 ;Y2 +25
        JSR DRAW_ELLIPSE
        BRA TOUR
     
        FIN:
     
        JSR FINPRG ;
     
        include "BIBGRAPH.x68"
        include "BIBLIO.x68"
        include "BIBPERIPH.x68"
     
        END START

  8. #8
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Tu stocke rien en mémoire , ce qui n'aide pas a la lecture de ton code , A1 , A2 ect sont des registres pour les adresses et j'ai l'impression que tu l'utilise pour tes données.
    Et a vu de nez je rajouterez les conditions dans CHOIXCASEX et CHOIXCASEY pour éviter de rajouter des symbole au futur clic.

    Et n’espère pas que je te fasse la correction
    je t'ai donné suffisamment de conseil et un exemple de condition pour que tu puisse le faire.

Discussions similaires

  1. [68k] Jeu du Morpion : menu dans un fichier à part
    Par Sillas dans le forum Autres architectures
    Réponses: 1
    Dernier message: 28/12/2015, 19h19
  2. Plusieurs vues sur un même fichier
    Par minicat dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/05/2014, 21h53
  3. Héberger plusieurs sites sur la même machine
    Par fgiuliano dans le forum Apache
    Réponses: 9
    Dernier message: 27/10/2005, 10h29
  4. [Débutant] Plusieurs versions sur un même système ?
    Par castaka dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/02/2005, 10h21
  5. Réponses: 4
    Dernier message: 14/10/2004, 17h36

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