Aller au contenu

Créer un système de score simple

💡 Vous avez des difficultés avec l’assemblage des blocs Scratch ? Vous ne savez pas comment implémenter la logique du code ? 🚀 Obtenir de l’Aide Maintenant

GM

GameMaker456

Posted on January 20, 2024 • Intermediate

🎮 Besoin d’aide avec le système de score

Salut tout le monde ! Je travaille sur mon premier jeu dans Scratch où le joueur collecte des pièces et bat des ennemis. Je veux ajouter un système de score qui :

  • Augmente le score lors de la collecte de pièces
  • Donne des points pour battre les ennemis
  • Affiche le score à l’écran

Je suis assez nouveau avec les variables et les mécaniques de jeu. Toute aide serait appréciée ! 🙏

SC

ScratchCoder_Pro

Replied 2 hours later • ⭐ Best Answer

Excellente question @GameMaker456 ! Les systèmes de score sont très amusants à implémenter. Voici un guide étape par étape qui devrait vous aider :

🔧 Étape 1 : Créer la Variable de Score

D’abord, créez une variable appelée Score et assurez-vous qu’elle soit définie sur “Pour tous les lutins” pour qu’elle soit accessible partout.

    when flag clicked
set [Score v] to [0]
  

💰 Étape 2 : Système de Collecte de Pièces

Pour vos lutins de pièces, ajoutez ce code :

    when flag clicked
forever
if <touching [Player v]?> then
change [Score v] by [10]
play sound [coin collect v]
hide
stop [this script v]
end
end
  

⚔️ Étape 3 : Système de Défaite d’Ennemis

Pour les lutins ennemis quand ils sont vaincus :

    // When enemy is defeated (example: when touched by player's attack)
when I receive [enemy defeated v]
change [Score v] by [50]
play sound [enemy defeat v]
hide
  

📺 Étape 4 : Affichage du Score

Créez un lutin de texte ou utilisez l’affichage de variable intégré :

Option A : Affichage de Variable Intégré

  • Clic droit sur la variable Score dans la palette Variables
  • Sélectionnez “afficher” pour l’afficher sur la scène
  • Vous pouvez la faire glisser pour la positionner où vous voulez

Option B : Affichage de Score Personnalisé
Créez un lutin de texte avec ce code :

    when flag clicked
forever
set [text v] to (join [Score: ] (Score))
go to x: [-200] y: [150]
end
  

🚀 Étape 5 : Fonctionnalités Avancées (Optionnel)

Si vous voulez faire quelque chose de sophistiqué, voici quelques ajouts sympas :

Système de Combo :

    // Ajouter multiplicateur de combo
when flag clicked
set [Combo v] to [1]
set [Combo Timer v] to [0]

forever
if <(Combo Timer) > [0]> then
change [Combo Timer v] by [-1]
else
set [Combo v] to [1]
end
end

// When collecting items
when I receive [item collected v]
change [Score v] by ((base points) * (Combo))
change [Combo v] by [1]
set [Combo Timer v] to [180] // 3 seconds at 60 FPS
  

Système de Meilleur Score :

    when flag clicked
if <(Score) > (High Score)> then
set [High Score v] to (Score)
broadcast [new high score v]
end
  

J’espère que cela aide ! Faites-moi savoir si vous avez besoin de clarifications sur une partie ! 😊

GM

GameMaker456

Replied 30 minutes later

@ScratchCoder_Pro C’est incroyable ! Merci beaucoup ! 🎉

J’ai réussi à faire fonctionner parfaitement le système de score de base. Une question rapide - comment puis-je rendre l’affichage du score plus joli ? Pour l’instant, il ne montre que le nombre brut.

UI

UIDesigner_Sarah

Replied 1 hour later

@GameMaker456 Excellente question ! Voici comment formater joliment les grands nombres :

    // Custom block: format score
define format score (number)
if <(number) > [999999]> then
set [formatted score v] to (join (round ((number) / [1000000])) [M])
else
if <(number) > [999]> then
set [formatted score v] to (join (round ((number) / [1000])) [K])
else
set [formatted score v] to (number)
end
end
  

Cela affichera “1.2K” au lieu de “1200” et “2.5M” au lieu de “2500000”. Beaucoup plus propre ! ✨

GT

GameTutor_Mike

Replied 2 hours later

J’adore voir les débutants s’attaquer aux mécaniques de jeu ! 🎮 Voici quelques conseils de pro pour rendre votre système de score encore meilleur :

  • Valeurs de points différentes : Donnez aux différents objets des valeurs de points différentes selon la difficulté à les collecter
  • Score bonus : Ajoutez des bonus de temps ou des bonus de complétion parfaite
  • Retour de score : Affichez du texte flottant quand des points sont gagnés
  • Sauvegarder les meilleurs scores : Utilisez les variables cloud pour sauvegarder les meilleurs scores en ligne

Continuez à expérimenter et amusez-vous avec ça !

VB

Vibelf_Community

Pinned Message • Moderator

🚀 Vous voulez faire passer votre développement de jeux au niveau supérieur ?

Excellente discussion tout le monde ! Pour ceux qui cherchent à créer des systèmes de score encore plus avancés, notre communauté peut vous aider à implémenter :

  • 🏆 Classements
  • 🎖️ Systèmes de succès
  • 🧮 Algorithmes de score complexes
  • 🔓 Débloquables basés sur le score

📚 Discussions Connexes

Prêt à faire passer vos compétences en développement de jeux au niveau supérieur ? Obtenez des conseils personnalisés de nos tuteurs experts dans l’application Vibelf !