begin process at 2010 03 21 07:10:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

JEU DE CARTE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

JEU DE CARTE

mercredi 15 février 2006 à 20:58:31 | JEU DE CARTE

un_mec_de_stras

salut a tous
je veut créer un jeu de carte (bataille) et dans mon code il ya une partie (qui va comptabilisé les point de chaque joueur ne marche pas)

int Som1 = 0;
   int Som2 = 0;
   for (int i=0; i<26; i++){
          if (tCarteJoueur1[i].valeur() > tCarteJoueur2[i].valeur())
                 Som1 = Som1 + val;
                 Som2 = Som2 + 0;
       else if  (tCarteJoueur1[i].valeur() < tCarteJoueur2[i].valeur())
                 Som1 = Som1 + 0;
                 Som2 = Som2 + val;
           else Som1 = Som1+ 0;
                Som2=Som2+0;

deja de une les ELSE ne marche pas (c'est a dire que le jeu ne se lance pa a cause de cela) et la seconde chose c'est que mon VALEUR ne fonctionne pa

voici ma classe carte

public class Carte {
 int code;
 String lib;
 
 public Carte (int wCode, String wLib){
  code = wCode;
  lib = wLib;
 }
 
 public void AfficherCarte(){
  System.out.println(code + " "+ lib);
 }
 
 public void valeur(int val){
  code = val;
  if (code==1)
   val =10;
  else if (code==13)
   val = 8;
  else if (code==12)
   val = 6;
  else if (code==11)
   val = 4;
  else val=1;
 }
}


si QQUN PEU M AIDER MERCI BCP

un mec de stras

mercredi 15 février 2006 à 21:51:29 | Re : JEU DE CARTE

eddyger

Bonsoir,
qques remarques :
1) "void" devant une méthode signifie qu'elle ne retourne rien.
2) si tu as plusieurs instruction dans un for, un if , un else,...... n'oublie pas les paires accolade ouvrante/fermante
3) dans certains cas un switch est plus lisible que plusieurs if imbriqués ou successifs.

A)la classe "corrigée" :
public class Carte {
 int code;
 String lib;
 
 public Carte (int wCode, String wLib){
  code = wCode;
  lib = wLib;
 }
 
 public void AfficherCarte(){
  System.out.println(code + " "+ lib);
 }
 
 public int valeur(){
   switch (code){
   case 1  : return 10 ;
   case 13 : return 8;
   case 12 : return 6;
   case 11 : return 4;
   default : return 1;
  }
 }
}

B) ta boucle "corrigée":
int Som1 = 0;
int Som2 = 0;
for (int i=0; i<26; i++){
          if (tCarteJoueur1[i].valeur() > tCarteJoueur2[i].valeur()){
                 Som1 = Som1 + val; // qui est val :
tCarteJoueur1[i].valeur() OU tCarteJoueur2[i].valeur() ?
                 Som2 = Som2 + 0; //1+0=1 , n+0=n non ?
          }
       else
              if  (tCarteJoueur1[i].valeur() < tCarteJoueur2[i].valeur())
                 Som1 = Som1 + 0;
                 Som2 = Som2 + val;
// qui est val : tCarteJoueur1[i].valeur() OU tCarteJoueur2[i].valeur() OU ...?
           else Som1 = Som1+ 0;
                Som2=Som2+0;

}
ed
mercredi 15 février 2006 à 22:43:44 | Re : JEU DE CARTE

un_mec_de_stras


merci
les lignes baré je ne doi pa les rajouté c ca?
et le val je doi le remplacer par koi (j'ai mi tCarteJoueur1[i].valeur() par exemple mai des que je le rajoute ca me le souligne en rouge ca veut dire ke l action est impossible)
commen doi-je proceder?
merci encore ed

un mec de stras

mercredi 15 février 2006 à 23:06:15 | Re : JEU DE CARTE

eddyger

- oui les lignes barrées sont à supprimer (selon moi!)
- sinon si ta méthode valeur() de Carte renvoit un entier, tu as le droit de faire :
int monINT = 0;
monINT = monINT + carte.valeur();
envois ton code modifié.
je me reconnecte demain matin, si tu n'as aucune réponse de personne d'ici là, promis j'essaierais de te répondre
Bon courage.
PS: la prog s'est pas évident, cependant avant de se lancer tête baissée sur son clavier, il faut faire une analyse du problème posé.
Si tu sais jouer à la bataille, écris d'abord un scénario type de  jeu (imagine que tu joues avec un pote) ou base toi sur les règles du jeu. Suite à cette première approche, traduis les règles du jeu (ou les cas de figure identifiés par tes soins) en pseudo-code. Puis dernière phase traduis tout en java.
Moi je ne sais jouer qu'à la belote alors qui mieux que toi peut répondre à "le val je doi le remplacer par koi ?"
je vais faire dodo car ma femme m'engueule quand je fais trop de net !
ed

jeudi 16 février 2006 à 11:59:38 | Re : JEU DE CARTE

daeron

juste une question pourquoi tu retournes 1 à chaque fois que tu ne tombes pas sur un as, un roi, une dame ou un valet ?

a mon avis tu devrais numéroter tes cartes de 2 à 14 avec le 14 pour l'as ainsi les controles seraient plus faciles car dans l'ordre numérique...


Lapin, lapin, ...
jeudi 16 février 2006 à 16:33:19 | Re : JEU DE CARTE

un_mec_de_stras

merci ed ca fonctionne comme je le voulais
g commencer a faire mon interface graphique et c là reprob,
je voulai savoir si c'été possible de pouvoir prendre mon "code et lib" de ma carte, de les mettres en un string, pui l associé avec l image de ma carte
explication:
prenon par exemple l'as de coeur, dan mon programme il va s'afficher comme suit: "1"(int) et "Coeur"(String)
mon image s'appelle "1 Coeur.gif"
je voulai savoir si c'été possible de le concaténé en une chaine string pour le comparer a mon image et l'y associé
(l interface graphique c'est vraimen dure !!!)
si vou comprené mon prob et que vous trouver une autre alternative (une solution) merci !!



un mec de stras

jeudi 16 février 2006 à 20:29:16 | Re : JEU DE CARTE

eddyger

Bonjour,

Oui , tu as le droit de faire :
int monINT = 12;
String maStr = "blabla";
String maStr2 = monINT + maStr + ".truc";

ed
lundi 20 février 2006 à 11:42:44 | Re : JEU DE CARTE

daeron

tu peux aussi si tu as fait une classe Carte mettre dedans son nom lors de l'initialisation...

cela dit j'ai pas bien compris ton problème, essaye d'éviter le style SMS je ne brille pas dedans.

Lapin, lapin, ...
mardi 21 février 2006 à 20:12:30 | Re : JEU DE CARTE

un_mec_de_stras

voila, j'ai crée une classe Interface qui affiche un fond vert avec deux cartes au centre et un bouton en bas
le probleme et que j'ai mis en relation ma class Jeu et ma class Interface mais impossible de recupérer les valeurs d'un tableau de ma class Interface (explication: je voulais dans une boucle for introduire mon interface pour qu'il recupere les valeurs d'un tableau mais la je n'arrive pas)(j'ai mis en gras les partis qui me semble fausses et que je n'arrive pas a resoudre)

INTERFACE:
public class Interface extends JFrame {
 
 ImageIcon frameImageIcon = new ImageIcon("Allah.gif");
 Image frameImage = frameImageIcon.getImage();
 
 public static void main(String[] args) {
  new Interface();
 }
 
 public Interface(){
  Button bouton = new Button("Carte suivantes");
  add (bouton, "South");
  initGUI();
 }
 
 public void initGUI() {
  this.setResizable(false);
  this.setIconImage(frameImage);
  this.setTitle("Jeu de cartes - BATAILLE");
  this.getContentPane().setBackground(Color.GREEN);
  this.setSize(new Dimension(500,500));
  this.setVisible(true);
 }
 public void paint (Graphics g){
   this.setBackground(Color.green);
   g.drawImage(image,25,70,150,247,this);
   g.drawImage(image2,300,70,150,247,this);
    }

 
 Toolkit toolkit = getToolkit();
 String mot= "1 Pic.gif";
 Image image = toolkit.getImage(mot);
 Image image2 = toolkit.getImage(mot);


 protected void processWindowEvent (WindowEvent e){
  if (e.getID() == WindowEvent.WINDOW_CLOSING) {
   System.exit(0);
  }
  }
 }

JEU
int Som1 = 0;
   int Som2 = 0;
   //on crée deux variables Som1 et Som2
   //ces variables vont servir à stocker la somme (le score) que le joueur et que l'ordi aura
   for (int i=0; i<26; i++){
             if (tCarteJoueur1[i].valeur() > tCarteJoueur2[i].valeur()){             
                    Som1 = Som1 + tCarteJoueur1[i].valeur();
                    //si la valeur (code) de tCarteJoueur1 est supérieur à la valeur de tCarteJoueur2
                    //Som1 (du joueur) sera ajouter avec la valeur de la carte qui est definit dans la class CARTE
                   
                  
                 Toolkit toolkit = I1.getToolkit();
                    //recuperation de l'image
                  int monINT = tCarteJoueur1[i].valeur();
                    String maStr = tCarteJoueur1[i].lib;
                    String maStr2 = monINT + maStr + ".gif";
                   
                    //recuperation de l'image
                  int monINT2 = tCarteJoueur2[i].valeur();
                    String maStr3 = tCarteJoueur2[i].lib;
                    String maStr4 = monINT2 + maStr3 + ".gif";

                   //Toolkit toolkit = I1.getToolkit();
                 Image image = toolkit.getImage(maStr2);
                 Image image2 = toolkit.getImage(maStr4);
                 
                 //public void paint(Graphics g){
                   //this.setBackground(Color.green);
                   //g.drawImage(image,25,70,150,247,this);
                   //g.drawImage(image2,300,70,150,247,this);
          //}
             }

          else
                 if  (tCarteJoueur1[i].valeur() < tCarteJoueur2[i].valeur())
                    Som1 = Som1 + 0;
                    Som2 = Som2 + tCarteJoueur2[i].valeur();
                    //si la valeur (code) de tCarteJoueur1 est supérieur à la valeur de tCarteJoueur2
                    //Som1 (du joueur) sera ajouter avec la valeur de la carte qui est definit dans la class CARTE
   }
   System.out.println("\n" + "Joueur 1 :" + Som1);
   System.out.println("Ordinateur :" + Som2);
   //affichage des valeurs du joueur et de l'ordinateur
   
   if (Som1 > Som2){
    System.out.println("\n" +"Vous avez Gagné");
    JOptionPane.showMessageDialog(null,"Vous avez Gagné"); 
    }
   else
    if (Som1 < Som2){
    System.out.println("\n" +"Vous avez Perdu ");
    JOptionPane.showMessageDialog(null,"Vous avez Perdu");
    }
    else JOptionPane.showMessageDialog(null,"Vous êtes égalité");  
   }
}

Mon but et de pouvoir afficher la premiere carte de tCarteJoueur1 et de tCarteJoueur2 et lorsque je clique dans mon bouton il passe a la carte suivante (j'espere que vous avez saisi)
MERCI de bien vouloir m'aider

un mec de stras



Cette discussion est classée dans : code, int, val, som1, som2


Répondre à ce message

Sujets en rapport avec ce message

Probleme de tableaux. [ par canvin ] Bonojour,Voici mon problème. j'ai fait une classe tableaux avec un constructeur. : public class Tableau{ private int tab[]; pu quel est le code source de la fct loop(int i) de l'interface clip [ par nien ] vola tt est dans le titre: il me faudrat le code source de cette fct .. merci paske c un tp a rendre pour bientot ..:) pixelgrabber - conversion RGB/int [ par lutecefalco ] qd on utilise un pixelgrabber et pixelgrab(), ça remplit un tableau d'entiers en fonction du code RGB.Je trouve pas l'algo qui permet de passer du cod Serialisation et déserialisation d'un objet avec RMI [ par nejah_zouari ] bonjour,Soit la classe définit ci dessous,public class Shape implements Serializable  {  transient int  x,y,width,heigh, code;  Color color;  public S caractere Ascii [ par slante ] Bonjour. je travaille sur un jeu de debutant ou un mot est choisi random a partir d'une liste.  Je veux que chaque lettre  et lettres seulement du mot isReachable(int)??? [ par viphadia ] salut; j'ai utilisé dans mon programme ce petit code la, pour tester le serveur s'il est en panne ou pas (ou bien ping ) quand je compile j'ai cette e probleme avec les edges [ par monpseudonom ] Salut. J'utilise jgraph et voici mon probleme. Pour un lien donné je veux savoir les coordonnées des cellelules quil ui sont connectés.Voici mon c Création graphique avec cewolf [ par tochbill ] Bonjour,J'ai un petit problème concernant l'utilisation du code de cewolf (créer des graphiques).En faite je veut faire un graphique camenbert en 3D, Impression [ par tominfo ] Salut, j'ai un problème avec l'impression d'un objet Graphics2D. En effet, soit l'imprimante ne réagit pas, soit elle sort un feuille blanche.Voici mo Spring , Swing et m2vc [ par joekoke ] Bonjour à tous, voilà je commence à developper une appli en swing et je veux utiliser le moteur m2vc pour faire une appli 3 couche. le probleme en fa


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales