Nicrol97
Messages postés1Date d'inscriptionsamedi 9 juin 2018StatutMembreDernière intervention 9 juin 2018
-
Modifié le 9 juin 2018 à 17:53
KX
Messages postés16752Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 août 2024
-
9 juin 2018 à 18:01
Bonjour,
je n' arrive pas à lancé mon jeu depuis un menu.
pouvez vous me donnez la commande a y mettre ?
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Stroke;
import java.awt.Window;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
import javax.swing.* ;
import java.awt.* ;
import java.awt.event.*;
public class Joueur2 extends Core implements KeyListener, ActionListener {
//ecran 1920/1080
int centrex1 = 0;
int centrey1 = 540;
int centrex2 = 1920;
int centrey2 = 540;
//ecran 1280/1024
// int centrex1 = 0;
// int centrey1 = 510;
// int centrex2 = 1280;
// int centrey2 = 510;
//ecran 800/600
// int centrex1 = 0;
// int centrey1 = 300;
// int centrex2 = 800;
// int centrey2 = 300;
//ecran 1680/1050
// int centrex1 = 0;
// int centrey1 = 525;
// int centrex2 = 1680;
// int centrey2 = 525;
//ecran 640/480
// int centrex1 = 0;
// int centrey1 = 240;
// int centrex2 = 640;
// int centrey2 = 240;
int currentDirection1 = 1;
int currentDirection2 = 3;
int moveAmount = 5;
ArrayList<Integer> pathx1 = new ArrayList();
ArrayList<Integer> pathy1 = new ArrayList();
ArrayList<Integer> pathx2 = new ArrayList();
ArrayList<Integer> pathy2 = new ArrayList();
private JFrame jffinpartie;
// lance jeu
public static void main(String[] args) {
new Joueur2().run();
}
//écran complet
public void init() {
super.init();
Window w = sm.getFullScreenWindow();
w.addKeyListener(this);
}
public void draw(Graphics2D g) {
// change direction joueur1
switch(currentDirection1){
case 0:
if (centrey1>0){
centrey1-=moveAmount;
} else {
centrey1 = sm.getHeight();
}
break;
case 1:
if (centrex1 < sm.getWidth()){
centrex1+=moveAmount;
} else {
centrex1 = 0;
}
break;
case 2:
if (centrey1 < sm.getHeight()){
centrey1+=moveAmount;
} else {
centrey1 = 0;
}
break;
case 3:
if (centrex1>0){
centrex1-=moveAmount;
} else {
centrex1 = sm.getWidth();
}
break;
}
// change direction joueur2
switch(currentDirection2){
case 0:
if (centrey2>0){
centrey2-=moveAmount;
} else {
centrey2 = sm.getHeight();
}
break;
case 1:
if (centrex2 < sm.getWidth()){
centrex2+=moveAmount;
} else {
centrex2 = 0;
}
break;
case 2:
if (centrey2 < sm.getHeight()){
centrey2+=moveAmount;
} else {
centrey2 = 0;
}
break;
case 3:
if (centrex2>0){
centrex2-=moveAmount;
} else {
centrex2 = sm.getWidth();
}
break;
}
// fin ex-aequo
if ((centrex1 == centrex2) && (centrey1 == centrey2) ) {
finPartie("Ex-aequo");
}
// condition victoire
for (int x = 0;x<pathx1.size();x++){
if (((centrex1 == pathx1.get(x)) && (centrey1 == pathy1.get(x))) || ((centrex1 == pathx2.get(x)) && (centrey1 == pathy2.get(x)))) {
finPartie("Victoire du joueur rouge");
}
if (((centrex2 == pathx2.get(x)) && (centrey2 == pathy2.get(x))) || ((centrex2 == pathx1.get(x)) && (centrey2 == pathy1.get(x)))){
finPartie("Victoire du joueur bleu");
}
}
pathx1.add(centrex1);
pathy1.add(centrey1);
pathx2.add(centrex2);
pathy2.add(centrey2);
g.setColor(Color.BLACK);
g.fillRect(0, 0, sm.getWidth(), sm.getHeight());
// valeur joueurs (couleur et taille)
for (int x = 0;x<pathx1.size();x++){
g.setColor(Color.blue);
g.fillRect(pathx1.get(x), pathy1.get(x), 7, 7);
g.setColor(Color.red);
g.fillRect(pathx2.get(x), pathy2.get(x), 7, 7);
}
}//fin draw
// menu fin de partie
public void finPartie(String s){
this.stop();
jffinpartie = new JFrame (s);
JPanel jp =new JPanel();
jp.setPreferredSize(new Dimension (400,70));
JButton jbnewgame =new JButton("Nouvelle partie");
jbnewgame.addActionListener(this);
jp.add(jbnewgame);
JButton jbendgame =new JButton("Menu");
jbendgame.addActionListener(this);
jp.add(jbendgame);
jffinpartie.setContentPane(jp);//change le panneau de contenu
jffinpartie.pack();//réglage de la taille par le contenu
jffinpartie.setVisible(true);
}
public void actionPerformed(ActionEvent ae){
JButton jb = (JButton)ae.getSource();
if(jb.getText().equals("Nouvelle partie")){
new Joueur2().run();
jffinpartie.dispose();
}
else if(jb.getText().equals("Menu")){
new Menu();
jffinpartie.dispose();
}
}
// mise en forme des touche
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
if (currentDirection2 != 2){
currentDirection2 = 0;
}
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
if (currentDirection2 != 0){
currentDirection2 = 2;
}
} else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
if (currentDirection2 != 3){
currentDirection2 = 1;
}
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
if (currentDirection2 != 1){
currentDirection2 = 3;
}
}
if (e.getKeyCode() == KeyEvent.VK_Z){
if (currentDirection1 != 2){
currentDirection1 = 0;
}
} else if (e.getKeyCode() == KeyEvent.VK_S) {
if (currentDirection1 != 0){
currentDirection1 = 2;
}
} else if (e.getKeyCode() == KeyEvent.VK_D) {
if (currentDirection1 != 3){
currentDirection1 = 1;
}
} else if (e.getKeyCode() == KeyEvent.VK_Q) {
if (currentDirection1 != 1){
currentDirection1 = 3;
}
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent arg0) {
}
}