LES QUESTIONS POUR LE PROJET
Problématique :
Comment réaliser un jeu de tir en 2 dimensions dans le principe de "space invaders" en incluant différents niveaux de difficultés ?
Space Invaders :
La fenêtre de jeu :
- La taille :
- Comment faire apparaître une fenêtre de Xpixels par Ypixels ?
- void setup(){
size(Xpixels,Ypixels);
} - L'arrière-plan :
- Comment incruster une image en arrière-plan ?
- PImage img;
void setup() {
img = loadImage("nomdel'image"); - Comment placer cette image sur la fenêtre (ici sur toute la fenêtre) ?
- void setup() {
size(img.width, img.height);
}
Le menu du jeu :
Titre :
- Comment faire apparaître un texte sur un endroit de la fenêtre de jeu ?
- void draw () {
text("texte",x,y);
} - Comment définir la taille et la couleur du texte ?
- void draw () {
textSize(taille);
} - void draw () {
fill(#couleur);
} - Le curseur de la souris :
- Comment faire apparaître un curseur suivant les mouvements de la souris sur la fenêtre de jeu ?
- void draw () {
background(#couleur du fond);
noCursor();
noFill();
line(mouseX-xPixels,mouseY, mouseX+xPixels, mouseY);
line(mouseX, mouseY-yPixels, mouseX, mouseY+yPixels);
ellipse(mouseX, mouseY, x, y);
fill(#couleur du curseur);
} - Comment définir son aspect ?
- void draw() {
image(img3, mouseX, mouseY);
noCursor(); } - Les boutons d'interaction :
- Comment faire apparaître un bouton sur un endroit de la fenêtre de jeu ?
- if (mouseX < x) {
- if (mouseX > x) {
- if (mouseY < y) {
- if mouseY > y) {
- }
- }
- }
- }
L'arrière-plan :
- Comment incruster une image en arrière-plan ?
- PImage img;
void setup() {
img = loadImage("nomdel'image");
Le joueur :
- L'aspect :
- Comment faire apparaître une image à la place du curseur de la souris ?
- void draw() {
image(img3, mouseX, mouseY);
noCursor(); } - Les tirs :
- Comment relier le clic de la souris à l'action de tir ?
- void draw() {
tir();
}
void tir() {
if (mousePressed) { aspect du tir
}
} - Comment représenter des tirs ?
- void draw() {
tir();
}
void tir() {
if (mousePressed) {
line (mouseX +45, mouseY -400, mouseX + 45, mouseY + 2);
}
} - Comment supprimer un alien si le tir l'atteint ?
- void draw() {
tir();
}
void tir() {
if (mousePressed) {
line (mouseX +45, mouseY -400, mouseX + 45, mouseY + 2);
explosion();
}
} void explosion() {
for (int i=0; i<5; i++) {
if (mouseX<x[i]+20) {
if (mouseX>x[i]) { x[i] = 10000}
}
}
} - Les points :
- Comment créer un score suivant les actions du jeu ?
- Comment faire apparaître des points sur l'écran ?
- Le niveau de vie :
- Comment créer un niveau de vie suivant les actions du jeu ?
- Comment afficher ce niveau de vie sous forme de cœurs sur l'écran ?
Les ennemis :
- L'aspect :
- Comment faire apparaître des images représentant des sortes d'aliens différents (de part leurs couleurs) ?
- Le nombre d'ennemis :
- Comment générer un nombre définit d'ennemis ?
- Les déplacements :
- Comment créer des déplacements de mêmes natures pour tous les ennemis ?
- Comment les faire accélérer suivant la difficulté du niveau ?
- Les tirs :
- Comment représenter des bombes lâchées par les ennemis ?
- Comment les faire lâcher par des ennemis aléatoirement ?
- Leurs vies :
- Comment créer différents niveaux de vie à des ennemis qui feront que l'on doit les toucher plusieurs fois ou non pour les détruire ?
Les niveaux :
- Difficultés :
- Comment accélérer les déplacements des ennemis ?