Programme programme jeu Javascript
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Programme programme jeu Javascript



  1. #1
    invite8a39ca50

    Unhappy Programme programme jeu Javascript


    ------

    Salut à tous !
    Assez urgent, j'ai un projet d'école à faire (le principe est une bataille navale à exécuter sur Algoscript), mais lorsque j'exécute le programme cela ne fonctionne pas (la colonne/ligne que l'ont tape n'affiche pas forcément la case de la bonne couleur dans le graphisme dans l'onglet "Graphic Output" d'algoscript),
    Si quelqu'un pouvait me dire ce qui ne fonctionne pas, c'est un génie ! Voici le code ci-dessous :

    Code:
    //Bataille navale
    var Plateau = Tableau(10, 10); // plateau pour jouer
    var facteur; // Entier qui sert à multiplier la taille des carreaux
    var coups, bateaux; // Entiers
    var SousMarin, Torpilleur, PorteAvion, Titanic; // Entiers, Les différents types de bateaux
    var i; // Compteur
    Plateau = [
      [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0, 2, 2, 2, 2],
      [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0, 0, 3, 0, 0],
      [4, 4, 4, 0, 0, 0, 0, 3, 0, 0],
      [0, 0, 0, 0, 0, 0, 0, 3, 0, 0]
    ];
    
    EffacerEcran(); // on efface la grille afin que l'utilisateur ne voit pas les bateaux
    facteur = 50; // taille  de la grille
    for (indice_ligne = 0; indice_ligne < Taille(Plateau); indice_ligne = indice_ligne + 1) { // permet de tracer le tableau sur lequel on joue
      for (indice_colonne = 0; indice_colonne < Taille(Plateau); indice_colonne = indice_colonne + 1) {
        Rectangle(indice_ligne * facteur, indice_colonne * facteur, facteur, facteur, 'black');
      }
    }
    
    SousMarin = 0;
    Torpilleur = 0;
    PorteAvion = 0;
    Titanic = 0;
    coups = 0;
    bateaux = 0;
    
    
    while (bateaux < 15) { // boucle qui s'arrête quand tous les bateaux ont été coulés
      ligne = Saisie('saisir le numéro de la colonne, compris entre  0 et 9');
      colonne = Saisie('saisir le numéro de la ligne, compris entre 0 et 9');
      RectanglePlein(530, 10, 350, 100, 'red'); // permet de faire disparaitre le texte des bateaux touchés
      if ((Plateau[ligne][colonne] == 1) || (Plateau[ligne][colonne] == 2) || (Plateau[ligne][colonne] == 3) || (Plateau[ligne][colonne] == 4)) {
        if (Plateau[ligne][colonne] == 1) { // compteur des différents bateaux touchés + indication à l'écran
          setCanvasFont('helvetica', '25pt', 'bold');
          Texte(550, 40, 'Sous-Marin touché', 'red');
          SousMarin = SousMarin + 1;
        } else {
          if (Plateau[ligne][colonne] == 2) {
            setCanvasFont('helvetica', '25pt', 'bold');
            Texte(550, 40, 'Torpilleur touché', 'red');
            Torpilleur = Torpilleur + 1;
          } else {
            if (Plateau[ligne][colonne] == 3) {
              setCanvasFont('helvetica', '25pt', 'bold');
              Texte(550, 40, 'Porte Avion touché', 'red');
              PorteAvion = PorteAvion + 1;
            } else {
              if (Plateau[ligne][colonne] == 4) {
                setCanvasFont('helvetica', '25pt', 'bold');
                Texte(550, 40, 'Titanic touché', 'red');
                Titanic = Titanic + 1;
              }
            }
          }
        }
        Plateau[ligne][colonne] = 6; // bateaux touchés
        bateaux = bateaux + 1; // accumulateur de bateaux touchés
      } else {
        Plateau[ligne][colonne] = 7; // missiles à l'eau
      }
      if (SousMarin == 5) { // indication des bateaux coulés et apparition à l'écran
        setCanvasFont('helvetica', '25pt', 'bold');
        Texte(550, 300, 'Sous Marin coulé', 'blue');
        SousMarin = 0;
      } else {
        if (Torpilleur == 4) {
          setCanvasFont('helvetica', '25pt', 'bold');
          Texte(550, 350, 'Torpilleur coulé', 'blue');
          Torpilleur = 0;
        } else {
          if (PorteAvion == 3) {
            setCanvasFont('helvetica', '25pt', 'bold');
            Texte(550, 400, 'Porte Avion coulé', 'blue');
            PorteAvion = 0;
          } else {
            if (Titanic == 3) {
              setCanvasFont('helvetica', '25pt', 'bold');
              Texte(550, 450, 'Titanic coulé', 'blue');
              Titanic = 0;
            }
          }
        }
      }
      for (indice_ligne = 0; indice_ligne < Taille(Plateau); indice_ligne = indice_ligne + 1) {
        for (indice_colonne = 0; indice_colonne < Taille(Plateau); indice_colonne = indice_colonne + 1) {
          if (Plateau[indice_ligne][indice_colonne] == 7) {
            RectanglePlein(indice_ligne * facteur, indice_colonne * facteur, facteur, facteur, 'blue'); // représente les missiles coulés
          } else {
            if (Plateau[indice_ligne][indice_colonne] == 6) {
              RectanglePlein(indice_ligne * facteur, indice_colonne * facteur, facteur, facteur, 'red'); // représente les bateaux touchés
            }
          }
        }
      }
      coups = coups + 1; // compte les coups
    }
    setCanvasFont('helvetica', '30pt', 'bold'); // fin de la partie et résultats
    Texte(100, 200, 'vous avez coulé tous les bateaux !', 'green');
    setCanvasFont('helvetica', '30pt', 'bold');
    Texte(100, 300, 'votre nombre de coups est de : ' + coups, 'green');
    // fin du programme

    -----
    Dernière modification par JPL ; 20/12/2020 à 14h57. Motif: ajout de la balise Code (#) pour garder l’indentation

  2. #2
    invitefa514cd9

    Re : Programme programme jeu Javascript

    salut, aurais tu donc le code corrigé ? 222222222222222222222222222222

Discussions similaires

  1. j besoin l'organigramme et programme programme fortran
    Par invitef80a6e9c dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 14/03/2015, 00h28
  2. Réponses: 2
    Dernier message: 08/01/2015, 15h04
  3. Réponses: 2
    Dernier message: 29/06/2014, 20h44
  4. Programme Javascript
    Par inviteb99c59f7 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 01/05/2012, 23h52
  5. comment utiliser les résultats d'un programme fortran dans un autre programme
    Par invitedb78a3a3 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 30/09/2010, 20h21