/** * @param startingFrameIndex * @return a display matrix for any unplayed frames */ private List<char[][]> buildBlankFramesMatrix(int startingFrameIndex) { List<char[][]> matrix = new ArrayList<char[][]>(); for (int index = startingFrameIndex; index < BowlingGame.MAX_FRAMES; index++) { FrameAsciiDisplay display; if (index < BowlingGame.MAX_FRAMES - 1) { display = new FrameAsciiDisplay(null); // add regular frame } else { display = new FinalFrameAsciiDisplay(null); // add final frame } matrix.add(display.display()); } return matrix; }
/** @return a display matrix for existing frames */ private List<char[][]> buildExistingFramesMatrix() { List<char[][]> matrix = new ArrayList<char[][]>(); for (Frame frame : game.getFrames()) { FrameAsciiDisplay display; if (frame instanceof FinalFrame) { display = new FinalFrameAsciiDisplay((FinalFrame) frame); } else { display = new FrameAsciiDisplay(frame); } matrix.add(display.display()); } return matrix; }