Rand de plusieurs "if"? (C)

Résolu
Bonjour,

Est-il possible de rand de if, de printf ou autres?

Par exemple faire un random de ces if, pour faire en sorte que le déplacement du personnage situé en a et b soit pseudo aléatoire...

if(table[a][b+1] == '.' || table[a][b+1] == ' '){ b++; }
if(table[a][b-1]  == '.' || table[a][b-1]  == ' '){ b--;   }
if(table[a+1][b] == '.' || table[a+1][b] == ' '){ a++; }
if(table[a-1][b]  == '.' || table[a-1][b]  == ' '){ a--;   }


3 réponses

  1. Contributeur
    en pseudo code, tu peux faire :
    while (a==a && b==b)//en gros tu test voir si tu te déplaces
       {
    int s=rand()%4;
    switch (s){
    case 0:if(table[a][b+1] == '.' || table[a][b+1] == ' '){ b++; }
    case 1:if(table[a][b-1]  == '.' || table[a][b-1]  == ' '){ b--;   }
    case 2:if(table[a+1][b] == '.' || table[a+1][b] == ' '){ a++; }
    case 3:if(table[a-1][b]  == '.' || table[a-1][b]  == ' '){ a--;   }
    }

    Enfin, c'est une idée.
    C'est pour tes fantômes ?
    0
    1. Si voilà c'est pour les fantômes, je vais essayer ca merci :)
      0
      1. Merci sa marche, je n'avais pas pensé en switch :) Merci
        0