top of page

Pour ce trimestre en ICN, nous allons créer un jeu vidéo ! 

 

            Le jeu à comme objectif de montrer les gestes à adopter lors d'une attaque terroriste dans un lycée. Mais évidemment la création d'un jeu n'est pas rapide , il faut avant tout  l'écrire, réunir tout ce qu'il faut ( images, son, idées ! ).

  Nous avons donc conçus un scénario avec la classe de 2°1  voici le script du programme simplifié :

Fenêtre 1 :  Présentation du projet + bouton suivant

Fenêtre 2 : Affiche réagir en cas d'attaque + bouton simuler une attaque

Fenêtre 3 : Présentation des commandes du jeu

Fenêtre 4 : Déclenchement de l'animation

Fenêtre 5 : Déclenchement de  l'alerte, séparation de l'écran en 2, chronomètre 

Fenêtre 6 : Le joueur peut déplacer les gens , les tables...

Fenêtre 7 : Si préparation réussi, la police arrive et le terroriste est arrêté 

Nous sommes allées ensuite prendre des photos du lycée pour tracer le parcours du terroriste jusqu'à la salle INFOMATHS. Son parcours est :

 

  • Entrée principale du Lycée

  • Cour d'honneur

  • Vie Scolaire

  • Cour de la cheminée

  • Tunnel rue Francis CARCO

  • Cour du pôle scientifique

  • Couloir salle INFOMATHS

           Pour faire marcher une personne sur les images, nous somme allées sur internet pour chercher un GIF d'une personne qui marchait pour l'insérer dans le jeu. Le GIF est une silhouette qui représente le terroriste 

L'objectif est maintenant de déplacer le GIF avec l'image de l'entrée du lycée pour faire entrer le terroriste dans le bâtiment. Pour cela il faut commencer à écrire un peu !

Nous utilisons le logiciel Processing pour écrire le code source du jeu,  et le code est ci-dessous :  

 

 

 

PImage img; //Déclaration de l'image de fond "img"
float n=1; //Déclaration d'un décimal "n" et affectation de la valeur 1
float xpos, ypos; //Déclaration des coordonnées initiales de l'image 
float imageSize = 8; //Déclaration d'un décimal taille de l'image et affectation de la valeur 8
PImage [] silhouette;
int compteur=0;
String[] images = {
  "s (1).png", "s (2).png", "s (3).png", "s (4).png", "s (5).png", "s (6).png", "s (7).png", "s (8).png", "s (9).png", "s (10).png", "s (11).png", "s (12).png", "s (13).png", "s (14).png", "s (15).png", "s (16).png", "s (17).png", "s (18).png"
}; // list of images to load
void setup() { 
  xpos = 350;
  ypos = 150;
  frameRate(9);
  size(640, 360);
  img = loadImage("palissy1.jpg"); //chargement de l'image de fond
  silhouette  = new PImage[17];

  for (int i=0; i<17; i++)
  {
    silhouette[i] = loadImage(images[i]);
  }
}

void draw() {
  //background(255);
  image(img, 0, 0, img.width, img.height); //Affichage de l'image de fond
  n=n+0.1;
  imageSize=imageSize-0.2;
//background(#FF12E8);
// Update the position of the shape
xpos = xpos -2.9*n;
ypos = ypos +0.7*n; //Lignes de code empiriques permettant de déplacer et agrandir l'image ( de la ligne " n=n+0.1;" à ici )
// Displays the image at its actual size at point (0,0)
 if (xpos < 100) { xpos=-7000;textSize(20); text("Le terroriste est passé", 200,200); } //Si l'image du terroriste atteint la porte , elle n'est plus affichée
  image(silhouette[compteur], xpos, ypos, silhouette[compteur].width/imageSize, silhouette[compteur].height/imageSize);.3
  compteur++;
  if (compteur==17) {
    compteur=0;
  }
}

Le code du premier tableau est terminé ! Il reste donc six tableau à écrire. Nous n'allons pas mettre les codes des six autres mais nous allons montrer ce qui a était modifié !

Tableau 2 :

 

Modification des valeurs y/xpos pour définir le point de départ du GIF                                                                       Modification du non de l'image de fond                                                   

                                     

                                                                        Modicifation des veleur x/ypos

                           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

variables qui permettent l'enchainnement des tableaux

1 > Variable entière dont la valeur est 1 à dès que l'image de fond change

xpos/ypos : Absysses et ordonées

image size : permet de cha

 

 

 

Pour le moment ce code n'est que une petite partie du jeu car il reste encore beaucoup de travail à faire ! Pour la suite il faudra attendre la semaine prochaine,

A bientôt !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comment assembler ses tableaux ?

Une nouvelle variable tableau va prendre des valeurs de 1 à 7,
à la fin du premier tableau, tableau = 2
on va créer une méthode spécifique à chaques tableaux : Void tableau 1() } ...
  {

De même pour les autres tableaux

Pour appeller chaques méthodes dans le draw :

if(tableau==2) { tableau2();

bottom of page