Maison > interface Web > js tutoriel > Introduction rapide à JavaScript et codeguppy.com

Introduction rapide à JavaScript et codeguppy.com

Patricia Arquette
Libérer: 2024-11-15 01:06:02
original
196 Les gens l'ont consulté

Quick intro to JavaScript and codeguppy.comJavaScript est l'un des langages de programmation les plus polyvalents et un outil essentiel pour le codage créatif, le développement de jeux et le développement Web. Que vous soyez débutant ou que vous cherchiez à rafraîchir vos connaissances, ce guide offre un aperçu rapide des concepts fondamentaux de JavaScript, conçu pour vous aider à démarrer. Vous apprendrez également à tirer parti de codeguppy.com, une plateforme de codage en ligne adaptée aux débutants, pour mettre en pratique vos compétences. Des variables aux boucles et fonctions, cet article-book sert de référence pour démarrer rapidement avec JavaScript.

Table des matières

Chapitre 1 : Syntaxe JavaScript

  • Variables
  • instruction if
  • Boucle For
  • Boucle While
  • Faire une boucle While
  • Déclaration de changement
  • Fonctions
  • Méthodes de tableau
  • Méthodes de chaînes
  • Nombres aléatoires
  • Modules

Chapitre 2 : Dessiner sur toile à l'aide de JavaScript

  • À propos de la toile
  • Nettoyer la toile
  • Couleur de fond
  • Dessiner des formes
  • Paramètres de forme
  • Graphiques de tortue
  • Couleurs
  • Angles
  • Animations

Chapitre 3 : Saisie de l'utilisateur

  • événement keyPressed
  • événement keyReleased
  • événement keyTyped
  • événement mouseClicked
  • événement mousePressed
  • Événement mouseReleased
  • événement mouseMoved
  • événement mouseDragged
  • événement doubleClicked
  • Événement mouseWheel
  • keyIsPressed
  • clé
  • codeclé
  • sourisX
  • sourisY
  • pmouseX
  • pmouseY
  • la sourisEstPressée
  • bouton de la souris
  • keyIsDown()
  • keyWentDown()

Chapitre 4 : Développement de jeux JavaScript avec codeguppy.com

  • Dessiner des calques
  • Définition des images d'arrière-plan
  • Chargement des sprites intégrés
  • Chargement de sprites personnalisés
  • Chargement de sprites personnalisés animés
  • Définir la position du sprite
  • Déplacement automatique des sprites
  • Sprites en miroir
  • Rotation des sprites
  • Faire pivoter les sprites automatiquement
  • Profondeur de dessin
  • Changer les animations
  • Événements de souris sur les sprites
  • Masquer les sprites
  • Suppression des sprites
  • Collisions de sprites
  • Groupes de sprites
  • Musique de fond
  • Effets sonores
  • Collision entre formes
  • La boucle du jeu
  • Préchargement des ressources
  • Montrer une scène
  • L'événement d'entrée
  • Transmettre des données à une scène

Chapitre 5 : Autres astuces de codage

  • Impression des données
  • Création d'interfaces utilisateur de saisie de données

Chapitre 1 : Syntaxe JavaScript

Commençons notre article par explorer la syntaxe JavaScript.

Déclaration de variables

Les variables sont utilisées pour stocker des données telles que des nombres, des chaînes (texte) ou même des objets complexes. N'oubliez pas :

  • Vous pouvez avoir autant de variables que vous le souhaitez dans un programme.
  • Vous devez nommer chaque variable avec un nom qui représente les données qu'elle stocke.
  • Donnez des noms différents aux variables à l'intérieur du même bloc de code (par exemple, ce qu'il y a entre { ... }) ou même à l'intérieur d'une fonction

Déclarer la variable x

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déclarez x et initialisez-le avec une valeur numérique

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déclarez s et initialisez-le avec une chaîne

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer des valeurs aux variables

Une fois qu'une variable a été déclarée avec let, elle peut être affectée/réaffectée avec des valeurs différentes autant de fois que vous le souhaitez.

Vous pouvez l'attribuer avec des constantes simples ou même des expressions complexes qui incluent des constantes, d'autres variables et même la même variable ! Les ordinateurs sont très doués pour évaluer les expressions.

Attribuer le numéro 100 à la variable x

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer la chaîne "Bonjour" à la variable s

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer un tableau vide à la variable ar

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuez un tableau de 3 nombres à la variable ar

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer un tableau de 2 chaînes à la variable ar

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer un objet en ligne à la variable o

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La somme variable est égale à a b

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer une expression à la variable avg

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La somme variable est augmentée de 10 (la nouvelle somme devient l'ancienne somme 10)

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La variable i est augmentée (incrémentée) de 1

i++;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La variable i est incrémentée de 2

i += 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

si déclaration

Les instructions if sont idéales pour contrôler le flux du programme. Normalement, un programme est exécuté une instruction à la fois, de haut en bas.

si permet de prendre une décision et d'exécuter un ensemble d'instructions si la condition est remplie.

Exécute le bloc d'instructions entre {} si la condition est vraie

if (mouseX < width)
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Exécute le premier bloc d'instructions si la condition est vraie, sinon le deuxième bloc

if (hour < 12)
{

}
else
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Exécuter différents blocs en fonction de différentes conditions

Dans l'exemple suivant, si la première condition est vraie, alors le premier bloc sera exécuté et les autres non.

Cependant, si la première condition n'est pas vraie, le else if est utilisé pour tester une autre condition, et si est vrai, le bloc de celui-ci else if est exécuté.

Le bloc après le dernier else n'est exécuté que si aucune autre condition n'était vraie jusqu'à ce point.

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : vous pouvez avoir plusieurs autres blocs if dans ce type d'expériences.

pour la boucle

Imprime les nombres de 0 à 4 en utilisant une boucle for et println

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Imprime les nombres de 10 à 0 à l'aide d'une boucle for

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Imprime les nombres pairs de 0 à 100

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Imprimer tous les éléments d'un tableau

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

boucle while

Imprimer les nombres de 0 à 9 en utilisant une boucle while

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

faire pendant

Imprimer les nombres de 0 à 10 en utilisant une boucle do while

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : la boucle do while place la condition après le bloc de code, donc le bloc peut s'exécuter au moins une fois même si la condition est fausse.

Déclaration de commutation

Une instruction switch est une autre instruction en plus de if / else if pour contrôler le flux d'un programme. Vous pouvez utiliser switch pour comparer une expression à différentes valeurs, puis exécuter l'ensemble d'instructions correspondant en fonction du fait que cette expression est égale à n'importe quelle valeur de cas.

Habituellement, switch est utilisé moins souvent que if / else if / else.

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Fonctions

Les fonctions sont idéales pour créer de nouvelles instructions de langage que vous pouvez utiliser encore et encore dans un programme.

Une fois que vous avez défini une nouvelle instruction, elle devient impossible à distinguer des instructions intégrées présentes dans JavaScript et codeguppy.com

Définir et appeler la bulle de fonction

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Fonctions qui renvoient des valeurs

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : codeguppy.com inclut un grand nombre de fonctions intégrées telles que cercle, rect, etc. Vous pouvez appeler ces fonctions de la même manière que vous appelez votre propre fonction personnalisée.

Méthodes de tableau

Utilisez un tableau pour stocker facilement une série de valeurs en utilisant un seul nom de variable. Un tableau possède des propriétés et des méthodes qui permettent de manipuler ses éléments.

Déclarer et initialiser ar dans un tableau vide

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déclarer et initialiser ar à un tableau de 3 nombres

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Longueur d'un tableau

i++;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ajouter un élément à la fin du tableau

i += 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Insérer un élément au début d'un tableau

if (mouseX < width)
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Insérer un élément à une position arbitraire

if (hour < 12)
{

}
else
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Insérer un élément à une position arbitraire (mode facile)

Remarque : La méthode d'insertion de tableau est présente uniquement dans codeguppy.com

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Lire la valeur de l'élément 2 d'un tableau

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Calculer la somme des éléments d'un tableau

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Attribuer une valeur différente à tous les éléments d'un tableau

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Accéder au premier élément

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Accéder au dernier élément

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Accéder au dernier élément (manière simple)

Remarque : la méthode peek array est présente uniquement dans codeguppy.com

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer le premier élément du tableau

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer le dernier élément du tableau

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer un élément à une position arbitraire

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer tous les éléments d'un tableau

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Concaténer deux tableaux

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Extraire une tranche d'un tableau

slice() est une méthode intéressante qui peut être utilisée pour extraire une "slice" d'un tableau. La "tranche" sera transformée en un tableau indépendant. La méthode reçoit en arguments l'index du premier élément (inclus) et l'index du dernier élément que l'on veut dans la tranche (exclusif) :

i++;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Joindre des éléments d'un tableau

i += 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Méthodes de chaîne

Tout comme avec les tableaux, vous pouvez accéder et manipuler des caractères indépendants au sein d'une chaîne.

Longueur d'une chaîne

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Itérer tous les caractères d'une chaîne

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Accéder aux caractères de chaîne par position

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Conversion du texte en majuscules

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Conversion du texte en minuscules

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déterminer si la chaîne contient une autre sous-chaîne

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déterminer si la chaîne commence par un préfixe spécifié

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déterminer si la chaîne se termine par un suffixe spécifié

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Trouvez la position d'une sous-chaîne. La recherche commence au début

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Trouvez la position d'une sous-chaîne. La recherche commence à l'index spécifié.

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Extraire une sous-chaîne de la chaîne

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer les espaces du début et de la fin de la chaîne

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer les espaces du début de la chaîne

i++;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer les espaces à la fin de la chaîne

i += 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Complète le début de la chaîne avec une autre chaîne

if (mouseX < width)
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remplit la fin de la chaîne avec une autre chaîne

if (hour < 12)
{

}
else
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Codes de caractères

if (minute <= 15)
{
}
else if(minute <= 30)
{
}
else
{
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Caractères des codes

for(let i = 0; i < 5; i++)
{
    println(i);
}
Copier après la connexion
Copier après la connexion

Nombres aléatoires

Les nombres aléatoires sont extrêmement utiles pour le codage.

Pour obtenir un nombre aléatoire en JavaScript entre 0 (inclus) et 1 (exclusif), vous pouvez utiliser la fonction Math.random().

for(let i = 10; i >= 0; i--)
{
    println(i);
}
Copier après la connexion
Copier après la connexion

codeguppy.com étend la prise en charge des nombres aléatoires avec des instructions supplémentaires qui vous permettent de choisir rapidement un nombre aléatoire dans la plage préférée.

Nombre aléatoire à virgule flottante entre 0 et 1 (1 non inclus)

C'est la même chose que Math.random()

for(let i = 0; i <= 100; i+=2)
{
    println(i);
}
Copier après la connexion
Copier après la connexion

Nombre aléatoire à virgule flottante compris entre 0 et n (n non inclus)

let ar = [10, 20, 30];

for(let element of ar)
{
    println(element);
}
Copier après la connexion
Copier après la connexion

Nombre aléatoire à virgule flottante entre n1 et n2 (n2 non inclus)

let i = 0;

while(i < 10)
{
    println(i);
    i++;
}
Copier après la connexion
Copier après la connexion

Int aléatoire entre min et max (tous deux inclus)

Vous pouvez utiliser randomInt ou randomNumber

let i = 0;

do
{
    println(i);
    i++;
}
while(i < 10)
Copier après la connexion

Caractères aléatoires entre chr1 et chr2 (tous deux inclus)

fonction randomChar(chr1, chr2)

switch(myExpresion)
{
    case 100:
        //...
        break;
    case 200:
        //...
        break;
    case 300:
        //...
        break;
    default:
        //...
}
Copier après la connexion

Élément aléatoire d'un tableau

// Function balloon draws a balloon using simple shapes such as circle and line
// It expects as arguments the coordinates for balloon center and the color of the balloon
function balloon(x, y, shapeColor)
{
    let r = 30;
    let stringLen = 100;

    fill(shapeColor);
    stroke(shapeColor);

    circle(x, y, r);
    line(x, y + r, x, y + r + stringLen);
}

// Call function balloon with different parameters
balloon(100, 100, "red");
balloon(300, 300, "blue");
balloon(500, 200, "yellow");
Copier après la connexion

Mélanger un tableau

function addNumbers(x, y)
{
    return x + y;
}

// Call a function
var sum = addNumbers(100, 200);
println(sum);
Copier après la connexion

Modules

Pour mieux organiser votre code, notamment dans les programmes plus gros, codeguppy.com introduit le concept de modules.

Au lieu d'écrire toutes les fonctions d'un programme dans une seule page de codes, vous pouvez les diviser en plusieurs pages de codes, chaque page de codes devenant ainsi un module.

Un module fournit une encapsulation forte pour les variables et les fonctions définies à l'intérieur. Cette encapsulation vous permet de définir des fonctions/variables de même nom dans différents modules.

Pour utiliser les fonctions à l'intérieur d'un module, vous devez d'abord exiger ce module.

Programme principal

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Contenu du module MathUtils

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : Une autre utilisation des pages de codes consiste à définir des scènes de jeu. codeguppy.com dispose d'un gestionnaire de scènes de jeu intégré. Veuillez vous référer à l'article Développement de jeux pour plus de détails.

Chapitre 2 : Dessiner sur toile à l'aide de JavaScript

codeguppy.com est un excellent environnement pour les activités graphiques utilisant à la fois des graphiques cartésiens et des tortues.

À propos de la toile

Dans codeguppy.com, le canevas graphique fait 800 x 600 pixels.
Le système initialise automatiquement les variables de largeur et de hauteur avec les dimensions de la toile

Il est recommandé d'utiliser ces variables dans votre programme au lieu de constantes codées en dur (chaque fois que cela est possible).

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Effacer la toile

clear() est utilisé pour effacer le canevas de dessin. Cette fonction est très utile pour les animations, à l'intérieur de l'événement loop(), pour effacer le cadre avant le prochain tirage.

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Couleur de fond

La commande background est utilisée pour définir la couleur d'arrière-plan du canevas.

? La commande d'arrière-plan n'efface pas les formes dessinées sur le canevas. Pour effacer le canevas, utilisez plutôt clear().

Définissez la couleur d'arrière-plan sur une couleur intégrée spécifiée sous forme de chaîne

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définissez la couleur d'arrière-plan sur une couleur spécifiée sous forme de chaîne hexadécimale "#RRGGBB"

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définissez la couleur d'arrière-plan sur une couleur grise (0 - noir, 255 - blanc)

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : dans codeguppy.com, vous pouvez même définir une image comme arrière-plan. Veuillez vous référer à la page « Jeux » pour plus de détails sur la façon de définir une image comme arrière-plan.

Dessiner des formes

Tracez un cercle aux coordonnées 400 x 300 et au rayon de 200 pixels

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessinez une ellipse aux coordonnées 400 x 300 et d'une largeur et d'une hauteur de 300 x 200 pixels

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessinez un rectangle ayant le coin supérieur gauche aux coordonnées 400 x 300 et une largeur et une hauteur de 300 x 200 pixels.

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Tracez une ligne entre les coordonnées 400 x 300 et 500 x 500

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessinez un triangle en spécifiant les coordonnées de chaque coin

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessine un arc

Pour tracer un arc, vous précisez les coordonnées comme pour une ellipse (position centrale, largeur et hauteur) et en plus vous précisez l'angle de début et de fin.

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessinez un point aux coordonnées 400 x 300

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessiner du texte JavaScript aux coordonnées 400 x 300

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Paramètres de forme

Remarque : Une fois définis, ces paramètres seront appliqués à toutes les formes successives dessinées sur la toile

Définir la taille du texte à 20

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définissez "Magenta" comme couleur pour remplir les formes

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définissez "Sarcelle" comme couleur pour dessiner des formes

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Réglez l'épaisseur du trait sur 2 px

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessinez des formes vides, sans couleur de remplissage

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dessiner des formes sans contour

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Graphiques de tortue

codeguppy.com vous permet de combiner des graphiques cartésiens avec des graphiques de tortues.

Lorsque vous travaillez avec Turtle Graphics, vous pouvez utiliser la tortue par défaut (recommandée pour les débutants et les programmes réguliers) ou créer des tortues supplémentaires (pour les programmes complexes).

Travailler avec la tortue par défaut

Pour utiliser la tortue par défaut, il vous suffit d'utiliser les instructions globales suivantes.

Réinitialiser la tortue par défaut à sa position d'origine

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définit sur Rouge la couleur du stylo de la tortue par défaut

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définit à 2 la taille du stylo de la tortue par défaut

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Mettez le stylo sur le papier. La tortue va dessiner.

i++;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Soulevez le stylo du papier. La tortue avancera mais ne dessinera pas

i += 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déplacez la tortue vers une position arbitraire sur la toile

if (mouseX < width)
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Tourne la tortue par défaut vers la gauche du nombre de degrés spécifié

if (hour < 12)
{

}
else
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Tourne la tortue par défaut vers la droite de 30 degrés

if (minute <= 15)
{
}
else if(minute <= 30)
{
}
else
{
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Définit le cap (direction) de la tortue sur un angle arbitraire

for(let i = 0; i < 5; i++)
{
    println(i);
}
Copier après la connexion
Copier après la connexion

Déplace la tortue vers l'avant du nombre de pixels spécifié.

Remarque : La tortue se déplace dans la direction précédemment définie avec gauche, droite ou setheading. Si le stylo est sur le papier, la tortue dessinera.

for(let i = 10; i >= 0; i--)
{
    println(i);
}
Copier après la connexion
Copier après la connexion

Recule la tortue du nombre de pixels spécifié.

Remarque : la tortue se déplace dans la direction opposée à celle qui se déplacerait vers l'avant

for(let i = 0; i <= 100; i+=2)
{
    println(i);
}
Copier après la connexion
Copier après la connexion

Récupérer les positions x et y de la tortue par défaut sous forme d'un tableau de 2 nombres

let ar = [10, 20, 30];

for(let element of ar)
{
    println(element);
}
Copier après la connexion
Copier après la connexion

Récupérer la direction par défaut de la tortue en degrés

let i = 0;

while(i < 10)
{
    println(i);
    i++;
}
Copier après la connexion
Copier après la connexion

Travailler avec plusieurs tortues

Dans les programmes complexes, il peut s'avérer utile de travailler avec plusieurs tortues, car chacune d'elles conserve son propre état tel que la position, la couleur, etc.

Créer plusieurs tortues

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Obtenez la tortue par défaut

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Couleurs

Comme observé dans les exemples ci-dessus, codeguppy.com permet aux utilisateurs de spécifier les couleurs de différentes manières. De cette façon, vous pouvez utiliser la méthode la plus pratique pour votre programme.

Couleurs nommées

Il existe une variété de couleurs avec des noms prédéfinis dans codeguppy.com Vous pouvez toutes les explorer sur la palette "Arrière-plans".

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Couleurs de style RVB/HTML

Lorsque les couleurs prédéfinies ne suffisent pas, vous pouvez créer n'importe quelle couleur en spécifiant les quantités de rouge, de vert et de bleu. Vous pouvez transmettre ces couleurs sous forme de chaînes aux fonctions de remplissage et de contour en utilisant le format #RRGGBB :

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Couleurs grises rapides

Si vous avez besoin de créer rapidement une nuance de gris, transmettez simplement un nombre de 0 à 255 à n'importe quelle fonction qui attend une couleur telle que le remplissage ou le contour

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Couleurs utilisant la fonction color()

Une autre façon de créer une couleur consiste à utiliser la fonction de couleur et les montants R, G, B. Ces montants sont compris entre 0 et 255

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Passage en mode HSB

Par défaut, le système de couleurs codeguppy.com utilise le mode RVB, où les couleurs sont spécifiées par les valeurs R, G, B (comme vu ci-dessus).
Cependant, les utilisateurs avancés peuvent passer en mode HSB, où les couleurs sont spécifiées par teinte, saturation et luminosité.

En mode HSB, les valeurs de la fonction couleur sont comprises dans l'intervalle 0 - 360

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Revenir au mode RVB

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Angles

Toutes les fonctions trigonométriques, ainsi que certaines fonctions de dessin comme l'arc fonctionnent avec des angles.

Pour plaire aux jeunes codeurs et aux débutants, tous les angles de codeguppy.com sont en "DEGRÉS" par défaut.

Cependant, les utilisateurs avancés peuvent passer en mode "RADIANS" en utilisant angleMode. N'oubliez pas de revenir à "DEGRÉS" lorsque vous avez fini de travailler avec RADIANS.

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Utiliser des fonctions trigonométriques

Via la bibliothèque p5.js, codeguppy.com propose aux utilisateurs une série de fonctions trigonométriques faciles à utiliser telles que sin, cos, etc.

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Animations

Pour implémenter des animations, codeguppy.com propose aux utilisateurs une méthode similaire à celle utilisée par les "cartoons" : pensez à votre animation comme une série d'images ! Il ne vous reste plus qu'à dessiner le premier cadre, puis effacer et dessiner le deuxième cadre dans une position légèrement différente, et ainsi de suite !

loop() est à la base des animations

Dans codeguppy.com, la fonction loop() est spéciale. Il ne vous reste plus qu'à définir cette fonction dans votre code, et le moteur codeguppy.com l'exécutera pour vous jusqu'à 60 fois par seconde ! Il n'est pas nécessaire de l'appeler vous-même.

Déplacer une ligne horizontale sur l'écran

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Faire rebondir un cercle sur l'écran

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Modifier la fréquence d'images par défaut

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Obtenir la fréquence d'images

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Chapitre 3 : Saisie de l'utilisateur

Il existe deux manières principales d'obtenir la saisie de l'utilisateur clavier/souris dans un programme codeguppy.com : via des événements ou via la fonction loop() en lisant les variables et fonctions système intégrées.

Événements

Le moteur codeguppy.com peut avertir votre programme lorsqu'un événement clavier ou souris se produit. Tout ce que vous avez à faire est de définir la fonction appropriée (par exemple, un gestionnaire d'événements) dans votre programme et le système l'appellera automatiquement lorsque cet événement apparaîtra.

Événement keyPressed

S'exécute une fois lorsqu'une touche est enfoncée

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Événement keyRelease

S'exécute lorsqu'une touche est relâchée

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Événement keyTyped

S'exécute lorsqu'une clé est saisie, à l'exception des clés spéciales

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Événement mouseClicked

S'exécute une fois lorsque la souris est enfoncée et relâchée

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Événement mousePressed

S'exécute une fois lorsque le bouton de la souris est enfoncé

o = {   Type: 'car', 
        x : 100, 
        y : 200 
    };
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Événement mouseRelease

S'exécute lorsque le bouton de la souris est relâché

sum = a + b;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

événement mouseMoved

S'exécute lorsque la souris est déplacée et que le bouton n'est pas enfoncé

avg = (a + b) / 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Événement mouseDragged

S'exécute lorsque la souris est déplacée et qu'un bouton est enfoncé

sum = sum + 10;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

événement doubleClicked

S'exécute lorsque la souris est double-cliquée

i++;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

événement mouseWheel

S'exécute lorsque l'utilisateur utilise la molette de la souris ou le pavé tactile

i += 2;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Variables système

Outre les événements, le système remplit également automatiquement certaines variables système avec les données d'événement appropriées.

Vous pouvez accéder à ces variables depuis les gestionnaires d'événements ou depuis la boucle principale d'animation/jeu().

C'est généralement le moyen privilégié pour obtenir les commentaires des utilisateurs lors de la création de jeux.

keyIsPressed

Variable système booléenne qui indique si une touche est enfoncée.

if (mouseX < width)
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

clé

Variable système contenant la dernière clé saisie.

if (hour < 12)
{

}
else
{

}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

codeclé

Variable système contenant le code de la dernière touche appuyée.

Les constantes suivantes peuvent être utilisées à la place d'un code clé numérique : LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW. Utilisez-les sans guillemets.

if (minute <= 15)
{
}
else if(minute <= 30)
{
}
else
{
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : Pour trouver les keyCodes, vous pouvez écrire un programme de test ou utiliser un site tel que keycode.info.

sourisX

Variable système contenant la coordonnée horizontale du parcours de la souris.

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

sourisY

Variable système contenant la coordonnée verticale du parcours de la souris

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

pmouseX

Variable système contenant la coordonnée horizontale précédente du parcours de la souris

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

pmouseY

Variable système contenant la coordonnée verticale précédente du parcours de la souris.

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

mouseIsPressed

Variable système booléenne indiquant si un bouton de la souris est enfoncé.
Pour détecter quel bouton est enfoncé, vérifiez la variable mouseButton.

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Bouton de la souris

Variable système contenant le bouton de la souris enfoncé. Il a l'une de ces valeurs GAUCHE, DROITE, CENTRE.

Pour détecter si la souris est enfoncée, vérifiez mouseIsPressed.

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Fonctions

keyIsDown()

Utilisez la fonction keyIsDown() dans l'événement loop() pour détecter si la touche spécifiée est enfoncée. Vous devez spécifier le code clé.

Les constantes suivantes peuvent être utilisées à la place d'un code clé numérique : LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW. Utilisez-les sans guillemets.

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : Pour trouver les codes clés, vous pouvez utiliser un site tel que keycode.info

keyWentDown()

keyWentDown() est également destiné à l'événement loop() et est similaire à keyIsDown().

La différence est que cette fonction renvoie vrai une seule fois par touche enfoncée. Pour réactiver la fonction, l'utilisateur doit relâcher la touche et appuyer à nouveau :

/i/code.html?hints/userinput_10

Chapitre 4 : Développement de jeux JavaScript avec codeguppy.com

Le développement de jeux est extrêmement simple et amusant avec codeguppy.com. Le système est livré avec des images d'arrière-plan, des sprites, de la musique et des effets sonores intégrés pour vous permettre de vous concentrer sur le code plutôt que de rechercher des ressources.

Dessiner des calques

codeguppy.com a une architecture de dessin en couches. Il y a jusqu'à 5 calques de dessin au-dessus de la toile à tout moment, comme indiqué dans le diagramme suivant :

Quick intro to JavaScript and codeguppy.com

Le moteur combine automatiquement tous les calques et affiche l'image finale à l'écran.

Définition des images d'arrière-plan

La commande d'arrière-plan a également été présentée dans la section "Dessin" comme un moyen de définir la couleur d'arrière-plan du canevas, comme ceci :

ar = ["A", "B"];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cependant, la commande background peut faire plus que simplement définir une couleur unie comme arrière-plan.

En utilisant la même fonction, vous pouvez définir n'importe quelle image de la bibliothèque codeguppy.com comme arrière-plan :

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

? Pour définir l'arrière-plan d'une image, ouvrez la palette "Arrière-plans", puis faites glisser et déposez une image dans la zone de code. Le système écrira le code approprié pour vous.

Les commandes d'arrière-plan définissent l'image dans le calque d'arrière-plan comme présenté dans le diagramme ci-dessus. De cette façon, l'image d'arrière-plan ne sera pas effacée ou modifiée par l'instruction clear() ou les instructions de dessin de forme ou même par les sprites.

Lutins

Les sprites sont de petites images, souvent animées, que vous pouvez charger et manipuler via le code. Les sprites sont un ingrédient essentiel d'un jeu réussi.

codeguppy.com contient une grande bibliothèque de sprites intégrés, et en même temps il offre à l'utilisateur la possibilité de définir des sprites personnalisés.

Chargement des sprites intégrés

Vous pouvez charger n'importe quel sprite de la bibliothèque intégrée à l'aide de la commande sprite.

Charger un sprite

L'instruction du sprite chargera le plan du sprite intégré et le placera au milieu de l'écran.

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

? Ouvrez la palette Sprites et parcourez tous les sprites intégrés inclus. Lorsque vous en trouvez un qui vous plaît, faites-le glisser et déposez-le dans l'éditeur de code et le système écrira le code automatiquement.

Charger et positionner un sprite

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Chargement et mise à l'échelle d'un sprite

Dans l'extrait de code suivant, le plan du sprite est réduit à 0,5 avant d'être placé au milieu de l'écran

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Chargement, positionnement et mise à l'échelle d'un sprite

Dans l'extrait de code suivant, le plan du sprite est réduit à 0,5 avant d'être placé au milieu de l'écran

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Chargement d'une animation particulière d'un sprite

Pour les sprites multi-animations, vous pouvez spécifier l'animation par défaut au moment du chargement en l'incluant dans la même chaîne que le nom du sprite à l'aide d'un . symbole (par exemple avion.shoot)

? Vous pouvez découvrir quelles animations sont supportées par chaque sprite, en passant la souris sur les sprites dans la palette "Sprites". Vérifiez les informations fournies dans l'info-bulle.

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : pour les sprites avec plusieurs animations, vous pouvez également modifier l'animation affichée ultérieurement en utilisant la méthode sprite .show().

Chargement de sprites personnalisés

Pour les jeux nécessitant des graphismes personnalisés, les utilisateurs peuvent définir des sprites personnalisés supplémentaires directement dans le code. codeguppy.com utilise le format Microsoft MakeCode Arcade pour les sprites personnalisés jusqu'à 16 couleurs.

Du texte aux images

Utilisez img dans un modèle de chaîne, ou en tant que fonction, pour convertir un texte de sprite personnalisé en image :

/i/code.html?hints/gamedev_10

Des images aux sprites

Des sprites personnalisés peuvent également être chargés à l'aide de la commande sprite. De cette façon, vous pouvez les manipuler comme le reste des sprites intégrés :

/i/code.html?hints/gamedev_20

Sprites personnalisés animés

Un sprite personnalisé peut également être animé. Si vous avez besoin de sprites animés, vous devez créer plusieurs images de cadre pour chaque sprite :

/i/code.html?hints/gamedev_30

Sprites personnalisés avec plusieurs animations

Vous pouvez même regrouper plusieurs animations dans un sprite personnalisé. Cela vous aide à modifier ultérieurement les animations en utilisant la méthode sprite .show() :

/i/code.html?hints/gamedev_40

Palette personnalisée pour les sprites personnalisés

Si votre programme nécessite des couleurs différentes, vous pouvez définir une palette personnalisée à l'aide de setPalette.

/i/code.html?hints/gamedev_41

Remarque : Vous pouvez obtenir la palette actuelle à tout moment grâce à la fonction getPalette().

Manipulation des propriétés des sprites

Au moment de l'exécution, les sprites personnalisés ne se distinguent pas des sprites intégrés. Peu importe la façon dont vous avez chargé/créé le sprite, vous pouvez le manipuler de la même manière via le code.

La commande sprite renvoie une référence à un objet sur lequel vous pouvez invoquer des méthodes et des propriétés.

Définir la position du sprite

La commande sprite renvoie une référence à un objet sprite. Utilisez les propriétés .x et .y pour mettre à jour la position du sprite sur l'écran.

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Déplacer automatiquement les sprites

Au lieu de modifier vous-même les coordonnées .x et .y, vous pouvez laisser le moteur déplacer automatiquement le sprite sur les axes x ou y en spécifiant une valeur pour la .velocity appropriée.

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sprites en miroir

Parfois, vous devez retourner un sprite sur l'axe .x ou sur l'axe .y.

Pour refléter un sprite, utilisez la méthode .mirror avec -1 comme argument. Pour le refléter dans la direction d'origine, utilisez 1 comme argument.

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Rotation des sprites

Dans certains jeux et programmes, vous souhaiterez peut-être faire pivoter vos sprites selon un angle arbitraire. Vous pouvez le faire en utilisant la propriété .rotation qui vous permet de spécifier un angle de rotation.

Faire pivoter les sprites automatiquement

Si vous souhaitez que le sprite tourne automatiquement pendant une durée indéterminée, vous pouvez le mettre en rotation automatique en donnant une valeur supérieure à zéro à la propriété .rotationSpeed :

/i/code.html?hints/gamedev_50

Profondeur de dessin

Normalement, les sprites nouvellement ajoutés sont dessinés par-dessus les précédents.

Pour contrôler quel sprite est dessiné en haut et lequel est dessiné derrière, vous pouvez utiliser la propriété .deep. Les sprites avec une profondeur inférieure sont dessinés derrière ceux avec une profondeur plus élevée.

Vous pouvez également combiner des sprites avec des formes classiques dessinées à l'aide d'API graphiques (cercle, rect, etc.).

Si vous souhaitez que les sprites apparaissent derrière le plan graphique, assurez-vous de donner aux sprites une profondeur négative, sinon ils seront dessinés au-dessus du plan graphique.

Changer les animations

Si le sprite que vous avez sélectionné contient plusieurs animations, vous pouvez spécifier quelle animation vous souhaitez afficher initialement en ajoutant le nom de l'animation avec un . dans la chaîne du premier paramètre :

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cependant, plus tard, vous pourrez modifier l'animation de ce sprite en utilisant la méthode .show :

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

? Veuillez vérifier attentivement les animations prises en charge par un sprite en survolant la vignette du sprite dans la palette Sprites.

Événements de souris sur les sprites

Vous pouvez détecter les clics de souris sur les sprites en attribuant un gestionnaire d'événements (par exemple une fonction) aux propriétés de sprite suivantes :

  • .onMousePressed
  • .onMouseReleased
  • .onMouseOver
  • .onMouseOut

/i/code.html?hints/gamedev_51

Cacher les sprites

Vous pouvez masquer un sprite de deux manières :

  • Définition de la propriété .visible sur false
  • Définition des coordonnées .x et/ou .y en dehors du canevas visible
let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Supprimer des sprites

Pour supprimer définitivement un sprite du programme, utilisez la méthode .remove() sur le sprite. Ceci est utile pour les sprites tout comme pour les ennemis détruits, les objets collectés, etc.

Vous pouvez également supprimer automatiquement un sprite après un certain nombre d'images en utilisant la propriété .life. Ceci est utile pour les objets tels que les balles, les roquettes, etc. sur lesquels vous tirez et que vous oubliez. Les objets de collection peuvent utiliser cette propriété. Par défaut, cette propriété a la valeur -1 (désactivée).

/i/code.html?hints/gamedev_55

Collisions de sprites

Il existe 4 méthodes différentes pour vérifier si des sprites entrent en collision :

  • sprite.collide(cible, rappel);
  • sprite.displace(cible, rappel);
  • sprite.overlap(cible, rappel);
  • sprite.bounce(cible, rappel);

Lorsqu'elles sont appelées, certaines de ces méthodes déplacent automatiquement les sprites, d'autres impactent leurs trajectoires. Ils renvoient tous un booléen indiquant si la collision s'est produite.

Expérimentez ces méthodes pour découvrir leurs comportements !

Paramètres :

  • cible – il s’agit d’une référence à l’autre sprite ou groupe de sprites (plus sur les groupes plus tard)
  • rappel – ceci est facultatif, mais utile dans certains cas. Le rappel est une fonction avec la signature suivante, qui est appelée automatiquement en cas de collision :
x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : Une autre façon de vérifier les collisions entre les sprites ou entre les sprites et d'autres formes consiste à utiliser les fonctions de collision de formes suivantes.

Groupes de sprites

Dans les jeux comportant plusieurs sprites du même genre, il est parfois utile de regrouper différents sprites dans un seul groupe créé avec new Group()

Les principales méthodes d'un groupe sont :

  • .add(sprite) - Ajouter un sprite au groupe
  • .remove(sprite) – Supprime un sprite du groupe
  • .clear() - Supprime les sprites du groupe. Ne supprime pas les sprites du programme.
  • .contains(sprite) - Vérifiez si le sprite spécifié est dans le groupe

/i/code.html?hints/gamedev_60

Remarque : Certaines méthodes, telles que les méthodes de collision de sprites, peuvent fonctionner sur un groupe entier de sprites, plutôt que sur un seul sprite (comme expliqué à la page précédente).

Musique de fond

Jouer de la musique nommée Rainbow

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : si une musique était en cours de lecture auparavant, les instructions musicales l'interrompent avant de jouer la nouvelle musique.

Jouez de la musique nommée "Fun Background" au volume 0,1

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

? Utilisez la palette "Musique et sons" pour découvrir la musique. Lorsque vous trouvez quelque chose que vous aimez, faites glisser et déposez la chanson dans la zone de code. Le système écrira le code approprié pour vous.

Bruitage

Jouer le son zap1

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Remarque : Le système joue en parallèle tous les sons déclenchés avec la commande sonore.

? Utilisez la palette "Musique et Sons" pour découvrir les effets sonores. Lorsque vous trouvez quelque chose que vous aimez, faites glisser et déposez la chanson dans la zone de code. Le système écrira le code approprié pour vous.

Collisions entre formes

? Si votre jeu utilise uniquement des sprites, nous vous recommandons d'utiliser des méthodes de collision de sprites.

Cependant, si vous n'utilisez pas de sprites ou si vous utilisez des sprites en combinaison avec des formes régulières, vous pouvez utiliser les méthodes suivantes pour détecter les collisions. Ils prennent comme arguments les paramètres des deux formes et renvoient vrai si les deux formes entrent en collision.

Remarque : Pour plus de commodité, certaines instructions sont définies deux fois, avec les arguments décrivant la forme inversée.

Détecter la collision entre un point et un cercle

Utilisez l'une de ces instructions pour détecter la collision entre un point et un cercle :

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_61

Détecter les collisions entre un point et une ligne

Utilisez l'une de ces deux instructions pour détecter la collision entre un point et une ligne :

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_62

Détecter la collision entre un point et un rectangle

Utilisez l'une des deux instructions suivantes pour détecter les collisions entre un point et un rectangle :

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_63

Détecter la collision entre deux cercles

Utilisez les instructions suivantes pour détecter les collisions entre deux cercles :

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_64

Détecter la collision entre un cercle et un rectangle

Utilisez l'une des deux instructions suivantes pour détecter les collisions entre un cercle et un rectangle :

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_65

Détecter la collision entre deux rectangles

Utilisez les instructions suivantes pour détecter une collision entre deux rectangles :

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_66

Détecter la collision entre deux lignes

Utilisez cette instruction pour détecter les collisions entre deux lignes :

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_67

Détecter la collision entre une ligne et un rectangle

Utilisez l'une des deux instructions suivantes pour détecter les collisions entre une ligne et un rectangle :

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

/i/code.html?hints/gamedev_68

La boucle du jeu

Dans pratiquement tous les jeux, vous devez définir une "boucle de jeu" - une fonction spéciale qui obtient en permanence les entrées de l'utilisateur, met à jour l'état du jeu et restitue les graphiques du jeu.

Dans codeguppy.com, vous pouvez facilement implémenter la "boucle de jeu" en utilisant la fonction loop(). Il s'agit de la même fonction décrite sur la page "Dessins" dans la section "Animations". Il ne vous reste plus qu'à définir cette fonction dans votre code, et le moteur codeguppy.com l'exécutera pour vous jusqu'à 60 fois par seconde ! Il n'est pas nécessaire de l'appeler vous-même.

Si votre jeu utilise uniquement des sprites

Pour faire bouger votre personnage sur l'écran, lisez le clavier et mettez à jour l'état du personnage (par exemple la position) à l'intérieur de la boucle()

/i/code.html?hints/gamedev_70

Si vos jeux utilisent des sprites et des formes

Si votre jeu utilise également des formes classiques, vous devez alors restituer celles à l'intérieur de la fonction de boucle. Les sprites sont rendus automatiquement lorsque vous modifiez leurs propriétés.

/i/code.html?hints/gamedev_80

Pensez à vos jeux comme une série de frames ! Commencez par dessiner le premier cadre, puis effacez-le et dessinez le deuxième cadre dans une position légèrement différente, et ainsi de suite !

Préchargement des ressources

Le moteur codeguppy.com analyse automatiquement votre code avant son exécution pour identifier les éléments (par exemple, arrière-plan, sprites, musique, effets sonores) qui doivent être chargés. Le moteur les identifie en examinant les commandes d'arrière-plan, de sprite, de musique et de son correspondantes que vous avez utilisées.

Si ces commandes ne spécifient pas l'actif comme constante, vous devez alors précharger les actifs requis à l'aide de la fonction de préchargement. Énumérez simplement tous les éléments requis séparés par des virgules :

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Jeux multi-scènes

La prise en charge de la création de jeux multi-scènes est l'un des principaux points forts de l'environnement codeguppy.com !

En ajoutant plus de scènes à un jeu, votre jeu apparaîtra plus raffiné. Dans un jeu typique, vous souhaiterez peut-être créer une scène « Intro » pour expliquer comment jouer au jeu, la scène « Jeu » réelle et la scène « Félicitations » qui montre les félicitations/le score après avoir terminé le jeu.

Chaque scène est créée dans une nouvelle page de codes. Assurez-vous de nommer les pages de codes de manière appropriée, car nous devrons y faire référence plus tard.

Afficher une scène

Lorsque le programme démarre, il exécutera toujours la première scène que vous définissez. Pour afficher une autre scène, vous devez utiliser la méthode showScene :

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

L'événement d'entrée

Si votre scène contient une fonction nommée enter, alors le moteur exécutera automatiquement cette fonction lorsqu'une scène est entrée/affichée. Dans un jeu typique, une scène peut être affichée plusieurs fois au cours du jeu. Par exemple, la scène « Jeu » sera affichée à chaque fois que l'utilisateur redémarre le jeu à partir de la scène « Intro ».

Cela vous donne la possibilité de définir l'état de la scène de manière appropriée.

Remarque : le code libre en dehors des fonctions n'est exécuté qu'une seule fois par scène. Les affichages successifs de la scène ne déclencheront plus ce code.

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Passer des données à une scène

Dans certains cas, il est utile de transmettre des données à une scène via la méthode showScene. Par exemple, vous pouvez transmettre les options de jeu de la scène "Intro" à la scène "Jeu", ou le score du joueur de la scène "Jeu" à la scène "Félicitations".

Passer un numéro (par exemple un score) à la scène "Félicitations"

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dans la scène "Félicitations", vous pouvez récupérer ces données transmises de la manière suivante :

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Passer une structure complexe à la scène "Félicitations"

s = "Hello";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dans la scène "Félicitations", vous pouvez récupérer ces données transmises de la manière suivante :

ar = [];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Lectures complémentaires

Pour une compréhension plus approfondie de la façon de travailler avec des sprites dans codeguppy.com, veuillez consulter ces tutoriels :

  • Travailler avec le terrain de jeu et le didacticiel des sprites intégrés
  • Travailler avec un terrain de jeu et un tutoriel de sprites personnalisés

Chapitre 5 : Autres astuces de codage

codeguppy.com peut également être utilisé pour pratiquer des algorithmes ou implémenter des programmes avec une interface utilisateur de saisie de données de base. Cet article décrit la prise en charge de ce type de programmes.

Impression des données

Utilisez les instructions d'impression et d'impression pour imprimer rapidement des chiffres, des chaînes et d'autres informations sur la toile. Ces instructions fonctionnent sur un calque de texte défilant distinct.

Ces instructions sont parfaites pour déboguer des programmes, pour pratiquer des éléments de langage ou des algorithmes :

Imprime les nombres de 0 à 9

ar = [1, 2, 3];
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Imprime les 10 premiers nombres premiers

/i/code.html?hints/other_10

Remarque : println ajoute un nouveau caractère de ligne après chaque impression, alors que print ne l'est pas.

Création d'interfaces utilisateur de saisie de données

codeguppy.com propose des instructions simples pour créer des interfaces utilisateur de saisie de données.

Création de zones de saisie

Pour créer une zone de saisie sur une seule ligne, utilisez l'instruction createEdit, en spécifiant la position et la largeur du contrôle.

let x;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Pour créer une zone de saisie multiligne, vous devez également spécifier la hauteur. Si vous omettez le paramètre de hauteur, le système créera automatiquement une zone de saisie sur une seule ligne.

let x = 1;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Notez que l'instruction createEdit renvoie une référence à l'objet zone d'édition. Vous pouvez utiliser les propriétés suivantes pour manipuler le contenu de la zone d'édition.

  • .texte
  • .lecture seule
  • .visible
  • .largeur
  • .hauteur
  • .onchange

Exemple :

let s = "Hello, World!";
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Création de boutons

Un autre élément d'interface utilisateur que vous pouvez créer dans la couche d'interface utilisateur est un bouton-poussoir standard.

x = 100;
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

L'instruction createButton renvoie une référence à l'objet bouton créé. Vous pouvez utiliser cette référence pour accéder à des propriétés telles que :

  • .texte
  • .visible
  • .désactivé
  • .largeur
  • .hauteur
  • .onclick

Exemple :

https://codeguppy.com/code.html?hints/other_20


JavaScript est un outil essentiel pour créer des applications interactives et dynamiques, et comprendre ses concepts fondamentaux est la première étape vers la maîtrise de ce langage puissant. Ce guide présente les principes fondamentaux de JavaScript, offrant une référence rapide et pratique pour les variables, les boucles, les fonctions, etc. En s'entraînant sur codeguppy.com, les apprenants peuvent utiliser leurs nouvelles connaissances et les appliquer directement aux exercices de codage, approfondissant ainsi leur compréhension grâce à une expérience pratique. Alors que vous continuez à explorer JavaScript, n'oubliez pas qu'une pratique et une expérimentation cohérentes sont essentielles pour devenir compétent et libérer tout le potentiel du codage créatif.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal