Merci pour ces retours, je crois que je comprends mieux.
Kermo : un X parce que mon tableau de base est rempli de O, et lorsqu'un bateau est positionné au départ, je change les O de la zone en X, chaque X représentant un bout de bateau pas encore coulé. Les bouts touchés sont des = et les tirs ratés sont des *. Donc tant qu'il reste des X dans la liste, c'est qu'il reste du bateau touché.
L'avantage c'est que comme j'ai choisi de demander en début de partie aux joueurs la taille du terrain (de 3*3 à 10*10), en vérifiant la présence de X plutôt qu'un compteur, je n'ai pas besoin de complexifier : quelque soit la taille du terrain, mon « while » est valable.
Cela dit, je pourrai compter au départ de la partie le nombre de "X" et donner cette valeur au compteur et avoir un while compteur > 0, en décrémentant le compteur à chaque fois qu'un bateau est touché.
Je trouve plus simple de checker les X, mais peut-être que dans l'absolu, si on pouvait avoir des tableaux immenses, ça serait moins rapide, c'est ça ?
En tout cas, là où je commence à me casser la tête, c'est sur l'option que j'avais prévue de mettre, à savoir pouvoir jouer contre l'ordi et donc faire des placements automatiques de bateau par l'ordi. Ce qui nécessite tout un tas de vérifications pour que les placements respectent les règles de base.
|