Amelioration du programme
Fermé
krdishak
Messages postés
4
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
7 août 2020
-
7 août 2020 à 15:06
ViolentViolette - 8 août 2020 à 15:57
ViolentViolette - 8 août 2020 à 15:57
A voir également:
- Amelioration du programme
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Programme démarrage windows 10 - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
2 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
7 août 2020 à 16:35
7 août 2020 à 16:35
Merci de bien vouloir éditer ton message pour y mettre ( tel que je te l'avais demandé...) Les balises de code.
Salut,
euh pour "améliorer" il faut déjà que ce soit fait et fonctionnel.
Cela n'a pas l'air le cas si vous dites qu'il est incomplet...et avec des erreurs.
Côté amélioration une toute simple est déjà d'écrire un fichier externe chargé par la balise script dans la page. ça à des aspects pratiques comme de bien séparer le script de l'affichage HTML/CSS et permet de pouvoir utiliser le même script dans différents contextes/pages, ou une partie du script: toutes les fonctions seront disponibles dans les pages que l'on veut en chargeant le script externe.
Plus sur l'aspect technique vous pouvez regarder du côté des paradigmes de programmation comme la programmation fonctionnelle et la programmation orientée objet qui sont très utilisés(et très pratique).
Il y a aussi les "design pattern" ou en français "modèles de conception" mais je ne pense pas que ce soit des notions qui correspondent à votre niveau. En tout cas si on parle "d'amélioration" coté code il faut en passer par là(mais bien sûr avec les bases du langage et de l'algorithmique).
"qui répète certain nombre d'opérations avant d'afficher le score final. sauf que je ne sais pas où il faut mettre ma boucle. "
Le type de boucle alors ne change rien que ce soit for ou while ou autre chose tant que ça boucle ça changera la syntaxe et la façon de faire. D'ailleurs les boucles et les itérations c'est l'un des principes essentiel en programmation.
Un exemple de boucle for :
De toute évidence votre programme ne fonctionne pas...
Vous devez commencer par réparer vos erreurs qui seront indiqués dans la console du navigateur. Commencez par chercher celle sur chaque ligne et la comprendre pour la corriger.
Vous n'avez aussi rien compris au fonctions...
POUR RAPPEL
une fonction est composée outre du nom qui permet de l'appeler d'aucun ou un ou plusieurs paramètres ( entre les parenthèses ) qui seront obligatoirement des valeurs (contenues dans des variables ou non) et de la partie appelé corps qui contient ce que fait la fonction.
Hors dans votre programme vous écrivez 2 fonctions complétement identiques...
1)Ce qui est totalement inutile, pas une erreur mais une perte de temps et un ajout de complexité inutile au programme.
2)Pire encore vous n'appliquez pas les fonctions correctement.
Pour corriger 1 ou plutôt optimiser ce qui est mal fait:
Voir bien entendu la définition et syntaxe d'une fonction (où visiblement vous avez du mal) , l'utilisation d'une fonction ou instance d'une fonction que vous confondez il me semble avec la fonction elle même(l'application ou résultat d'un outil n'est pas l'outil , la fonction est un outil qui est faite pour un but voire plusieurs).
La notion de portée des variables(c'est où je parlais d'imbrication, chaque "niche" et indépendante et ne communique pas avec les autres, sauf en utilisant return ) voire de ce qu'est la temporalDeadZone (zone temporelle morte) si vous voulez vraiment acquérir des bases solides.
Je serais vous vu l'état pitoyable et le manque de correction de votre script tout bugué je reprendrais tout de 0 en commençant par une recherche "JavaScript débutant" dans votre moteur de recherche préféré.
Vous vous approchez et c'est pas mal pour un début mais il vous manque encore des notions basiques essentielles.
euh pour "améliorer" il faut déjà que ce soit fait et fonctionnel.
Cela n'a pas l'air le cas si vous dites qu'il est incomplet...et avec des erreurs.
Côté amélioration une toute simple est déjà d'écrire un fichier externe chargé par la balise script dans la page. ça à des aspects pratiques comme de bien séparer le script de l'affichage HTML/CSS et permet de pouvoir utiliser le même script dans différents contextes/pages, ou une partie du script: toutes les fonctions seront disponibles dans les pages que l'on veut en chargeant le script externe.
Plus sur l'aspect technique vous pouvez regarder du côté des paradigmes de programmation comme la programmation fonctionnelle et la programmation orientée objet qui sont très utilisés(et très pratique).
Il y a aussi les "design pattern" ou en français "modèles de conception" mais je ne pense pas que ce soit des notions qui correspondent à votre niveau. En tout cas si on parle "d'amélioration" coté code il faut en passer par là(mais bien sûr avec les bases du langage et de l'algorithmique).
"qui répète certain nombre d'opérations avant d'afficher le score final. sauf que je ne sais pas où il faut mettre ma boucle. "
Le type de boucle alors ne change rien que ce soit for ou while ou autre chose tant que ça boucle ça changera la syntaxe et la façon de faire. D'ailleurs les boucles et les itérations c'est l'un des principes essentiel en programmation.
Un exemple de boucle for :
for (let i = 0; i<10 ; i++)//-- condition de la boucle {//-- contenu de la boucle, il sera donc effectué de 0 à 9 soit 10 fois console.log('répétition ou \'tours\' de boucle : '+i+' un nombre aléatoire : '+nb1_aleatoire(0,100)); }
De toute évidence votre programme ne fonctionne pas...
Vous devez commencer par réparer vos erreurs qui seront indiqués dans la console du navigateur. Commencez par chercher celle sur chaque ligne et la comprendre pour la corriger.
Vous n'avez aussi rien compris au fonctions...
POUR RAPPEL
une fonction est composée outre du nom qui permet de l'appeler d'aucun ou un ou plusieurs paramètres ( entre les parenthèses ) qui seront obligatoirement des valeurs (contenues dans des variables ou non) et de la partie appelé corps qui contient ce que fait la fonction.
Hors dans votre programme vous écrivez 2 fonctions complétement identiques...
1)Ce qui est totalement inutile, pas une erreur mais une perte de temps et un ajout de complexité inutile au programme.
2)Pire encore vous n'appliquez pas les fonctions correctement.
Pour corriger 1 ou plutôt optimiser ce qui est mal fait:
function nombreAleatoire(min,max){//-- renvoi un entier positif aléatoire entre min et max return min+Math.floor(Math.random()*(max-min+1)); /** remarquez l'imbrication: floor arrondit le résultat aléatoire qui est au centre. Contrairement au français qui se lit de gauche à droite de façon linéaire le JavaScript se lit de l'intérieur vers l'extérieur ainsi: la fonction "nombreAleatoire" qui est entre les parenthèses de la fonction .floor est appliquée puis renvoi son résultat en tant que <gras>paramètre</gras> de la fonction .floor Vous pouvez aussi remarquer la notation pointée Math.floor qui utilise le point "." comme séparateur et indique un la <gras>méthode</gras> floor de <gras>l'objet</gras> Math bien sûr ça ne change pas les priorités d'un calcul arithmétique, celui ci étant niché dans son contexte. */ } //-- une fonction ça sert à être utilisé var nombre1 = nombreAleatoire(0, 100); // un entier entre 1 et 100 var nombre2 = nombreAleatoire(50, 30000); // un entier entre 51 et 30000 //-- pour "voir" les valeurs des variables c'est pratique de les afficher console.log('LE HASARD FAIT LES CHOSES:'); console.log('entier de 1 à 100 = '+nombre1+' et ici de 51 à 30000 = '+nombre2); /** vous pouvez utiliser autant de fois la fonction que vous voulez, elle fera ce pour quoi elle est conçue , c'est 'un moule' qui sert à être réutilisé pour obtenir un résultat(pas de gâteau pour l'instant): */ for(let i=0;i<10;i++){ console.log('boucle tour '+i+'\t valeur aléatoire (0 à '+(10+i)+') => '+nombreAleatoire(0,10+i)); }
Voir bien entendu la définition et syntaxe d'une fonction (où visiblement vous avez du mal) , l'utilisation d'une fonction ou instance d'une fonction que vous confondez il me semble avec la fonction elle même(l'application ou résultat d'un outil n'est pas l'outil , la fonction est un outil qui est faite pour un but voire plusieurs).
La notion de portée des variables(c'est où je parlais d'imbrication, chaque "niche" et indépendante et ne communique pas avec les autres, sauf en utilisant return ) voire de ce qu'est la temporalDeadZone (zone temporelle morte) si vous voulez vraiment acquérir des bases solides.
Je serais vous vu l'état pitoyable et le manque de correction de votre script tout bugué je reprendrais tout de 0 en commençant par une recherche "JavaScript débutant" dans votre moteur de recherche préféré.
Vous vous approchez et c'est pas mal pour un début mais il vous manque encore des notions basiques essentielles.