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

C Discussion :

Construire un plateau d'échecs


Sujet :

C

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 8
    Par défaut Construire un plateau d'échecs
    Bonsoir !

    Je dois construire un plateau d'échecs (8x8 cases vides correspondant à des espaces où on placera les pions) sans les pions pour l'instant.

    J'ai jusqu'à maintenant le code suivant mais le plateau ne se construit pas correctement et après de longues analyses, je n'arrive pas à corriger le problème...

    Auriez-vous une idée de ce qui ne va pas ?
    A priori j'ai deux fois la suite underscore et espace à la suite mais je ne vois pas très bien ce qui pose problème.

    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
     
    #include <stdio.h>
    #define ver 16
    #define hor 16
     
    void board();
     
    char tab[ver][hor];
     
    main()
    {
    	int cpt01;
    	int cpt02;
     
    	board();
     
    	for(cpt01=0 ; cpt01<(ver+1) ; cpt01++) 
    	{
    		for(cpt02=0 ; cpt02<(hor+1) ; cpt02++)
    		{
    			if(cpt02==ver)
    			{
    			printf("%c\n", tab[cpt01][cpt02]);
    			}
    			else
    			{
    			printf("%c", tab[cpt01][cpt02]);	
    			}
    		}
    	}
    }
     
    void board()
    {
    	int cpt1;
    	int cpt2;
     
    	for(cpt1=0 ; cpt1<(ver+1) ; cpt1++)
    	{	
    		for(cpt2=0 ; cpt2<(hor+1) ; cpt2++)
    		{	
    			if((cpt1&2)==0)
    			{			
    				if((cpt2%2)==0)
    				{
    					tab[cpt1][cpt2]=' ';
    				}	
    				else
    				{
    					tab[cpt1][cpt2]='_';
    				}
    			}	
    			else
    			{
    				if((cpt2%2)==0)
    				{
    					tab[cpt1][cpt2]='|';	
    				}
    				else
    				{
    					tab[cpt1][cpt2]=' ';
    				}
    			}		
    		}
    	}
    }
    Merci beaucoup !
    auroreK

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 201
    Par défaut
    Bonjour,
    Tu déclares un tableau de 16x16, et tu initialises 17x17 éléments.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 801
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Mis à part la judicieuse remarque de tbc92 (pourquoi, quand on a un tableau de "n", boucler jusqu'à "n+1" ?????????????) il ya des choses largement améliorables

    Exemple
    Citation Envoyé par auroreK Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    			if(cpt02==ver)
    			{
    			printf("%c\n", tab[cpt01][cpt02]);
    			}
    			else
    			{
    			printf("%c", tab[cpt01][cpt02]);	
    			}
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    			printf("%c", tab[cpt01][cpt02]);
    			if(cpt02==ver) printf("\n");

    Sinon main() est de type int et si tu essayes de ne pas céder à la facilité des variables globales tu auras peut-être plus de mal au début mais tu en retireras ensuite beaucoup d'avantages.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 8
    Par défaut
    Merci pour vos remarques.
    De plus, mettre un underscore ne crée t-il pas un gros espace juste au dessus ?
    Le tableau n'aurait-il pas été bizarre ?

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 801
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par auroreK Voir le message
    De plus, mettre un underscore ne crée t-il pas un gros espace juste au dessus ?
    Le tableau n'aurait-il pas été bizarre ?
    C'est ce qu'on appelle de "l'ascii art" (art ascii): utiliser les caractère ascii pour faire un dessin.
    Ceci dit, avant de faire écrire ton tableau par un programme C, tu peux d'abord l'écrire à la main dans un fichier texte et voir comment ça rend...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. un plateau en SDL...
    Par maniaco_jazz dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 24/02/2004, 16h48
  2. Réponses: 3
    Dernier message: 14/02/2004, 10h10
  3. Difficulté à construire une requête
    Par coolcpu dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/10/2003, 00h43
  4. construire 1 gateway avec 1 carte réseaux sous débian
    Par regular dans le forum Développement
    Réponses: 4
    Dernier message: 28/08/2003, 01h05
  5. Construire chemin sur bouton avec évt Javascript
    Par Ph. B. dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/05/2003, 10h26

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