I'm blocked with a NullPointerException

So i'm new at progtamming and i'm creating a programm for school and i don't know why i always got first a "NullPointerException" then a "Could not run the sketch (Target VM failed to initialize). For more information, read revisions.txt and Help ? Troubleshooting." i look over and over at my code and i don't understand what's the problem..

Here is my code if needed :

//String mot="Ordinateur"; // mot test
float FRmot;
int Rmot;
String Bmot[] = new String[10];
String mot;
int longueurmot; //longueur de la chaîne du mot à deviner en lettre
int xDTiret; // position X de départ du tiret
int yTiret=200; // postiion Y du tiret
int xFTiret; // position X de fin du tiret
int espaceTiret=70; // espace entre 2 tirets
PImage classe; // charge l'image du fond d'écran
char tabmot[]=new char[longueurmot];// tableau contenant le nombre de lettres du mot à deviner
PImage dessinPenduEntier;
PImage BarreDuHaut;
PImage BarreDuHautETBarreVerticale;
PImage BarreDuHautETbarreVerticaleETbarreDuBas;
PImage BarreDuHautETbarreVerticaleETbarreDuBasETangleETcorde;
PImage BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETtete;
PImage BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorps;
PImage BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGauche;
PImage BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGaucheETbrasDroit;
PImage BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGaucheETbrasDroitETjambeGauche;
PImage PERDU;
PImage GAGNE;
int points=0; //nombre de bonnes lettres qu'a trouvé le joueur
int fautes=0; // nombre de fautes qu'a fait le joueur
int nbEssais=10-fautes; // nombre d'essais qui reste au joueur
boolean erreur=false; // détecte si la lettre tapée ne correspond pas à la lettre testée
boolean presence=false; // détecte si la lettre tapée est présente dans le mot

void settings()
{
  size(1200, 810);
}
void setup()
{


  chargeMotAleatoire();
  xDTiret=600/longueurmot;
     xFTiret=xDTiret+50;
  loadImages(); // fonction chargeant toutes les images du programme
  //bibliotheque();
  background(classe); // image comme fond d'écran
  fill(0); // tirets en noirs
  dessineTirets(); // dessine les tirets à remplacer par les lettres à deviner
  textSize(100); // taille de la première lettre du mot
  text(mot.charAt(0), xDTiret-(longueurmot+1)*espaceTiret, yTiret); // écrire la première lettre du mot
  textSize(50); // taille du compteur de lettres
  text(longueurmot+1, 500, 100); // afficher le nombre de lettres que contient le mot
  for (int n=0; n<longueurmot; n++)
  {    
    tabmot[n]=(mot.charAt(n+1));
  }
}
void draw()
{
  ChargerNouveauMot(); // bouton permettant de charger un nouveau mot à deviner
  Instructions(); // affiche les instructions sur le tableu
  dessinependu(); // dessine le pendu au fur et à mesure que le joueur fait une erreur
  gagne(); // affiche le message et l'image spécifique lorsque le joueur trouve le mot avant d'être pendu
}
void dessineTirets() // dessinne les tirets
{

  for (int n=0; n<longueurmot; n++) // dessine "nombre de lettres" fois un tiret 
  {

    line(xDTiret, yTiret, xFTiret, yTiret); // tiret
    xDTiret=xDTiret+espaceTiret; // position X de départ prochain tiret
    xFTiret=xFTiret+espaceTiret; // position X final du prochain
  }
 }
void ChargerNouveauMot()
{
  fill(200, 150, 20); // couleur du bouton
  stroke(50, 100, 250); // couleur des contours du bouton
  rect(820, 430, 340, 85); // bouton
  fill(0); 
  textSize(30);
  text("Clique ici pour charger un nouveau mot", 820, 430, 340, 85);
  /*if ((mouseX>=820)&&mouseX<=820+340 && mouseY>=430 && mouseY<=430+85) && mousePressed && (mouseButton == LEFT)) // test si la souris est dans le bouton puis si elle est pressée
   {
   //on charge un mot aléatoire
   }*/
}
void Instructions()
{
  noFill();
  noStroke();
  rect(200, 270, 260, 200);
  textSize(15);
  fill(245, 245, 220);
  text("Appuie sur une touche de ton clavier pour chercher la bonne lettre", 200, 280, 260, 200);
  text("Il te reste ", 200, 360, 260, 200);
  text(nbEssais, 272, 376);
  text(" essais", 290, 375);
}
void keyPressed()
{
  {
    if ((key>='a' && key<='z') ||(key>='A' && key<='Z' ))
    {
      for (int n=0; n<longueurmot; n++)
      {
        if (key==tabmot[n])
        {
          presence=true;
          fill(0);
          textSize(100);
          text(key, xDTiret-(longueurmot-n)*espaceTiret, yTiret);
          points=points+1;
        }
        if (key!=tabmot[n])
        {
          erreur=true;
          if (presence==false)
          {
            fautes=fautes++;
          }
        }
      }
    }
  }
}

void loadImages() 
{

  classe=loadImage("Classe.jpg"); //définition de l'image
  dessinPenduEntier = loadImage("imgpendu.png");
  BarreDuHaut = loadImage("barre du haut.png");
  BarreDuHautETBarreVerticale = loadImage("barre du haut + barre verticale.png");
  BarreDuHautETbarreVerticaleETbarreDuBas = loadImage("barre du haut + barre verticale + barre du bas.png");
  BarreDuHautETbarreVerticaleETbarreDuBasETangleETcorde = loadImage("barre du haut + barre verticale + barre du bas + angle + corde.png");
  BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETtete = loadImage("barre du haut + barre verticale + barre du bas + angle + corde + tete.png");
  BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorps = loadImage("barre du haut + barre verticale + barre du bas + angle + corde + tete + corps.png");
  BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGauche = loadImage("barre du haut + barre verticale + barre du bas + angle + corde + tete + corps + bras gauche.png");
  BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGaucheETbrasDroit = loadImage("barre du haut + barre verticale + barre du bas + angle + corde + tete + corps + bras gauche + bras droit.png");
  BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGaucheETbrasDroitETjambeGauche =     loadImage("barre du haut + barre verticale + barre du bas + angle + corde + tete + corps + bras gauche + bras droit + jambe gauche.png");
  PERDU=loadImage("Titeuf_PERDUtr.png");
  GAGNE=loadImage("Titeuf_GAGNEtr.png");
}
void dessinependu() {
  if (fautes==1) {
    image(BarreDuHaut, width/1.5, height/25);
  }
  if (fautes==2) {
    image(BarreDuHautETBarreVerticale, width/1.5, height/25);
  }
  if (fautes==3) {
    image(BarreDuHautETbarreVerticaleETbarreDuBas, width/1.5, height/25);
  }
  if (fautes==4) {
    image(BarreDuHautETbarreVerticaleETbarreDuBasETangleETcorde, width/1.5, height/25);
  }
  if (fautes==5) {
    image(BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETtete, width/1.5, height/25);
  }
  if (fautes==6) {
    image(BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorps, width/1.5, height/25);
  }
  if (fautes==7) {
    image(BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGauche, width/1.5, height/25);
  }
  if (fautes==8) {
    image(BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGaucheETbrasDroit, width/1.5, height/25);
  }
  if (fautes==9) {
             image(BarreDuHautETbarreVerticaleETbarreDuBasETangleETcordeETteteETcorpsETbrasGaucheETbrasDroitETjambeGauche,     width/1.5, height/25);
  }
  if (fautes==10) {
    image(dessinPenduEntier, width/1.5, height/25);
    image(PERDU, 300, 350);
    textSize(60);
    fill(0);
    text("TU AS PERDU ! Charge un nouveau mot", 20, 700);
  }
}
void gagne()
{
  if (points==longueurmot)
  {
    image(GAGNE, 300, 350);
    textSize(50);
    fill(0);
    text("BRAVO TU AS GAGNÉ ! Charge un nouveau mot", 20, 700);
  }
}
void bibliotheque()
 {
 Bmot[10]="ordinateur";
 Bmot[2]="voiture";
 Bmot[3]="clavier";
 Bmot[4]="classe";
 Bmot[5]="ecole";
 Bmot[6]="telephone";
 Bmot[7]="maison";
 Bmot[8]="table";
 Bmot[9]="television";
 Bmot[10]="chose";
 }
void chargeMotAleatoire()
{
  FRmot=random(1, 10);
  Rmot=int(FRmot);

  mot=Bmot[Rmot];
  longueurmot=mot.length()-1;
}

Thanks for your attention and sorry for my bad english..

barre du haut + barre verticale + barre du bas + angle + corde + tete + corps + bras gauche + bras droit + jambe gauche

barre du haut + barre verticale + barre du bas + angle + corde + tete + corps + bras gauche + bras droit

barre du haut + barre verticale + barre du bas + angle + corde + tete + corps + bras gauche

barre du haut + barre verticale + barre du bas + angle + corde + tete + corps

barre du haut + barre verticale + barre du bas + angle + corde + tete

barre du haut + barre verticale + barre du bas + angle + corde

barre du haut + barre verticale + barre du bas

barre du haut + barre verticale

barre du haut

Classe

imgpendu

Titeuf_GAGNEtr

Titeuf_PERDUtr

Answers

  • at which line number is the error?

    not sure about the setting func - put size () in setup()?

Sign In or Register to comment.