Scheme

Fermé
Mefranis Messages postés 4 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 13 novembre 2010 - 3 déc. 2009 à 07:46
 Spoted - 10 déc. 2009 à 20:52
Bonjour a tous,
Voila je vous ecris car j'ai un probleme en langage scheme
Je dois programmer une bataille navale pour un projet.
La 1ere chose a faire est écrire une fonction qui permettrait de générer une grille d'une taille choisie par l'utilisateur et le seul indice qu'on m'a donné est qu'il faudrait le faire avec des listes.
Une principale qui serait la 1ere colonne verticale et qui contiendrait d'autres listes pour faire les lignes horizontales, mais je ne vois vraiment pas comment commencer..

J'aurais voulu savoir si des gens avaient une idée sur comment démarrer ca :)
Merci a tous

1 réponse

Tu définis deux variables : longueur et largeur qui valent 0 au départ.
Tu demandes à l'utilisateur (display) de rentrer la valeur de la longueur de la grille (qui sera la même que celle de la largeur) avec un (set! longueur (read)) puis tu crées une fonction récursive avec comme critère d'arrêt largeur = 0, qui va rajouter un élément (0 par exemple) à une liste vide puis rappeler cette fonction avec pour paramètre largeur - 1.
Tu viens alors de créer une ligne. Tu crées ensuite une autre fonction récursive avec longueur = 0 en critère d'arrêt qui va rajouter à un liste vide t'as ligne précédemment créée puis va se rappeler avec pour paramètre longueur -1.
Ou plus simple tu regardes battleship.ss
2