1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2015
    Messages : 89
    Points : 49
    Points
    49

    Par défaut Déplacement des pièces d'un jeu d'échecs

    Bonjour/Bonsoir à tous, je suis en plein casse tête dans la constitution d'un jeu d'échec, j'ai commenté mon programme. Mon problème est que au niveau du déplacement je voudrai intégrer les règles de jeux à mes pions. Mais je suis tout juste débutant dans ce langage et je ne vois pas et ne comprend pas comment le faire. J'ai fais des recherches qui ne m'ont pas suffisamment aidé sauf a mieux comprendre certain code. Je viens donc ici pour vous demander votre aide. Je voudrais implanter les règles de déplacement à mes pions s'il vous plaît. Pouvez-vous m'aidez s'il vous plaît ?
    Merci encore de votre écoute

    Merci encore dans votre temps consacré pour m'aider
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 252
    Points : 7 152
    Points
    7 152

    Par défaut

    Yop !

    Citation Envoyé par LerikalBless Voir le message
    Bonjour/Bonsoir à tous, je suis en plein casse tête dans la constitution d'un jeu d'échec, j'ai commenté mon programme. Mon problème est que au niveau du déplacement je voudrai intégrer les règles de jeux à mes pions. Mais je suis tout juste débutant dans ce langage et je ne vois pas et ne comprend pas comment le faire. J'ai fais des recherches qui ne m'ont pas suffisamment aidé sauf a mieux comprendre certain code. Je viens donc ici pour vous demander votre aide. Je voudrai implanter les règles de déplacement à mes pions s'il vous plaît. Pouvez-Vous m'aidez s'il vous plaît ?
    Juste les pions ? Les autres pièces c'est pas la peine ?

    Bon, de toute façon, avant de t'attaquer aux règles du jeu, tu devrais commencer par l'ergonomie du jeu, parce que ce n'est vraiment pas confortable d'être obligé de cliquer sur ton bouton "Jouer" pour pouvoir déplacer une pièce, c'est même carrément pénible, soyons clair !

    Par ailleurs, en règle générale, un échiquier standard présente les pièces blanches en bas et les noires en haut.

    Ensuite, la numérotation des rangées commence en bas.

    Et enfin, tu as un gros problème de colonnes dans la fonction "Historique" : j'ai commencé avec e2e4 et ça a inscrit f2f4' ! Pareil avec les autres coups.
    Ah, les entrées dans un historique s'ajoutent en bas, le premier coup joué reste en haut : chez toi c'est l'inverse, c'est le dernier coup joué qui est en haut et le premier descend, c'est surprenant.
    Enfin, c'est mon avis.

    Toutes ces choses, tu aurais pu/dû les voir avant de poster ton truc.
    Et en parlant de poster, pas la peine de joindre l'exe, ni le dossier backup, ni le dossier lib. Tout cela ne sert à rien ici.

    Corrige tout ça et reviens nous voir.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2015
    Messages : 89
    Points : 49
    Points
    49

    Par défaut

    Citation Envoyé par Jipété Voir le message
    Yop !



    Juste les pions ? Les autres pièces c'est pas la peine ?

    Bon, de toute façon, avant de t'attaquer aux règles du jeu, tu devrais commencer par l'ergonomie du jeu, parce que ce n'est vraiment pas confortable d'être obligé de cliquer sur ton bouton "Jouer" pour pouvoir déplacer une pièce, c'est même carrément pénible, soyons clair !

    Par ailleurs, en règle générale, un échiquier standard présente les pièces blanches en bas et les noires en haut.

    Ensuite, la numérotation des rangées commence en bas.

    Et enfin, tu as un gros problème de colonnes dans la fonction "Historique" : j'ai commencé avec e2e4 et ça a inscrit f2f4' ! Pareil avec les autres coups.
    Ah, les entrées dans un historique s'ajoutent en bas, le premier coup joué reste en haut : chez toi c'est l'inverse, c'est le dernier coup joué qui est en haut et le premier descend, c'est surprenant.
    Enfin, c'est mon avis.

    Toutes ces choses, tu aurais pu/dû les voir avant de poster ton truc.
    Et en parlant de poster, pas la peine de joindre l'exe, ni le dossier backup, ni le dossier lib. Tout cela ne sert à rien ici.

    Corrige tout ça et reviens nous voir.
    Pouvez vous m'aider a le résoudre svp ?

  4. #4
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 996
    Points : 11 099
    Points
    11 099
    Billets dans le blog
    33

    Par défaut

    Citation Envoyé par LerikalBless Voir le message
    Pouvez vous m'aider a le résoudre svp ?
    Bonjour,

    Si tu es débutant comme tu le dis, commencer par un jeu d'échec est une erreur : c'est difficile à programmer.
    Il faut :
    • s'occuper de l'affichage des pièces ;
    • s'occuper de la validité des coups joués (du point de vue des règles et de l'état de la partie) ;
    • s'occuper de la partie "intelligente" qui va déterminer les coups...


    Je me permets de te donner un conseil : essaye déjà de résoudre le point 1. Sur le forum, tu as une discussion très intéressante à ce propos ici.
    Elle a le mérite d'être collective, de durer depuis longtemps et de confronter de nombreux points de vue et techniques. En essayant par toi-même, en testant certains éléments, tu devrais progresser.

    Si tu souhaites poursuivre, à partir des éléments fournis par cette discussion, essaye de dessiner ton échiquier. Tu peux aussi intervenir dans cette discussion si quelque chose t'échappe.

    Bon courage,

    Gilles

    PS : évite les premières pages qui remontent à 2012 ! Le reste est encore en train d'être discuté.
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2015
    Messages : 89
    Points : 49
    Points
    49

    Par défaut

    Citation Envoyé par gvasseur58 Voir le message
    Bonjour,

    Si tu es débutant comme tu le dis, commencer par un jeu d'échec est une erreur : c'est difficile à programmer.
    Il faut :
    • s'occuper de l'affichage des pièces ;
    • s'occuper de la validité des coups joués (du point de vue des règles et de l'état de la partie) ;
    • s'occuper de la partie "intelligente" qui va déterminer les coups...


    Je me permets de te donner un conseil : essaye déjà de résoudre le point 1. Sur le forum, tu as une discussion très intéressante à ce propos ici.
    Elle a le mérite d'être collective, de durer depuis longtemps et de confronter de nombreux points de vue et techniques. En essayant par toi-même, en testant certains éléments, tu devrais progresser.

    Si tu souhaites poursuivre, à partir des éléments fournis par cette discussion, essaye de dessiner ton échiquier. Tu peux aussi intervenir dans cette discussion si quelque chose t'échappe.

    Bon courage,

    Gilles

    PS : évite les premières pages qui remontent à 2012 ! Le reste est encore en train d'être discuté.
    voici pour tout ce qui est affichage des pions, j'ai fais en sorte avec le TesPion que mes points peuvent avancer d'une case. Je voudrai savoir comment m'occuper des pièces " Fou " et " Tour " s'il vous plaît

    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
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    unit plateau2;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Grids, ExtCtrls, ImgList;
     
    type
     
      { TFChess }
     
      TFChess = class(TForm)
        btnFermer: TButton;
        btnReinitialiser: TButton;
        SG: TStringGrid;
        ilNoir: TImageList;
        btnDeplacer: TButton;
        ilBlanc: TImageList;
        pnHisto: TPanel;
        laHisto: TLabel;
        lbHisto: TListBox;
        procedure btnFermerClick(Sender: TObject);
        procedure btnReinitialiserClick(Sender: TObject);
        procedure FormActivate(Sender: TObject);
        procedure btnDeplacerClick(Sender: TObject);
        procedure SGClick(Sender: TObject);
        procedure SGDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
          State: TGridDrawState);
      private
        b_deplacement : boolean;
      public
        { Déclarations publiques }
        C1,C2,L1,L2 :  integer;
        function DeplacerPiece : string;
        function DeplacementOK: boolean;
        function TestPion: boolean;
      end;
     
    var
      FChess: TFChess;
     
    implementation
     
    {$R *.lfm}
     
    // *****************************************************************************
    procedure TFChess.FormActivate(Sender: TObject);
    // ***   création des éléments de l'échiquier
    var
      i       : integer ;
    begin
      b_deplacement := FALSE;   // pas de déplacement
      // *** numérotation des lignes
      for i:=1 to 8 do SG.Cells[0,i] := IntToStr(i);
       // *** numérotation des colonnes
      for i:=1 to 8 do SG.Cells[i,0] := Chr(Ord('A')+i-1);
     // *** placement des pièces blanches
      SG.Cells[1,1] := 'Tb';  // Tour   Blanc
      SG.Cells[2,1] := 'Cb';  // Chevalier   Blanc
      SG.Cells[3,1] := 'Fb';  // Fou   Blanc
      SG.Cells[4,1] := 'Db';  // Dame   Blanc
      SG.Cells[5,1] := 'Rb';  // Roi    Blanc
      SG.Cells[6,1] := 'Fb';  // Fou     Blanc
      SG.Cells[7,1] := 'Cb';  // Chevalier   Blanc
      SG.Cells[8,1] := 'Tb';  // Tour    Blanc
      // *** placement des pions blancs
      for i := 1 to 8 do SG.Cells[i,2] := 'Pb'; // Pion  Blanc
       // *** placement des pièces noires
      SG.Cells[1,8] := 'Tn';    // Tour   noires
      SG.Cells[2,8] := 'Cn';    // Chevalier   noires
      SG.Cells[3,8] := 'Fn';      // Fou   noires
      SG.Cells[4,8] := 'Dn';      // Dame   noires
      SG.Cells[5,8] := 'Rn';       // Roi    noires
      SG.Cells[6,8] := 'Fn';        // Fou     noires
      SG.Cells[7,8] := 'Cn';        // Chevalier   noires
      SG.Cells[8,8] := 'Tn';     // Tour    noires
       // *** placement des pions noirs
      for i := 1 to 8 do SG.Cells[i,7] := 'Pn';   // Pion Noirs
     
       // *** ajustement de la taille du tableau
      SG.ColWidths[0] := 15;
      SG.RowHeights[0] := 15;
      SG.Width := 15 + (SG.DefaultColWidth+1) * (SG.ColCount-1) + 5;
      SG.Height := 15 + (SG.DefaultRowHeight+1) * (SG.RowCount-1) + 5;
    end;
     
    procedure TFChess.btnFermerClick(Sender: TObject);
    begin
      Close;
    end;
     
    procedure TFChess.btnReinitialiserClick(Sender: TObject);  // procédure qui remet au départ le jeux
      // ***   création des éléments de l'échiquier
      var
        i       : integer ;
      begin
      for i:=1 to SG.RowCount -1 do   // nettoyage du jeux précédent
          SG.rows[i].Clear;
        b_deplacement := FALSE;   // pas de déplacement
        // *** numérotation des lignes
        for i:=1 to 8 do SG.Cells[0,i] := IntToStr(i);
         // *** numérotation des colonnes
        for i:=1 to 8 do SG.Cells[i,0] := Chr(Ord('A')+i-1);
       // *** placement des pièces blanches
        SG.Cells[1,1] := 'Tb';  // Tour   Blanc
        SG.Cells[2,1] := 'Cb';  // Chevalier   Blanc
        SG.Cells[3,1] := 'Fb';  // Fou   Blanc
        SG.Cells[4,1] := 'Db';  // Dame   Blanc
        SG.Cells[5,1] := 'Rb';  // Roi    Blanc
        SG.Cells[6,1] := 'Fb';  // Fou     Blanc
        SG.Cells[7,1] := 'Cb';  // Chevalier   Blanc
        SG.Cells[8,1] := 'Tb';  // Tour    Blanc
        // *** placement des pions blancs
        for i := 1 to 8 do SG.Cells[i,2] := 'Pb'; // Pion  Blanc
         // *** placement des pièces noires
        SG.Cells[1,8] := 'Tn';    // Tour   noires
        SG.Cells[2,8] := 'Cn';    // Chevalier   noires
        SG.Cells[3,8] := 'Fn';      // Fou   noires
        SG.Cells[4,8] := 'Dn';      // Dame   noires
        SG.Cells[5,8] := 'Rn';       // Roi    noires
        SG.Cells[6,8] := 'Fn';        // Fou     noires
        SG.Cells[7,8] := 'Cn';        // Chevalier   noires
        SG.Cells[8,8] := 'Tn';     // Tour    noires
         // *** placement des pions noirs
        for i := 1 to 8 do SG.Cells[i,7] := 'Pn';   // Pion Noirs
     
         // *** ajustement de la taille du tableau
        SG.ColWidths[0] := 15;
        SG.RowHeights[0] := 15;
        SG.Width := 15 + (SG.DefaultColWidth+1) * (SG.ColCount-1) + 5;
        SG.Height := 15 + (SG.DefaultRowHeight+1) * (SG.RowCount-1) + 5;
      end;
     
    // *****************************************************************************
    function TFChess.TestPion : boolean;
    var
      couleur : char;
      begin
        Result := FALSE;
        couleur:= SG.Cells[C1,L1][2];
        Result:= (Abs(L1-L2)=1) and (Abs(C1-C2)<=1);
      end;
     
    function TFChess.DeplacementOK : boolean;
    var
      piece : string;
      begin
        Result := FALSE;
        piece := SG.Cells[C1,L1];
        if piece = '' then exit;
        case piece [1] of
          'P': Result := TestPion;
          'T' :  Result := TestPion;
          'C': Result := TestPion;
          'F': Result := TestPion;
          'D': Result := TestPion;
          'R': Result := TestPion;
        end;
      end;
     
    function TFChess.DeplacerPiece : string;
    // *** déplacement d'une pièce
    begin
      Result := '';
      if not DeplacementOk then Exit;
      // *** on construit la chaîne à afficher pour indiquer le coup joué
       Result := SG.Cells[C1,L1] + ' : ' 			 // *** la pièce
              + Chr(Ord('A')+C1) + IntToStr(L1)  	// *** ligne + colonne de départ
              + ' -> '
              + Chr(Ord('A')+C2) + IntToStr(L2); 	 // *** ligne + colonne d'arrivée
     if SG.Cells[C2,L2] <> '' then
    	Result := Result + '  (' + SG.Cells[C2,L2] + ')'; // *** on indique la pièce prise
     
      // *** la pièce est déplacée
      SG.Cells[C2,L2] := SG.Cells[C1,L1];  // l'arrivée est comme le départ
      SG.Cells[C1,L1]:= '';    // puis on vide le départ
      // *** on remet tout à zéro
      C1:= 0;
      C2:= 0;
      L1:= 0;
      L2:= 0;
    end;
     
    // *****************************************************************************
    procedure TFChess.btnDeplacerClick(Sender: TObject);  // Bouton JOUER
    // *** déplacement d'une pièce
    begin
      C1 := 0;  L1 := 0;
      C2 := 0;  L2 := 0;
      b_deplacement := TRUE; 	// *** on est en train de déplacer
      SG.Cursor := crHandPoint; // *** le curseur prend la forme d'un doigt qui pointe
    end;
     
    // *****************************************************************************
    procedure TFChess.SGClick(Sender: TObject);  // *** l'utilisateur clique sur la grille
    var
    	s: string;
    begin
      // *** s'il n'y a pas de déplacement en cours on ignore le clic
      if not b_deplacement then Exit;
     
      if C1 = 0 then begin  // *** si le départ n'est pas encore fixé
        C1 := SG.Col;   // on mémorise la colonne
        L1 := SG.Row;  // puis la ligne
      end
      else begin  			// *** sinon on traite l'arrivée
        C2 := SG.Col;   // on mémorise la colonne
        L2 := SG.Row;    // puis la ligne
        s := DeplacerPiece;  // *** on déplace la pièce
        lbHisto.Items.Insert(0, s); // *** on affiche le déplacement sous forme d'une chaîne dans la liste
        b_deplacement := FALSE;  // *** déplacement treminé
        SG.Cursor := crDefault;  // *** le curseur redevient normal
      end;
    end;
     
    // *****************************************************************************
    procedure TFChess.SGDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    // ***  dessin d'une case en fonction de son contenu
    var
      x, y 			: integer;
      s     		: string;
      img_list  : TImageList;
    begin
      // ***  s contient la chaîne de la case en cours
      s := SG.Cells[ACol,ARow];
      // *** on détermine le rectangle pour dessiner
      Rect.Left := Rect.Left - 1;
      Rect.Top := Rect.Top - 1;
      Rect.Right := Rect.Right + 1;
      Rect.Bottom := Rect.Bottom + 1;
      if (ACol = 0) or (ARow = 0) then begin // s'il s'agit de la première colonne ou de la première ligne
      	 // *** on écrit en marron le contenu de la grille
        SG.Canvas.Font.Size := 9;
        SG.Canvas.Brush.Color := clSilver;
        SG.Canvas.Rectangle(Rect);
        SG.Canvas.Font.Color := clMaroon;
        x := ((Rect.Right - Rect.Left) - SG.Canvas.TextWidth(s)) div 2; // ***
        y := ((Rect.Bottom - Rect.Top) - SG.Canvas.TextHeight(s)) div 2; // ***
        SG.Canvas.TextOut(Rect.Left+x, Rect.Top+y, s);
      end
      else begin
      	// *** on prépare les cases noires
        if (ACol mod 2) = (ARow mod 2) then begin // ***  une sur deux, d'où le modulo
          SG.Canvas.Font.Size := 11;
          SG.Canvas.Brush.Color := clBlack;
          SG.Canvas.Rectangle(Rect);
          SG.Canvas.Font.Color := clWhite;
        end
        else begin  // *** idem pour les cases blanches
          SG.Canvas.Font.Size := 11;
          SG.Canvas.Brush.Color := clWhite;
          SG.Canvas.Rectangle(Rect);
          SG.Canvas.Font.Color := clBlack;
        end;
        // *** on passe au dessin des pièces
        if s <> '' then begin  // *** si la chaîne de départ n'est pas vide
          if s[2] = 'n'   // si sa deuxième lettre est n (c'est donc une pièce noire)
            then img_list := ilNoir    // *** on utilise les dessins des pièces noires
            else img_list := ilBlanc;  // *** sinon les dessins des pièces blanches
          img_list.DrawingStyle := dsTransparent; // *** on dessine pr transparence
          case s[1] of // *** étude de la première lettre (Tour, Cavalier, Fou, Dame, Roi, Pion)
             // on affiche le bon dessin
            'T' : img_list.Draw(SG.Canvas, Rect.Left+4, Rect.Top+4, 0);
            'C' : img_list.Draw(SG.Canvas, Rect.Left+4, Rect.Top+4, 1);
            'F' : img_list.Draw(SG.Canvas, Rect.Left+4, Rect.Top+4, 2);
            'D' : img_list.Draw(SG.Canvas, Rect.Left+4, Rect.Top+4, 3);
            'R' : img_list.Draw(SG.Canvas, Rect.Left+4, Rect.Top+4, 4);
            'P' : img_list.Draw(SG.Canvas, Rect.Left+4, Rect.Top+4, 5);
          end;
        end
        else begin // *** si la chaîne est vide
          x := ((Rect.Right - Rect.Left) - SG.Canvas.TextWidth(s)) div 2;
          y := ((Rect.Bottom - Rect.Top) - SG.Canvas.TextHeight(s)) div 2;
          SG.Canvas.TextOut(Rect.Left+x, Rect.Top+y, s);
        end;
    	end;
    end;
     
    end.

  6. #6
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 252
    Points : 7 152
    Points
    7 152

    Par défaut

    Salut,

    Citation Envoyé par LerikalBless Voir le message
    voici pour tout ce qui est affichage des pions, j'ai fais en sorte avec le TesPion que mes points peuvent avancer d'une case. Je voudrai savoir comment m'occuper des pièces " Fou " et " Tour " s'il vous plaît
    Dans la mesure où tu ne t'es absolument pas occupé des conseils qui t'ont été donné, personnellement je me désintéresse de cette discussion.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modélisation des pièces courante et suivante d'un jeu Tetris
    Par pitchu dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 10/03/2015, 18h23
  2. Affichage des coups joués de jeu d'échecs
    Par Narlen27 dans le forum Tkinter
    Réponses: 1
    Dernier message: 03/12/2013, 19h05
  3. Déplacement en fonction des pièces jointes
    Par ZeitnotZatopek dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 09/07/2010, 11h13
  4. affichage des pièces jointe sous outllook 2000
    Par darkbm dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 29/10/2003, 11h32

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