首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java程序-纸牌游戏之战

Java程序-纸牌游戏之战
EN

Stack Overflow用户
提问于 2013-03-12 01:45:29
回答 5查看 42.9K关注 0票数 3

这是一个课堂作业,我不是要求任何人为我做作业,而是在发帖之前我已经尽了最大的努力,希望在我收到的4个错误中得到一些帮助,并且我的牌不会因为某种原因而被洗牌。

我的任务方向:

在本作业中,您将创建一个玩简单战争游戏的程序。在这个游戏中,每个玩家都会从全副牌中得到一张牌。谁拥有价值最高的牌谁就赢了。如果发出的牌具有相同的价值,那么这是平局,双方都不会赢。赢得最多回合的玩家赢得比赛。不需要玩家的输入(不是很有趣!)。你应该打印出每个玩家发的牌,那一轮的结果和游戏的最终结果。您可能希望使用用户输入来实现每轮之间的延迟。

我的卡片类别:

代码语言:javascript
运行
复制
public class Card {

    private int cardNum;
    final static String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
    final static String[] ranks = {"2", "3","4","5","6","7","8", "9","10", "Jack", "Queen", "King", "Ace"};

    Card (int theCard) {
        setCardNum (theCard);
    }

    public void setCardNum (int theCard) {
        cardNum = (theCard >= 0 && theCard <= 51)? theCard: 0;
    }

    public int getCardNum() {
        return cardNum;
    }

    public String toString() {
        return ranks[cardNum%13] + " of " + suits[cardNum/13];
    }

    public String getSuit() {
        return suits[cardNum/13];
    }

    public String getRank() {
        return ranks[cardNum%13];
    }

    public int getValue() {
        return cardNum%13;
    } 
}

我的Deck类(我有一个混洗错误):

代码语言:javascript
运行
复制
public class Deck {

    private Card[] deck = new Card[52];
    private int topCard;

    Deck() {

        topCard = 0;

        for (int i = 0; i < deck.length; i++)
            deck[i] = new Card(i);

    }

    public void shuffle() {

        topCard = 0;

        for (int i = 0; i < 1000; i++) {
            int j = (int)(Math.random()*52);
            int k = (int)(Math.random()*52);
            Card tmpCard = deck[j];
            deck[j] = deck[k];
            deck[k] = tmpCard;
        } 
   }

    public Card dealCard() {
        Card theCard;
        if (topCard < deck.length) {
            theCard = deck[topCard];
            topCard++;
        }
        else
            theCard = null;

        return theCard;
    }
}

我的战争游戏主程序:

代码语言:javascript
运行
复制
import java.util.Scanner;

public class WarGame {

    public static void main(String[] args) {

        Card[][] hands = new Card[2][1];
        Deck myDeck = new Deck();

        for (int i = 0; i < 53; i++) {
            System.out.printf("\n Round %s of The War \n", i);

            for (int c = 0; c < 1; c++)
                for (int player = 0; player < hands.length; player++)
                    hands[player][c] = myDeck.dealCard();

            for (int player = 0; player < hands.length; player++) {
                System.out.printf("Player %d: ", player);
                printHand(hands[player]);

                int player1;
                int player2;

                if (player1.getValue() > player2.getValue())
                    System.out.println("Player One Wins The War");
                else if (player2.getValue() > player1.getValue())
                    System.out.println("Player Two Wins The War");
                else
                    System.out.println("The War Is A Tie");

            } 
        }
    }

    public static void printHand(Card[] hand) {

        for (int card = 0; card < hand.length; card++)
            System.out.printf("%s", hand[card].toString());

        System.out.println();

    } 
}

我的错误如下:

代码语言:javascript
运行
复制
----jGRASP exec: javac -g WarGame.java

WarGame.java:31: error: int cannot be dereferenced
if (player1.getValue() > player2.getValue())
       ^
WarGame.java:31: error: int cannot be dereferenced
if (player1.getValue() > player2.getValue())
                            ^
WarGame.java:35: error: int cannot be dereferenced
else if (player2.getValue() > player1.getValue())
            ^
WarGame.java:35: error: int cannot be dereferenced
else if (player2.getValue() > player1.getValue())
                                 ^
4 errors

----jGRASP wedge2: exit code for process is 1.
----jGRASP: operation complete.

非常感谢您能提供的任何帮助。

player1和player2指的是每个玩家每轮都会得到的牌

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15345116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档