Erruer code java script inconnue - Javascript/Node.js - Programmation
Marsh Posté le 23-06-2019 à 20:55:16
Et en plus dans la console ...Rien .On n affiche aucune info type vitesse=4.5 ou degatsEnnemi=10
Marsh Posté le 23-06-2019 à 22:21:14
1- C'est du Java ou du Javascript ? Les deux n'ont rien à voir.
2- Tu ne risques pas de renvoyer quelque chose avec console.log car tu demandes d'afficher une fonction qui ne renvoie rien. Pour qu'une fonction renvoie quelque chose il faut utiliser le mot clé "return" suivi de ce que doit renvoyer la fonction. Attention, lorsque la fonction arrive à ce mot clé elle est immédiatement quittée, il ne faut donc pas utiliser ce mot clé avant d'avoir réalisé tout ce que tu voulais dans ta fonction.
Ex :
Code :
|
3- Les "if ... else if ..." sont réalisés dans l'ordre, l’exécution s'arrête dès qu'une condition est vraie, tu n'as donc pas besoin de vérifier si la valeur est supérieure à la précédente condition puisque si elle ne l'était pas alors tu aurais exécuté la précédente condition et non les suivantes.
4- Tu débutes visiblement, dans ton précédent sujet je te conseillais d'utiliser un tableau et une boucle, cela va te permettre de grandement diminuer ton nombre de lignes. Tu ne maitrises peut-être pas encore ces notions mais elles sont essentielles et font parti de ce qu'un débutant doit apprendre.
5- Pour plus de clarté, je te conseille de définir d'abord tous les ennemis et leurs propriétés pour ensuite ne sélectionner que celui qui sera tiré au sort.
Marsh Posté le 23-06-2019 à 19:29:24
Bonjour, voici mon problème:Je vous partage une partie de mon code (qui est mauvais):
function ennemiFight(ennemi,vitesseEnnemi,degatsEnnemi,vieEnnemi){
var tirage = math.random()
if (tirage <0.1 ){
this.ennemi=="loup"}
else if (tirage >0.1){
if(tirage<0.18){
this.ennemi=="squelette"}}
else if (tirage>0.18){
if (tirage <0.38){
this.ennemi=="humain"}}
else if (tirage >0.38){
if (tirage<0.50){
this.ennemi=="berserker"}}
else if (tirage >0.50){
if (tirage<0.54){
this.ennemi=="harpie"}}
else if (tirage >0.54){
if (tirage<0.74){
this.ennemi=="dragon"}}
else if (tirage >0.74){
if (tirage<0.80){
this.ennemi=="orc"}}
else if (tirage >0.80){
if (tirage<0.90){
this.ennemi=="cavalier"}}
else if (tirage >0.90){
if (tirage<1){
this.ennemi=="sorciere"}}
if (this.ennemi=="loup" ){
this.vitesseEnnemi=9;
this.degatsEnnemi=10;
this.vieEnnemi=50;
}
if (this.ennemi=="squelette" ){
this.vitesseEnnemi=4;
this.degatsEnnemi=10;
this.vieEnnemi=50;
}
if (this.ennemi=="humain" ){
this.vitesseEnnemi=6;
this.degatsEnnemi=10;
this.vieEnnemi=50;
}
if (this.ennemi=="berserker" ){
this.vitesseEnnemi=5;
this.degatsEnnemi=10;
this.vieEnnemi=50;
}
if (this.ennemi=="harpie" ){
this.vitesseEnnemi=4.5;
this.degatsEnnemi=50;
this.vieEnnemi=70;
}
if (this.ennemi=="dragon" ){
this.vitesseEnnemi=8;
this.degatsEnnemi=10;
this.vieEnnemi=100;
}
if (this.ennemi=="orc" ){
this.vitesseEnnemi=4;
this.degatsEnnemi=10;
this.vieEnnemi=70;
}
if (this.ennemi=="cavalier" ){
this.vitesseEnnemi=11;
this.degatsEnnemi=10;
this.vieEnnemi=55;
}
if (this.ennemi=="sorciere" ){
this.vitesseEnnemi=4.5;
this.degatsEnnemi=10;
this.vieEnnemi=40;
}
console.log(ennemiFight);
}
Le problème:Le console.log ne renvoie ...Rien ni erreur ni donnée.
Je pense qu'il faut que je rajoute un var avec les données dans la parenthèse du début de la fonction.Mais je ne sais pas comment faire.Quelqu'un a une idée?