Remédiation au projet

Après avoir discuté avec une aide extérieure, nous avons finalement décidé de recommencer notre projet sur Javascool qui est un logiciel sur lequel tout est plus simple et surtout sur lequel il n'y a pas besoin de graphisme. Après avoir réaliser un projet sur Javasccol, c'est a dire qui marche, nous avons décidé de tenter de le transcrire sur processing.

Thibaut et Fiona ont travaillé sur ce projet, notamment sur le problème des boucles while qui n'étaient pas appropriées.

Nous avons tenter de remplacer les boucles while en boucle for, ce qui n'a pas permis de régler le problème car sans ces boucles, le programme n'est plus utilisable.

Mais les langages étant différents il nous a été compliqué d'appliquer notre code de javascool sur processing, nous avons donc finalement choisi de conserver notre projet avec le logiciel Javascool.

 

Cependant, sur Javascool, nous obtenons une version simplifiée de la bataille navale que nous avions initialement prévue.

 

Voici un aperçu du résultat de notre code sur Javascool :

 

Il retrouve ici, les règles du jeu, ainsi que la taille des bateaux à découvrir mais aussi une nouvelle fenêtre dans laquelle il faut rentrer l'abscisse puis l'ordonnée de la première case que l'on veut choisir, ce qui entraînera l'apparition de la grille de jeu.

 

Comme on le voit sur l'image ci-dessus, la grille est désormais visible, et l'ordinateur nous répond au sujet de la case choisie : soit « dans l'eau », soit « touché », et si une case a déjà été touché « déjà touché ».

 

Nous allons désormais expliquer les différents blocs de notre code:

 

 

 

Il s'agit ici de créer la grille sous forme de tableau.

La boucle for permet de donner une valeur a chaque case en allant plus vite, car la case suivante prends la valeur de la case précédente +1 et ce tant que le nombre de case est inférieur ou égal a 9.

Cela se fait pour les lignes mais aussi pour les colonnes. 

 

 

 

Nous avons ici le tirage aléatoire des bateaux.

Il y a un tirage aléatoire pour la taille du bateau mais aussi pour le choix du bateau.

X et Y sont les coordonnées de leur position sur la grille.

La taille du bateau est un nombre choisi par tirage entre 1 et 5. 

 

 

Dans ce bloc, qui ne s'applique que pour le premier bateau, nous avons un tirage aléatoire pour la position de ce bateau dans la grille en fonction de sa taille afin qu'il ne dépasse pas de cette dernière.

En effet, la position du bateau dépend de sa taille car le tirage aléatoire se fait entre 1 et puis 6 moins la taille du bateau qui ne peux etre comprise qu'entre 1 et 5.

Ce système est répété pour les 4autres bateaux cependant le nombre auquel on soustrait la taille du bateau est différent à chaque fois. 

 

 

Nous avons ensuite ce qui nous sert de boucle de jeu. Cela comprends donc les règles du jeu qui s'afficheront dans la console.

Il y a donc les règles, la taille des différents bateaux ainsi que la fenêtre supplémentaire qui permet de rentrer l'abscisse et l'ordonnée de la case que l'on choisi. Etant donné qu'il y a 9 cases et 9 colonnes, l'abscisse et l'ordonnée doivent être comprises entre 1 et 9. 

 

 

Ici, il s'agit de la réponse de l'ordinateur en fonction des cases choisies :

Il va répondre par « touché » si la case choisie comporte un bateau, « dans l'eau » s'il n'y a rien sous cette case ou bien « dejà touché ».

La grille est formé de chiffres. 

 

Il y a dans ce bloc, la programmation de la grille.

La grille est composée de 0. Lorsqu'une case est demandée, le 0 se transforme :

soit en ~, si la case est dans l'eau

soit en +, si un bateau se cache derrière.

 

 

Ce dernier bloc permet de mettre fin au jeu, avec l'affichage du nombre de coup utilisés afin de découvrir toutes les cases occupées par les bateaux