scoubida42
Messages postés8Date d'inscriptionjeudi 31 juillet 2008StatutMembreDernière intervention12 novembre 2009
-
28 oct. 2009 à 17:26
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 2014
-
13 nov. 2009 à 08:55
Salut à tous,
Dans le cadre d'un cours d'informatique que je suis dans le cadre de mes études, je dois réaliser un jeu de blackjack. ayant commencé le java, il y a moins d'un mois, je galère, mais je m'en sors pas trop mal, ça va!! Comme logiciel, j'utilise Netbeans.
Pour ce jeu de blackjack, j'ai déjà un ficheir JPaneForm nommé blackjack.java mais ce fichier ne me sert à rien pour l'instant!! j'ai ensuite créé une class card dans un fichier card.java dont voici le code :
public class card {
int colorcard;
int valuecard;
//*****************************************
// Constructor
//*****************************************
public card(int color, int value) {
valuecard = value;
colorcard = color;
}
public int getColor() {
// Return the int that codes for this card's suit.
return colorcard;
}
public int getValue() {
// Return the int that codes for this card's value.
return valuecard;
}
}
Ensuite, j'ai créé une class deck : (deck signifie jeu de carte en anglais!!)
public class deck {
card[] carddeck= new card[52];
public deck()
{
int color=0;
int value=0;
int cardcreated=0;
for(color=0;color<4;color++)
for(value=1;value<13;value++)
{
//if (value > 10)
// value = 10; // For a Jack, Queen, or King.
carddeck[cardcreated]=new card(value,color);
cardcreated++;
//System.out.println(carddeck[cardcreated]);
//JOptionPane.showMessageDialog(null, carddeck[cardcreated]);
}
}
}
Mon probleme maintenant, et il y en a plusieurs!! j'ai besoin d'aide pour afficher mon jeu de carte mais j'ai essayé plusieurs méthodes mais aucune ne marche!
J'aimerais maintenant créé une méthode dans ma classe deck afin de pouvoir choisir une carte au hasard mais ne jamais tomber sur la même carte 2 fois!!
mon souci, c'est que je ne sais pas par où commencé!!si quelqu'un pouvait juste me donner quelques pistes pour me guider, ce serait vraiment super sympa!
merci d'avance à tous ceux qui voudront bien me filer un coup de main!!!!!
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 29 oct. 2009 à 08:53
Bonjour,
Pour l'affichage, commence par afficher le nom des cartes en mode console.
Ensuite, tu veux faire des tirages sans remises : crée par exemple une liste de tes cartes et pour prendre une carte, tu fais un tirage dans ta liste et tu retire la carte de ta liste. Quand il n'y a plus de carte, tu le signales. Pour continuer, il faudra reconstituer la liste.
scoubida42
Messages postés8Date d'inscriptionjeudi 31 juillet 2008StatutMembreDernière intervention12 novembre 2009 2 nov. 2009 à 21:51
J'ai réussi à fairel 'affichage en mode console quand j'appuie sur un bouton j'ai 3 cartes qui sont tirés au hasard dans ma liste et maintenant j'aimerais ajouté ces valeurs dans une autre liste mais j'ai une erreur voici mon code pour ma méthode dealCard
scoubida42
Messages postés8Date d'inscriptionjeudi 31 juillet 2008StatutMembreDernière intervention12 novembre 2009 12 nov. 2009 à 20:26
ok, merci beaucoup pour votre aide!!!! mon blakcjack marche presque mais j'ai une erreur quand je veux faire l'affichage des cartes, le seul problème c'est que l'erreur je ne l'ai pas tout le temps et je ne comprends pas ce que c'est, d'où elle vient et donc je ne sais pas trop comment faire pour la corriger!!!
Voici mon code :
l'erreur se trouve à cette ligne là :
Code:
BufferedImage im = ImageIO.read(getClass().getResource(source));
Voici mon fichier entier pour l'affichage des cartes :
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package graphics;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
/**
*/
public class computergraphicsPanel extends JPanel{
//##############################################################################
public graphicsGUI game; //saves the current BlackjackGui instance on this variable so it can be reffered to in this class
Graphics2D g2;
public computergraphicsPanel(graphicsGUI b) {
super();
game = b; //creates a new game called b
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g2 = (Graphics2D) g;
draw(g2);
}
// !--- All the drawing is done in this method ---!
public void draw(Graphics2D g2) {
Boolean turnCard1=game.turnCard;
Hand computerHand = game.getComputerHand();
int xPosition = 10; //starting x coordinate which gets larger to shift the additional cards accross
int numberOfCards = computerHand.getSize();
for (int i = 0; i < numberOfCards; i++) {
if (i == 0 && turnCard1==false) { //draw the dealers cards and check if first card should be faceup or facedown
try {
BufferedImage im = ImageIO.read(getClass().getResource("/graphics/images/back-blue-75-1.png")); //while the first card should be facedown, draw a facdown card
g2.drawImage(im, xPosition, 20, this); //draws the card im at those coordinates
xPosition = xPosition + 100; //shifts the next card over to the right by 40 pixels
} catch (IOException ex) {
Logger.getLogger(humangraphicsPanel.class.getName()).log(Level.SEVERE, null, ex);
}
}
else {
Card currentCard = computerHand.getCard(i);
String source = currentCard.getImage();
try {
BufferedImage im = ImageIO.read(getClass().getResource(source));
g2.drawImage(im, xPosition, 20, this);
xPosition = xPosition + 100;
} catch (IOException ex) {
Logger.getLogger(humangraphicsPanel.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
repaint();
game.repaint();
}
}
Voici l'erreur :
Exception occurred during event dispatching:
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
at graphics.computergraphicsPanel.draw(computergraphicsPanel.java:72)
at graphics.computergraphicsPanel.paintComponent(computergraphicsPanel.java:40)
Merci de votre aide pour corriger cette erreur, où juste me dire ce qu'il faut que je fasse ce serait super gentil:!!!merci beaucoup par avance!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 13 nov. 2009 à 08:55
Bonjour,
Comme le dit le message d'erreur, le paramètre de ImageIO.read est null : vérifie tes données.
Que vaut source au moment de l'erreur ? source.getImage() ? currentCard ? ...