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... :
for(Tbateaux=0;Tbateaux<5;Tbateaux++)
{
direction = nb_aleatoire_0_1(); //on genere la direction du bateau
if(direction == 0) //si direction en x
{
i = 0;
while(x[Tbateaux]+(Tbateaux+1)>9&&x[Tbateaux]-(Tbateaux+1)<0) //si ca depasse a gauche ou a droite
{
while(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();
if(i>Tbateaux+1) i = 0;
}
}
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;
}
}
}
Pour indication, les tableaux x[] et y[] correspondent aux cases de départs d'un bateau :
x[0] = n° de case en x du minier (taille : 2)
x[1] = n° de case en x du sous-marin (taille : 3)
x[2] = n° de case en x de la fregate (taille : 4)
x[3] = n° de case en x du destroyer (taille : 5)
x[4] = n° de case en x du porte-avion (taille : 6)
la meme chose en y.
Je suis débutant( de moin en moin

), excusez-moi si le code n'est pas tres propre.
Merci d'avance pour votre aide!