Bonjour,
j'ai un projet à faire, il s'agit d'un jeu. J'ai commencé un code (mis en fin) mais je bloque sur une partie, il s'agit de faire appaître plusieurs images (ici trésor) sur les différents niveau (marron) et de facon aléatoire à chque fois qu'on relance le programme. De plus, il faut qu'on puisse les récolter un à un en appuyant sur une touche du clavier. quelqu'un peut il m'aider ? merci
package projetjeu;
import org.newdawn.slick.Animation;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.Color;
import org.newdawn.slick.Font;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.tiled.TiledMap;
public class snokurking extends BasicGame {
private GameContainer container;
private TiledMap map;
private float x = 150, y = 57;//position personnage
private float x2 = 300;
private float x3 = 400, y3 = 250;
private static final int P_BAR_X = 130;//position coin sup gauche barre de vie
private static final int P_BAR_Y = 1100;
private static final Color LIFE_COLOR = new Color(255, 0, 0);
public snokurking() {
super("snokurking");
}
public void init(GameContainer container) throws SlickException{ //doit initialiser le contenu du jeu, charger les graphismes
this.container = container;
this.map = new TiledMap("image/carte.tmx");
}
public void keyReleased(int key, char c) {
if (Input.KEY_ESCAPE == key) {
container.exit();
}
}
public void update(GameContainer container, int delta) throws SlickException{ //doit mettre à jour les élément de la scène en fonction du delta temps qui est survenu
Input input = container.getInput();
if (input.isKeyDown(input.KEY_UP)) {
y -= 0.5;
if (y < 55) //pour retourner à position initiale une fois en haut
y += 0.5;
} else if (input.isKeyDown(input.KEY_DOWN)) {
y += 0.5;
if(y>975) //pour ne pas pouvoir descendre plus bas que le dernier niveau de la derniere cave
y -=0.5;
}
if (input.isKeyDown(input.KEY_T)) {
}
}
public void render(GameContainer container, Graphics g) throws SlickException{ //doit afficher le contenu du jeux
this.map.render(0,0);//affichage de la carte
Image perso = new Image("image/plongeur.png");
//Image perso2 = new Image ("image/plongeur2.png");
Image tresor = new Image("image/tresor3.png");
g.drawImage(perso,x,y);//affichage du personnage
//g.drawImage(perso2,x2,y);
g.drawImage(tresor,x3,y3);
g.setColor(Color.white);
g.drawRect(0,1100,860,140);//dessine rectangle (x,y,width,height)
g.fillRect(0,1080, 860, 140); //remplissage rectangle
g.setColor(Color.black);
g.drawRect(130,1100,600,100); //futur barre de vie
g.setColor(LIFE_COLOR);
g.fillRect(P_BAR_X, P_BAR_Y, 1.0f * 600,100);//remplissage barre de vie
}
public static void main(String[] args) throws SlickException {
new AppGameContainer(new snokurking(), 860, 1220, false).start(); //GameContainer permet de configurer environnement d’exécution de la boucle
}
}