BananaTree.java



/** バナナの木を表すクラス */

package bananaworld;

public class BananaTree extends Tree {

  /** 葉のオブジェクト */
    public Leaf[] leaves = { new Leaf(), new Leaf() };

  /** バナナの実のオブジェクト */
    public Banana[][] bananaArrays = { 
          { new Banana(), new Banana(), new Banana() },
          { new Banana(), new Banana(), new Banana() },
        };

  /** コンストラクタ */
    public BananaTree() {
        setHeight( 10 );
    }

  /** バナナの実を古いものから順に落とすメソッド */
    public Banana[] drop() {
        Banana[] dropped = bananaArrays[0];
        for( int i=0; i<bananaArrays.length-1; i++ ) {
            bananaArrays[i] = bananaArrays[i+1];
        }
        bananaArrays[bananaArrays.length-1]
           = new Banana[3];
        for( int i=0;
             i<bananaArrays[bananaArrays.length-1].length; i++ ) {
             bananaArrays[bananaArrays.length-1][i] = new Banana();
        }
        return dropped;
    }
}