Page 872 - 2
P. 872

for (int i = 0; i < 4; ++i) {
                        result.setX(i, y(i));
                        result.setY(i, -x(i));
                    }
                    return result;
                }


                public Shape rotateRight()
                {
                    if (pieceShape == Tetrominoes.SquareShape)
                        return this;


                    Shape result = new Shape();
                    result.pieceShape = pieceShape;


                    for (int i = 0; i < 4; ++i) {
                        result.setX(i, -y(i));
                        result.setY(i, x(i));
                    }
                    return result;
                }
            }


            STEP3. 블록이 떨어지는 속도조절 지금까지 제거한 행 수를 계산하고 게임의 논리를 정의한 클래스,
            Board.class
            package tetris;


            import java.awt.Color;
            import java.awt.Dimension;
            import java.awt.Graphics;
            import java.awt.event.ActionEvent;
            import java.awt.event.ActionListener;
            import java.awt.event.KeyAdapter;
            import java.awt.event.KeyEvent;


            import javax.swing.JLabel;
            import javax.swing.JPanel;
            import javax.swing.Timer;


            import tetris.Shape.Tetrominoes;


            public class Board extends JPanel implements ActionListener {


                final int BoardWidth = 10;


                                                         - 872 -
   867   868   869   870   871   872   873   874   875   876   877