Export topic as markdown

Voyons voir. Je vais inclure un bloc de code ici avec pas mal de code et voir à quoi il ressemble à l’impression :

import java.util.Scanner;

/**
 * Jeu d'AceyDucey
 * 
 * Basé sur le jeu de base d'AceyDucey ici
 * https://github.com/coding-horror/basic-computer-games/blob/main/01%20Acey%20Ducey/aceyducey.bas
 * Remarque : L'idée était de créer une version du jeu Basic des années 1970 en Java, sans introduire
 * de nouvelles fonctionnalités - aucun texte supplémentaire, aucune vérification d'erreurs, etc. n'a été ajouté.
 */
public class AceyDucey {

    // Montant actuel de l'argent du joueur
    private int playerAmount;

    // Première carte tirée par le croupier
    private Card firstCard;

    // Deuxième carte tirée par le croupier
    private Card secondCard;

    // Carte tirée par le joueur
    private Card playersCard;

    // Utilisé pour afficher l'introduction/les instructions du jeu
    private boolean firstTimePlaying = true;

    // État du jeu pour déterminer si le jeu est terminé
    private boolean gameOver = false;

    // Utilisé pour l'entrée au clavier
    private final Scanner kbScanner;

    // Valeur constante pour les cartes d'un jeu - 2 le plus bas, 14 (As) le plus haut
    public static final int LOW_CARD_RANGE = 2;
    public static final int HIGH_CARD_RANGE = 14;

    public AceyDucey() {
        // Initialiser l'argent du joueur
        playerAmount = 100;

        // Initialiser le scanner du clavier
        kbScanner = new Scanner(System.in);
    }

    // Méthode pour rejouer - méthode publique appelée par la classe qui lance le jeu
    // Si le joueur entre OUI, le jeu peut être rejoué (retourne vrai)
    // sinon non (retourne faux)
    public boolean playAgain() {
        System.out.println();
        System.out.println("DÉSOLÉ, AMI, MAIS VOUS AVEZ ÉTÉ DÉPOUILLÉ.");
        System.out.println();
        System.out.println();
        System.out.print("ESSAYEZ ENCORE (OUI OU NON) ");
        String playAgain = kbScanner.next().toUpperCase();
        System.out.println();
        System.out.println();
        if (playAgain.equals("OUI")) {
            return true;
        } else {
            System.out.println("OK, J'ESPÈRE QUE VOUS VOUS ÊTES AMUSÉ !");
            return false;
        }
    }

    // Méthode de boucle de jeu

    public void play() {

        // Continuer à jouer des mains jusqu'à ce que le joueur n'ait plus d'argent
        do {
            if (firstTimePlaying) {
                intro();
                firstTimePlaying = false;
            }
            displayBalance();
            drawCards();
            displayCards();
            int betAmount = getBet();
            playersCard = randomCard();
            displayPlayerCard();
            if (playerWon()) {
                System.out.println("VOUS GAGNEZ !!");
                playerAmount += betAmount;
            } else {
                System.out.println("DÉSOLÉ, VOUS PERDEZ");
                playerAmount -= betAmount;
                // Le joueur a-t-il manqué d'argent ?
                if (playerAmount <= 0) {
                    gameOver = true;
                }
            }

        } while (!gameOver); // Continuer à jouer jusqu'à ce que le joueur manque d'argent
    }

    // Méthode pour déterminer si le joueur a gagné (retourne vrai) ou perdu (retourne faux)
    // pour gagner, la carte du joueur doit être dans la plage de la première et de la deuxième carte du croupier
    // tirées, y compris les première et deuxième cartes.
    private boolean playerWon() {
        // gagnant
        return (playersCard.getValue() >= firstCard.getValue())
                && playersCard.getValue() <= secondCard.getValue();

    }

    private void displayPlayerCard() {
        System.out.println(playersCard.getName());
    }

    // Obtenir la mise du joueur et retourner le montant
    // 0 est considéré comme une mise valide, mais mieux vaut plus que ce que le joueur a disponible n'est pas
    // la méthode bouclera jusqu'à ce qu'une mise valide soit saisie.
    private int getBet() {
        boolean validBet = false;
        int amount;
        do {
            System.out.print("QUELLE EST VOTRE MISE ");
            amount = kbScanner.nextInt();
            if (amount == 0) {
                System.out.println("POULE !");
                validBet = true;
            } else if (amount > playerAmount) {
                System.out.println("DÉSOLÉ, MON AMI, MAIS VOUS AVEZ MISÉ TROP.");
                System.out.println("VOUS N'AVEZ QUE " + playerAmount + " DOLLARS À MISER.");
            } else {
                validBet = true;
            }
        } while (!validBet);

        return amount;
    }

    private void displayBalance() {
        System.out.println("VOUS AVEZ MAINTENANT " + playerAmount + " DOLLARS.");
    }

    private void displayCards() {
        System.out.println("VOICI VOS DEUX PROCHAINES CARTES : ");
        System.out.println(firstCard.getName());
        System.out.println(secondCard.getName());
    }

    // Tirer deux cartes de croupier et les sauvegarder pour une utilisation ultérieure.
    // s'assurer que la première carte a une valeur inférieure à la seconde
    private void drawCards() {

        do {
            firstCard = randomCard();
            secondCard = randomCard();
        } while (firstCard.getValue() >= secondCard.getValue());
    }

    // Crée une carte aléatoire
    private Card randomCard() {
        return new Card((int) (Math.random()
                * (HIGH_CARD_RANGE - LOW_CARD_RANGE + 1) + LOW_CARD_RANGE));
    }

    public void intro() {
        System.out.println("JEU DE CARTES ACEY DUCEY");
        System.out.println("CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY");
        System.out.println();
        System.out.println();
        System.out.println("ACEY-DUCEY SE JOUE DE LA MANIÈRE SUIVANTE");
        System.out.println("LE CROUPIER (ORDINATEUR) DISTRIBUE DEUX CARTES FACE VERS LE HAUT");
        System.out.println("VOUS AVEZ LA POSSIBILITÉ DE MISER OU DE NE PAS MISER SELON");
        System.out.println("QUE VOUS ESTIMIEZ OU NON QUE LA CARTE AURA");
        System.out.println("UNE VALEUR ENTRE LES DEUX PREMIÈRES.");
        System.out.println("SI VOUS NE VOULEZ PAS MISER, ENTREZ : 0");
    }
}

Notez que nous avons une prise en charge assez complète de l’accessibilité, je serais donc intéressé d’entendre spécifiquement ce qui ne fonctionne pas pour votre utilisateur aveugle @thresholdpeople .

De plus, le bloc de code ci-dessus me semble correct dans la version imprimée. J’ai simplement appuyé sur « imprimer » dans Chrome, puis sur « enregistrer sous PDF » pour générer une version PDF de ce sujet :

Exporter le sujet en markdown - fonctionnalité - Discourse Meta.pdf (249,9 Ko)

Je ne vois pas de problème. Veuillez indiquer les zones spécifiques du PDF qui ne sont pas correctes si vous en voyez un. Merci !