#ScratchMonth - Jeu de Pierre - Feuille - Ciseaux

Parmi les deux thèmes proposés pour cette troisième semaine #ScratchMonth j'ai choisi : ne pas s’ennuyer !

Avec le confinement, nous nous sommes tous rendus compte que la plupart des jeux, même les plus simples, nécessitent d’être deux. De nombreux projets proposent de jouer à Pierre Feuille Ciseaux avec une micro:bit. Mais tout le monde n’a pas une micro:bit à sa disposition. 



Je vous propose d’utiliser la webcam pour réaliser, avec Scratch, un jeu assez simple dans sa réalisation et ce grâce aux blocs Détection vidéo.

Les blocs Détection vidéo sont situés dans la catégorie Ajouter des extensions. Ils sont basés sur le même principe que la Kinect. Ils captent le mouvement de flux vidéo. Ce flux peut être au niveau de la scène ou d’un sprite. Chaque fois qu’un mouvement est capté une interaction peut être enclenchée.

Pour ce projet, nous allons utiliser le mouvement du joueur qui, avec ses mains, affiche une pierre – une feuille – un ciseau. Une sélection aléatoire de l’objet qui sera affiché est effectuée. Joueur et joueur virtuel affichent l’élément de leur choix en même temps.  

Graphisme

Pour ce projet j’ai utilisé deux sprites.



Le sprite Tirage. Pourvu de quatre costumes (un point d’interrogation - une pierre - une feuille - un ciseau) qui s’affichent sur la scène d’une manière aléatoire.

Remarque : lorsque vous utilisez les blocs Détection vidéo, privilégiez les sprites au format Bitmap ou changez le format de vos sprites s’ils sont au format vectoriel en cliquant sur le « bouton » dans la palette graphique. 


Un sprite de « décoration » pour donner un petit design au projet. 


Il n’est pas nécessaire d’utiliser un arrière-plan. En effet, l’image captée par la webcam se superpose à l’image d’arrière-plan sur la scène.  


Le programme


Sprite Tirage

Une variable est utilisée pour pouvoir afficher d’une manière aléatoire une pierre - une feuille – un ciseau. Nous aurions pu gérer la sélection par le biais d’une liste.

Lorsque l’état de la variable est à = 0, le costume 1, qui correspond au point d’interrogation s’affiche (phase avant tirage au sort).

Lorsque l’état de la variable est à 1 = le costume Pierre est affiché par le « joueur virtuel ».

Lorsque l’état de la variable est à 2 = le costume Feuille est affiché par le « joueur virtuel ».

Lorsque l’état de la variable est à 3 = le costume Ciseaux est affiché par le « joueur virtuel ».



Le programme commence par une initialisation avec :

  • Positionnement du sprite
  • affichage du point d’interrogation
  • mise à zéro de la variable

 

quand drapeau vert est cliqué

aller à X : 0 Y : 0 // positionne le sprite au centre

montrer

basculer sur le costume 1

mettre tirage à 0

répéter indéfiniment // ouverture d’une boucle de répétition qui enclenche le choix d’un sprite par le joueur virtuel lors’un mouvement est détecté.

Elle contient trois conditions pour afficher, en fonction du tirage aléatoire, le sprite correspondant.

si vidéo mouvement sur sprite > 50 alors // la valeur peut être modifiée ne fonction du contexte

mettre tirage à nombre aléatoire entre 1 et 3 // chacune des trois valeurs correspond à un costume différent

1ère condition

si tirage = 1 alors

basculer sur le costume pierre

attendre 1 secondes // la pierre s’affiche pendant une seconde

mettre tirage à 0 // la variable est à nouveau initialisée

2ère condition

si tirage = 2 alors

basculer sur le costume feuille

attendre 1 secondes // la feuille s’affiche pendant une seconde

mettre tirage à 0 // la variable est à nouveau initialisée

3ère condition

si tirage = 3 alors

basculer sur le costume ciseaux

attendre 1 secondes // le ciseau s’affiche pendant une seconde

mettre tirage à 0 // la variable est à nouveau initialisée

// Fermeture de la boucle de répétition.




En parallèle une autre instruction est lue et exécutée par le programme du sprite Tirage.

quand drapeau vert est cliqué

répéter indéfiniment

si tirage = 0 alors

basculer sur le costume 1

attendre 1 secondes // le point d’interrogation s’affiche en attendant le prochain mouvement, la prochaine « partie ».

// Fermeture de la boucle de répétition.


Gestion de la Webcam

La gestion de la caméra se fait sur le sprite de décoration (sprite1). Mais il peut être associé à l’arrière-plan.


quand drapeau vert est cliqué

vidéo activée

mettre la transparence vidéo sur 50 // niveau intermédiaire pour la présence de l’image captée par la caméra sur la scène. 


Vous pouvez retrouver ce projet sur mon compte Scratch, pour y jouer, le partager, le transformer. 

Commentaires

  1. tres bons programe il est bien et est simple merci a vous de m acompagner chaque semaine

    RépondreSupprimer

Enregistrer un commentaire

Posts les plus consultés de ce blog

Fabriquer une main articulée

Apprendre à programmer avec Arduino - LED et bouton poussoir

Scratch - Dessiner dans un repère orthonormé