Forum Clubic

Création d'un jeu de bataille (cartes) en java

Bonjour,

Pour mon projet de in de semestre je dois réaliser le jeu de carte bataille en langage java qui se joue à 2 joueurs. Il s’agit d’un jeu de 32 cartes (4 couleurs et 8 puissances de carte). Le jeu est d’abord mélangé pour ensuite être coupé en deux tas de 16 cartes. On en donne un à chaque joueur et la partie peut enfin commencer. Chaque joueur montre la carte au somment de son tas, celui qui a la carte de plus forte valeur ramasse sa carte et celle de son adversaire puis la mets sous son tas. En cas d’égalité, les deux cartes sont placées sur un tas d’attente avec, pour chaque joueur une autre carte prise au sommet de son tas. ensuite, la partie reprends et ainsi de suite.
Je n’y connais vraiment rien en java, votre aide me sera vraiment précieuse. Merci:)

Mais si tu as un projet de fin de semestre, c’est que tu as eu un cours de Java auquel tu as été assidu non ?

Assidu oui, mais depuis le début j’ai du mal à comprendre

Bonjour,

et donc tu bloques où exactement?

Bonjour.
En fait je bloque sur début. JE pourrais m’en sortir si j’avais la base, mais c’est justement cette base qui me pose problème. Trouver le début c’est pas facile, mais une fois que c’est fait le reste suit petit à petit

Vu le niveau de précisions que tu nous donnes, j’ai de gros doutes sur le fait que tu puisses réaliser quoi que ce soit dans ce projet.
On te laisse commencer, et nous poser des questions plus précises…

Finalement je me suis débrouillé à pondre quelque chose mais il ne s’'exécute pas. Voilà le programme

/**
*
*/

/**

  • @author princ_000

*/
public class Bataille_2 {

/**
 * @param args
 */
	static void battre(int[] donne){
        int n = donne.length, i, j, tmp;
        
        for(i = n-1; i > 0; i--){
            // on choisit un entier j de [0..i]
            j = (int) (Math.random() * (i+1));
            // on permute donne[i] et donne[j]
            tmp = donne[i]; donne[i] = donne[j]; donne[j] = tmp;
        }
    }

	static int[] jeu(int n){
        int[] jeu = new int[n];
        
        for(int i = 0; i < n; i++)
            jeu[i] = i+1;
        battre(jeu);
        return jeu;
    }

    public static void main(String[] args){
    int[] donne;
    donne = jeu(32);
    jouer(donne);

}
// donne[] contient les cartes qu’on distribue à partir de la fin
// on remplit jeuA et jeuB à partir de 0
private static void jouer(int[] donne) {
// TODO Auto-generated method stub

	}

	static void distribuer(int[] jeuA, int[] jeuB, int[] donne){
        int iA = 0, iB = 0;

        for(int i = donne.length-1; i >= 0; i--){
            if((i % 2) == 0) { 
                jeuA[iA++] = donne[i];
        }
            else {
                jeuB[iB++] = donne[i];
            }
    }
	}

	static void jouerAB(int[] jeuA, int[] jeuB){
        int gainA = 0, gainB = 0;
        
        for(int i = jeuA.length-1; i >= 0; i--){
            if(jeuA[i] > jeuB[i])
                gainA++;
            else
                gainB++;
        }
        if(gainA > gainB) {
        	System.out.println("A gagne");
        }
        else {
        	System.out.println("B gagne");
        }
	}

}

Merci pour le tuyau l’ami :smiley:

la jolie pub :riva: