Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import acm.graphics.*;
- import acm.program.*;
- import acm.util.*;
- import java.applet.*;
- import java.awt.*;
- import java.awt.event.*;
- public class Breakout extends GraphicsProgram {
- public static final int APPLICATION_WIDTH = 400;
- public static final int APPLICATION_HEIGHT = 600;
- private static final int WIDTH = APPLICATION_WIDTH;
- private static final int HEIGHT = APPLICATION_HEIGHT;
- private static final int PADDLE_WIDTH = 60;
- private static final int PADDLE_HEIGHT = 10;
- private static final int PADDLE_Y_OFFSET = 30;
- private static final int NBRICKS_PER_ROW = 10;
- private static final int NBRICK_ROWS = 10;
- private static final int BRICK_SEP = 4;
- private static final int BRICK_WIDTH = (WIDTH - (NBRICKS_PER_ROW - 1) * BRICK_SEP) / NBRICKS_PER_ROW;
- private static final int BRICK_HEIGHT = 8;
- private static final int BRICK_Y_OFFSET = 70;
- private final double BRICK_X_OFFSET = (getWidth()/2.0)-((BRICK_WIDTH*NBRICKS_PER_ROW+BRICK_SEP*(NBRICKS_PER_ROW-1))/2);
- private static final int BALL_RADIUS = 10;
- private static final int NTURNS = 3;
- private static final GRect PADDLE = new GRect(PADDLE_WIDTH, PADDLE_HEIGHT);
- public void run() {
- setup();
- }
- private void setup(){
- putBricks();
- putPeddle();
- putBall();
- putFrame();
- addMouseListeners();
- }
- private void putBricks() {
- for(int y=0; y<NBRICK_ROWS; y++){
- double Y = BRICK_Y_OFFSET + BRICK_HEIGHT*y + BRICK_SEP*y;
- for(int i=0; i<NBRICKS_PER_ROW;i++){
- double X = BRICK_WIDTH*i + BRICK_SEP*(i+1);
- GRect brick = new GRect(X, Y, BRICK_WIDTH, BRICK_HEIGHT);
- add(brick);
- brick.setFilled(true);
- if(y==0 || y==1){
- brick.setFillColor(Color.RED);
- brick.setColor(Color.RED);
- } else if (y==2 || y==3){
- brick.setFillColor(Color.ORANGE);
- brick.setColor(Color.ORANGE);
- } else if (y==4 || y==5){
- brick.setFillColor(Color.YELLOW);
- brick.setColor(Color.YELLOW);
- } else if (y==6 || y==7){
- brick.setFillColor(Color.GREEN);
- brick.setColor(Color.GREEN);
- } else if (y==8 || y==9){
- brick.setFillColor(Color.CYAN);
- brick.setColor(Color.CYAN);
- }
- }
- }
- }
- private void putPeddle() {
- double PADDLEX = (getWidth()/2)-(PADDLE_WIDTH/2);
- add(PADDLE,PADDLEX,getHeight()-PADDLE_Y_OFFSET);
- PADDLE.setColor(Color.BLACK);
- PADDLE.setFilled(true);
- PADDLE.setFillColor(Color.BLACK);
- }
- private void putBall() {
- GOval ball = new GOval(getWidth()/2,getHeight()/2, 10, 10);
- add(ball);
- ball.setColor(Color.BLACK);
- ball.setFillColor(Color.BLACK);
- ball.setFilled(true);
- }
- private void putFrame() {
- add(new GLine(2,2,getWidth()-2,2));
- add(new GLine(2,getHeight()-2,getWidth()-2,getHeight()-2));
- add(new GLine(2,2,2,getHeight()-2));
- add(new GLine(getWidth()-2,2,getWidth()-2,getHeight()-2));
- }
- public void mouseMoved(MouseEvent e){
- double mouseX = e.getX();
- double newPaddleX;
- if (PADDLE != null) {
- if (mouseX < (PADDLE_WIDTH/2) + 2){
- newPaddleX = 2;
- }else if (mouseX > WIDTH - PADDLE_WIDTH/2 - 2){
- newPaddleX = WIDTH - PADDLE_WIDTH - 2;
- }else{
- newPaddleX = mouseX - PADDLE_WIDTH/2;
- }
- PADDLE.setLocation(newPaddleX, getHeight() - PADDLE_Y_OFFSET);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement