单人纸牌(Elevens Lab)活动7:设计class Board

陈 欣发布

导言

在完成了class CardDeck之后,下一个要设计的是class ElevensBoard。这个class会包含进行Elevens游戏所需的状态(实例变量)和行为(method)。

问题

  1. 如果你在书桌(而不是在电脑)上玩一局Elevens游戏,会需要哪些物件?参考这个列出class ElevensBoard所需的私有实例变量。
  2. 编写算法,描述玩Elevens游戏所需的步骤。
  3. 检查目录中名为ElevensBoard.java的文件,其为部分完成的class ElevensBoard。它含有游戏所需全部的状态和行为么?
  4. ElevensBoard.java内含三个助手method。这些method是private的,因为它们只在class中被调用。
    1. ElevensBoard中,dealMyCards method是在哪里被调用的?
    2. 哪些public method会调用containsPairSum11containsJQK
    3. 理解cardIndexes method的工作原理以及其所返回的列表的作用是至关重要的。假定cards有图中所示的这些元素。跟踪cardIndexes method的执行并确定所返回列表的内容。将内容填在下图中并展示这些值是如何索引cards的。注意返回的列表可能有少于9个元素。
    4. 完成以下的printCards method以打印由cIndexes索引的所有扑克牌。
      public static void printCards(ElevensBoard board) {
        List<Integer> cIndexes = board.cardIndexes();
      
        /* Your code goes here. */
      
      
      
      
      }
    5. 对于你在4-2问中找到的method中的哪一个需要在调用containsPairSum11containsJQK  method前调用cardIndexes method?为什么?

陈 欣

AADPS创始人

0 条评论

发表回复