Bonjour à tous,
Dans le cadre de nos cours de C je doit faire un petit projet, et j'ai choisi de réaliser une bataille navale en graphique (j'utilise allegro, faute de connaitre autre chose...)
Et je bloque totalement à la fonction qui place aléatoirement les bateaux sur la grille (plus particulièrement au cas ou un bateau viendrait à en croiser un autre)

voila la boucle que j'ai deja faite mais qui ne marche pas... :
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
 
for(Tbateaux=0;Tbateaux<5;Tbateaux++)
    {
        direction = nb_aleatoire_0_1(); //on genere la direction du bateau
 
        if(direction == 0) //si direction en x
        {
            while(x[Tbateaux]+(Tbateaux+1)>9&&x[Tbateaux]-(Tbateaux+1)<0) //si ca depasse a gauche ou a droite
            {
                for(i=0;i<Tbateaux+1;i++) // i correspond à la taille du bateau
                {
                    if(bateauxPJ[x[Tbateaux]+i][y[Tbateaux]] == 1) //si le bateau a placer en croise un autre
                    {
                        x[Tbateaux] = nb_aleatoire_1_10();
                        y[Tbateaux] = nb_aleatoire_1_10();
                    }
                }
            }
 
            for(i=0;i<=Tbateaux+1;i++) //une fois qu'on est sur que les bateaux sont bien placés, on les inscrits réellement dans le tableau
            {
                 bateauxPJ[x[Tbateaux]+i][y[Tbateaux]] = 1;
            }
 
        }
    }
Excusez-moi si le code n'est pas très propre...
Merci d'avance pour votre aide!