begin process at 2010 02 10 06:25:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Turbo Pascal

 > CHESS

CHESS


 Description

Cliquez pour voir la capture en taille normale
Je voudrais que l'on m'aide pour continuer et simplifié le jeu que je suis en train de construire. En fait, pour l'instant, je voudrais savoir si il est possible de simplifié le code du jeu (c'est-à-dire du plateau), qui prends déjà énorméùent de place.^^
Ce début de programme à été écrit en turbo pascal 7.0.

Source

  • PROGRAM chess;
  • USES
  • CRT, DOS;
  • VAR
  • compte_colonne : BYTE;
  • compte_ligne : BYTE;
  • car : CHAR;
  • BEGIN
  • CLRSCR;
  • (* les cases de l'‚chiquier *)
  • GOTOXY(3,2);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,3);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,4);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,5);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,6);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,7);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,8);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,9);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,10);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,11);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,12);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,13);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,14);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,15);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,16);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • GOTOXY(3,17);
  • FOR compte_colonne := 1 TO 4 DO
  • BEGIN
  • TEXTCOLOR(WHITE);
  • WRITE('ÛÛÛ');
  • TEXTCOLOR(BLACK);
  • WRITE('ÛÛÛ');
  • END;
  • (* Les contours de l'‚chiquier *)
  • GOTOXY(2,1);;
  • TEXTCOLOR(WHITE);
  • WRITE('É');
  • GOTOXY(27,1);
  • WRITE('»');
  • GOTOXY(2,18);;
  • TEXTCOLOR(WHITE);
  • WRITE('È');
  • GOTOXY(27,18);
  • WRITE('¼');
  • FOR compte_colonne := 3 TO 26
  • DO
  • BEGIN
  • GOTOXY(compte_colonne,1);
  • WRITE('Í');
  • GOTOXY(compte_colonne,18);
  • WRITE('Í');
  • END;
  • FOR compte_ligne := 2 TO 17
  • DO
  • BEGIN
  • GOTOXY(2,compte_ligne);
  • WRITE('º');
  • GOTOXY(27,compte_ligne);
  • WRITE('º');
  • END;
  • (* chiffre pour les coordon‚es 'y' *);
  • GOTOXY(1,3);
  • WRITE('8');
  • GOTOXY(1,5);
  • WRITE('7');
  • GOTOXY(1,7);
  • WRITE('6');
  • GOTOXY(1,9);
  • WRITE('5');
  • GOTOXY(1,11);
  • WRITE('4');
  • GOTOXY(1,13);
  • WRITE('3');
  • GOTOXY(1,15);
  • WRITE('2');
  • GOTOXY(1,17);
  • WRITE('1');
  • (* Les lettres pour les coordonn‚es 'x' *)
  • GOTOXY(4,19);
  • WRITE('A');
  • GOTOXY(7,19);
  • WRITE('B');
  • GOTOXY(10,19);
  • WRITE('C');
  • GOTOXY(13,19);
  • WRITE('D');
  • GOTOXY(16,19);
  • WRITE('E');
  • GOTOXY(19,19);
  • WRITE('F');
  • GOTOXY(22,19);
  • WRITE('G');
  • GOTOXY(25,19);
  • WRITE('H');
  • car := READKEY;
  • END.
PROGRAM chess;
USES
  CRT, DOS;

VAR
compte_colonne : BYTE;
compte_ligne   : BYTE;
car            : CHAR;


BEGIN
  CLRSCR;

  (* les cases de l'‚chiquier *)
  GOTOXY(3,2);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,3);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,4);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,5);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,6);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,7);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,8);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,9);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,10);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,11);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,12);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,13);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,14);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,15);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,16);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;
   GOTOXY(3,17);
  FOR compte_colonne := 1 TO 4 DO
  BEGIN
    TEXTCOLOR(WHITE);
    WRITE('ÛÛÛ');
    TEXTCOLOR(BLACK);
    WRITE('ÛÛÛ');
  END;

  (* Les contours de l'‚chiquier *)
  GOTOXY(2,1);;
  TEXTCOLOR(WHITE);
  WRITE('É');
  GOTOXY(27,1);
  WRITE('»');
  GOTOXY(2,18);;
  TEXTCOLOR(WHITE);
  WRITE('È');
  GOTOXY(27,18);
  WRITE('¼');
  FOR compte_colonne := 3 TO  26
  DO
  BEGIN
   GOTOXY(compte_colonne,1);
  WRITE('Í');
  GOTOXY(compte_colonne,18);
  WRITE('Í');
  END;
  FOR compte_ligne := 2 TO 17
  DO
  BEGIN
    GOTOXY(2,compte_ligne);
    WRITE('º');
    GOTOXY(27,compte_ligne);
    WRITE('º');
  END;

  (* chiffre pour les coordon‚es 'y' *);
  GOTOXY(1,3);
  WRITE('8');
  GOTOXY(1,5);
  WRITE('7');
  GOTOXY(1,7);
  WRITE('6');
  GOTOXY(1,9);
  WRITE('5');
  GOTOXY(1,11);
  WRITE('4');
  GOTOXY(1,13);
  WRITE('3');
  GOTOXY(1,15);
  WRITE('2');
  GOTOXY(1,17);
  WRITE('1');

  (* Les lettres pour les coordonn‚es 'x' *)
  GOTOXY(4,19);
  WRITE('A');
  GOTOXY(7,19);
  WRITE('B');
  GOTOXY(10,19);
  WRITE('C');
  GOTOXY(13,19);
  WRITE('D');
  GOTOXY(16,19);
  WRITE('E');
  GOTOXY(19,19);
  WRITE('F');
  GOTOXY(22,19);
  WRITE('G');
  GOTOXY(25,19);
  WRITE('H');
  car := READKEY;
  END.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

CONVERSION D'UN NOMBRE COMPRIS 0 ET 999999999999999999 (18 C... par Hror
JEU DE BOULE par abdellahsaida
Source avec Zip ALGORITHME DU JEU TETRIS par darrylsite
Source avec Zip LE JEU NGRI-NGRAN par darrylsite
Source avec Zip CONVERSION D' UN NOMBRE EN TOUTES LETTRES par darrylsite

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PREMIER OU PAS? par ludokk
Source avec Zip Source avec une capture LE TRADITIONNEL JEU DU PENDU :) par Bacterius
Source avec Zip Source avec une capture RÉPERTOIRE TÉLÉPHONIQUE V1.0 par hamza
SUDOKU PASCAL par plasmaphobe
Source avec Zip JEU DE LEDS par hello007

Commentaires et avis

Commentaire de fbalien le 17/12/2006 17:23:10

Bonjour

hum faudrai ce familiariser avec les procédures et les fonctions pour structurer le code çà pourrait donner cela

PROGRAM chess;
USES
  CRT, DOS;

VAR
compte_colonne : BYTE;
compte_ligne   : BYTE;
car            : CHAR;

procedure dessiner_cadre;
begin
  (* Les contours de l'‚chiquier *)
  GOTOXY(2,1);;
  TEXTCOLOR(WHITE);
  WRITE('É');
  GOTOXY(27,1);
  WRITE('»');
  GOTOXY(2,18);;
  TEXTCOLOR(WHITE);
  WRITE('È');
  GOTOXY(27,18);
  WRITE('¼');
  FOR compte_colonne := 3 TO  26
  DO
  BEGIN
   GOTOXY(compte_colonne,1);
  WRITE('Í');
  GOTOXY(compte_colonne,18);
  WRITE('Í');
  END;
  FOR compte_ligne := 2 TO 17
  DO
  BEGIN
    GOTOXY(2,compte_ligne);
    WRITE('º');
    GOTOXY(27,compte_ligne);
    WRITE('º');
  END;
end;

procedure dessiner_coordonees;
var
  i : byte;
begin
  (* chiffre pour les coordon‚es 'y' *);
  for i := 1 to 8 do
  begin
    gotoxy(1,19-i*2);
    write(i);
  end;

  (* Les lettres pour les coordonn‚es 'x' *)
  GOTOXY(4,19);
  WRITE('A  B  C  D  E  F  G  H');
end;

procedure dessiner_case;
var
  i,j : byte;
begin
  textcolor(white);
  for i:= 0 to 7 do
  begin
    (*on test si i+1 est pair pour savoir si on debute
      par un noir ou un blanc en d‚callant l'ecriture de 3*)
    j :=round (frac((i+1)/2)*2);
    gotoxy(3+j*3,2+i*2);
    write('ÛÛÛ   ÛÛÛ   ÛÛÛ   ÛÛÛ');
    gotoxy(3+j*3,3+i*2);
    write('ÛÛÛ   ÛÛÛ   ÛÛÛ   ÛÛÛ');
  end;
end;

BEGIN
  CLRSCR;

  dessiner_case;
  dessiner_cadre;
  dessiner_coordonees;

  car := READKEY;
END.

Commentaire de f0xi le 18/12/2006 07:49:46 administrateur CS


je veux pas etre negatif mais, au bout d'un moment, faut passer a mieux...
turbo pascal c'est marrant deux secondes mais c'est obsolete et MsDos est mort.
de plus, tu fait comment aprés pour afficher les pionts ???!

Commentaire de Loda le 18/12/2006 09:00:17

@f0xi: +1

Commentaire de tyazer95880 le 18/12/2006 20:55:13

Merci de m'avoir simplifié mon code, je trouvais que sa faisait beaucoup de ligne pour peu de chose quand même. Les pions, je devrais m'y mettre demain normalement (si tout va bien)...

Commentaire de elguevel le 19/12/2006 20:27:58

Application MS-DOS oki, mais effectivement je suis d'accord avec fOxy : turbo pascal c'est un peu depassé et surtout pour faire des jeux. Puis faut arrêter avec des codes ligne à ligne, avec du procedural sans fonctions bourré de Goto.

Mais je felicite tout de même la patience des gens qui ont le courage d'écrire toutes ses lignes :-D (çà me rappel mon adolescence dans le QBasic !)

PS : De plus à l'peoque Turbo Pascal 7 implementait tout un ensemble de librairies nommées "Turbo Vision" qui permettait de faire des Menus, des StatutBar, des ProgressBars, etc... et meme çà personne s'en sert :-)

Commentaire de elguevel le 19/12/2006 20:31:24

De plus j'aurai placé ce post dans le Forum ..

Commentaire de econs le 21/12/2006 10:23:53 administrateur CS

Yep, cette source n'en est pas une. Il faut poser tes questions dans le forum.

Commentaire de goldd le 02/09/2008 11:44:37

hi

Commentaire de goldd le 02/09/2008 11:46:45


Comment développer le champ d'échecs en Delphi

Commentaire de goldd le 02/09/2008 11:52:30

Comment les pièces d'échecs dans une zone d'échecs en Delphi

Commentaire de econs le 02/09/2008 14:33:17 administrateur CS

Salut,
Tu ne parviens pas à poser une question intelligible en 3 commentaires, en plus, cette source est en turbo pascal ... tu risques fort d'attendre longtemps une réponse.
Passe plutôt par le forum pour exprimer ton besoin.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Débutant : Problème boucle for... [ par the.snake.plisken ] Je débute et j'aimerais faire une boucle comme en visual basic du type : for a = 1 to 300 step 3 mais sous delphi, je n'arrive pas à placer le step qu Pitier je suis débutant [ par max12 ] Si y'a des gens interresser a m'aider en Delphi puisque je débute je cherche quelqu'un prêt a m'aider a me donner quelque tuyauxMSN Messenger : x_men_ Probleme de débutant [ par Naxo ] BonjourAlors moi je me retrouve face à un probleme dont la solution estcertainement très simple mais bon... Après avoir cherché j'ai rien trouvé :|Je Probleme de débutant [ par Naxo ] BonjourAlors moi je me retrouve face à un probleme dont la solution estcertainement très simple mais bon... Après avoir cherché j'ai rien trouvé :|Je Débutant recherche Xplications ... [ par nono333 ] Je débute en Delphi, je recherche qq explications sur ce language, je connais un peu C++, VB et j'ai décidé de me mettre à Delphi!S 1 bon choix ???&lt Débutant .... et ça commence mal !!!!! [ par sana72 ] Bonjour,Je suis en train de decouvrir Delphi6Je "travail" sur l'éditeur de texte via le tutoriels de Delphi et là, j'aiun problêmeEffectivement sur la Help !!! Ici débutant. [ par Sweb167 ] Je voudrais apprendre à programmer avec Delphi.J'ai la version "6 Personnal Edition" en anglais.Pouvez vous m'indiquer des sites, des forumsou mêmes d Associer un .ico à une extension ( je suis débutant ça se sent ) [ par damanix ] ASSOCIER UNE EXTENSION À SON APPLICATION :http://www.delphifr.com/article.aspx?Val=90C'est vachement bien, mais comment fait on pour associer un .ico turbopascal [ par lesage ] je debute en pascal , j'ai un resultat dans mon programme, et j'aimerais savoir comment faire clignoter celui-ci avec des couleurs différentes.merci Débutant comprend pas ouvrir/fermer le lecteur! [ par Dejoul ] Bonjours à toutes et à tous.J'ai cherché une source pour ouvrir et fermer mes lecteurs CD, j'en ai bien trouvé mais je comprend pas comment on fait. I


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales