Lancemant de jeu par menu

Fermé
Nicrol97 Messages postés 1 Date d'inscription samedi 9 juin 2018 Statut Membre Dernière intervention 9 juin 2018 - Modifié le 9 juin 2018 à 17:53
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 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) {

    }
}

merci


A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
9 juin 2018 à 18:01
Bonjour,

Pour t'aider il faudrait que l'on ait la classe Core, notamment pour comprendre le rôle de
sm
dans ton code.
0