Variable non actualisée conio.h
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Variable non actualisée conio.h



  1. #1
    Nestati

    Variable non actualisée conio.h


    ------

    Bonjour, j'essaie de faire un genre de "puissance 4" dans la console avec de la l'affichage graphique grâce à la bibliothèque conio que je n'ai jamais utilisée. Mon problème ici, est que la variable k ne varie pas et ne change pas la variable COULEUR_J pour alterner entre la couleur "2" et "5". Je n'arrive pas à voir pourquoi sachant que le reste fonctionne correctement. Merci de votre aide

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    int TAILLEx=6;
    int TAILLEy=7;
    int colonneA=5,colonneB=5,colonneC=5,colonneD=5,colonneE=5,colonneF=5,colonneG=5;
    int main(void)
    {
        clrscr();
        int i, j,k=2,choix;
    
        //ALLOCATION MEMOIRE
        int *colonne=(int*)malloc(sizeof(int));
        int **arr = (int **)malloc(TAILLEx * sizeof(int *));
        for (i=0; i<TAILLEx; i++)
             arr[i] = (int *)malloc(TAILLEy * sizeof(int));
    
        //INITIALISATION DU TABLEAU A 0 PARTOUT
        initialiser(arr);
    
    while(1){
    
        jouer(arr);
        afficher(arr);
    
    }
       return 0;
    }
    
    void initialiser(int **arr){
        int i,j;
        for (i = 0; i <  TAILLEx; i++)
          for (j = 0; j < TAILLEy; j++)
             arr[i][j] = 0;
    
    }
    
    void afficher(int **arr){
    
    
        int i,j;
        for (i = 0; i <  TAILLEx; i++){
            //printf("\n");
            for (j = 0; j < TAILLEy; j++){
                textcolor(j+1);
                textbackground(arr[i][j]);
                gotoxy(j*2+10,i+10);
                printf("%d",arr[i][j]);
            }
        }
    }
    
    void jouer(int **arr){
        int i,j,k=2,COULEUR_J;
        char choix;
        if(k%2==0){
                COULEUR_J=2;
                k++;
        }
        else{
                COULEUR_J=5;
                k++;
        }
        //TEST
        gotoxy(1,24);
        printf("%d",k);
        //
        gotoxy(1,23);
        printf("Quelle colonne voulez vous jouez ? (A,B,C,D,E,F,G) ");
        scanf("%c",&choix);
        switch(choix){
            case 'A': arr[colonneA][0]=COULEUR_J;colonneA--;break;
            case 'B': arr[colonneB][1]=COULEUR_J;colonneB--;break;
            case 'C': arr[colonneC][2]=COULEUR_J;colonneC--;break;
            case 'D': arr[colonneD][3]=COULEUR_J;colonneD--;break;
            case 'E': arr[colonneE][4]=COULEUR_J;colonneE--;break;
            case 'F': arr[colonneF][5]=COULEUR_J;colonneF--;break;
            case 'G': arr[colonneG][6]=COULEUR_J;colonneG--;break;
            default: break;
        }
    
    
    
    
    }

    -----

  2. #2
    Nestati

    Re : Variable non actualisée conio.h

    En déclarant k en variable global cela alterne une seule fois je viens d'essayer cela.

  3. #3
    umfred

    Re : Variable non actualisée conio.h

    de plus tu initialises toujours k à 2 dans jouer() donc tu repars du même point à chaque appel à jouer

Discussions similaires

  1. équation differentielle second ordre homogène coef variable et delta variable
    Par invite7d55b3c3 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 10/02/2015, 18h20
  2. comment déterminer une densité d'une variable qui est en fonction d'une autre variable
    Par invite1e252b6d dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 11/09/2010, 21h30
  3. omment déterminer une densité d'une variable qui est en fonction d'une autre variable
    Par invite1e252b6d dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 11/09/2010, 14h41
  4. comment déterminer une densité d'une variable qui est en fonction d'une autre variable
    Par invite1e252b6d dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 04/09/2010, 21h40
  5. Valeur actualisée nette
    Par invite17fd9cf2 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 11/05/2008, 16h43