0

我编写了一个扑克程序,它向输入的玩家数量发牌,然后发牌。我想知道最后如何询问玩家是否想再次播放并将程序放入循环中。因此,如果他们输入“是”,则程序重新启动,但如果他们输入“否”,则程序结束。我该怎么做?

import java.io.*;

public class Dealer {

    public static void main(String[] args) throws IOException {

        BufferedReader in;
        int x;
        String playerx;

        in = new BufferedReader(new InputStreamReader(System.in));
        System.out
                .println("Welcome to the Casino! My name is Zack and I'm going to be dealing your table. How many players are playing?");
        playerx = in.readLine(); // user input for menu selection
        x = Integer.valueOf(playerx).intValue();

        while (x >= 1 && x <= 24) {

            // create a deck of 52 cards and suit and rank sets
            String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
            String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "10",
                    "Jack", "Queen", "King", "Ace" };

            // initialize variables
            int suits = suit.length;
            int ranks = rank.length;
            int n = suits * ranks;
            // counter (5 house cards and 2 cards per player entered)
            int m = 5 + (x * 2);

            // initialize deck
            String[] deck = new String[n];
            for (int i = 0; i < ranks; i++) {
                for (int j = 0; j < suits; j++) {
                    deck[suits * i + j] = rank[i] + " of " + suit[j];

                }
            }

            // create random 5 cards
            for (int i = 0; i < m; i++) {
                int r = i + (int) (Math.random() * (n - i));
                String t = deck[r];
                deck[r] = deck[i];
                deck[i] = t;
            }

            // print results
            for (int i = 0; i < m; i++) {
                System.out.println(deck[i]);
            }
        }
    }
}
4

2 回答 2

1

一石击杀 2 只鸟:让运行程序的人能够在发牌前退出,以防他们不想玩。你已经有了适当的结构。

while(1) {
    System.out.println("Welcome to ... How many players are playing (1-24) or enter 0 to exit?");
    x = Integer.valueOf(playerx).intValue();
    if(x == 0 || x >= 24) {
        break;
    }
    // rest of your logic remains.....
}
于 2013-10-05T22:12:45.300 回答
0

我假设您以前没有编程经验?我建议您阅读此处找到的 sun 文档。在您考虑添加再次播放的选项之前,请了解变量方法对象构造函数。如果您是初学者,Youtube 教程也可以帮助您,但不要仅仅依赖它们。

于 2013-10-05T22:05:34.077 回答