[JAVA] lire l'entrée standart

TheChicken -  
 TheChicken -
Bonjour a tous , je suis étudiant et j'ai ,pour projet de fin de semestre , un jeu de BlackJack a réalisé. Je suis confronté a un petit problème et j'aimerais savoir si il est possible de lire ce ce que le programme affiche (lire ce qu'un System.out.println afficherais).

merci d'avance.
A voir également:

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Expliqué comme ça, ce n'est pas forcement très clair, mais une réponse à chaud je dirais que c'est faisable, et que ce serait même plutôt simple, mais je ne suis pas vraiment sûr d'avoir compris ce que tu veux faire...
0
TheChicken
 
En fait j'ai un problème pour arrêter ma partie. lorsque un joueur pioche une carte et que la somme des points dépasse 21, j'indique au joueur qu'il a perdu via un System.out.println("Vous avez perdu"); ou inversement si le croupier dépasse 21.
Je voudrais, que si "perdu" ou "gagné" s'affiche, la partie ce finis.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Pas besoin de lire l'affichage pour faire ça, ce serait même très maladroit.
Au lancement de ton programme tu initialises une variable booléenne "continuer" à true, tu continues de jouer while(continuer), et au moment où tu affiches "perdu" ou "gagné", tu passes ta variable à false.
Ça c'est une solution "classique" qui s"adapte à tous les problèmes de ce genre, mais tu peux aussi être un peu plus proche de ton problème en faisant un test directement sur le contexte de ton programme, c'est à dire faire un while(pointsJoueur<21 && pointsCroupier<21) par exemple.
0
TheChicken
 
Ok merci je testerais ça ce soir =)
0
TheChicken
 
Je viens de me poser une autre question. J'ai une méthode qui permet au joueur de demander une carte (idem pour le croupier) et je vérifie au début que le joueur puisse repioché, et je sais qu'en JAVA, on ne peu passer que des objets en référence. Comment faire pour modifier la valeur du boolean dans la méthode alors que ma méthode renvois déja un objet (un entier) ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Tu peux mettre le booléen dans un champ private de la classe, il définit un état de l'objet courant, tu pourrais même faire un setter et un getter protected pour un éventuel héritage. Ce serait dans l'esprit de la programmation objet Java

class MaPartie
{
    private boolean partieFinie = false;

    /** @return true si la partie est finie, false sinon */
    protected boolean partieFinie()
    {
        return partieFinie;
    }
    
    /** finit la partie => partieFinie()==true */
    protected void finirPartie()
    {
        partieFinie=false,
    }
}
0
TheChicken
 
Je vois, je vais intégrer le boolean dans mon objet Joueur, je pense que ça devrais le faire comme ça, merci beaucoup des conseils .
0