Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package games;
- import acm.program.*;
- import acm.graphics.*;
- import java.awt.*;
- import java.awt.event.*;
- public class Pong extends GraphicsProgram {
- private GRect paddle;
- private GRect paddle2;
- public void run() {
- this.setSize(500,500);
- int point = 0;
- int diff = 0;
- int reset = 0;
- int a=0;
- int b=0;
- int c=0;
- int d=0;
- int e=100;
- int e2 = 100;
- int f=25;
- int g=5;
- int hit=0;
- double dx = 3;
- double dy = -4;
- paddle2 = new GRect((500 - 20), 10, 10, e2);
- paddle2.setFilled(true);
- add(paddle2);
- paddle = new GRect(10, 10, 10, e);
- paddle.setFilled(true);
- add(paddle);
- addMouseListeners();
- GOval ball = new GOval(250, 250, f, f);
- ball.setFilled(true);
- ball.setFillColor(new Color(0, 0, 225));
- add(ball);
- System.out.println("Easy");
- System.out.println("AI Difficulty?");
- diff = readInt();
- System.out.println("AI Speed is " + diff);
- while (g>0&&hit<20) {
- reset=0;
- d=0;
- while ((hit < 100)&&(reset == 0)) {
- pause(25);
- double ballLeft = ball.getX();
- double ballRight = ball.getX() + ball.getWidth();
- double ballYMid = ball.getY() + ball.getHeight() / 2;
- double paddleRight = paddle.getX() + paddle.getWidth();
- double paddleTop = paddle.getY();
- double paddleBot = paddle.getY() + paddle.getHeight();
- double paddle2Left = paddle2.getX();// - paddle.getWidth();
- double paddle2Top = paddle2.getY();
- double paddle2Mid = paddle2.getY() + (paddle2.getHeight() / 2);
- double paddle2Bot = paddle2.getY() + paddle2.getHeight();
- if (ballYMid > (paddle2Mid + (diff/2))) {
- paddle2.setLocation(paddle2Left, (paddle2Top + diff));
- }
- if (ballYMid < (paddle2Mid - (diff/2))) {
- paddle2.setLocation(paddle2Left, (paddle2Top - diff));
- }
- if ((ballLeft <= paddleRight && ballLeft > paddleRight + dx
- && ballYMid >= paddleTop && ballYMid < paddleBot)) {
- dx = -dx;
- hit++;
- dx++;
- System.out.println(hit + " hits");
- if (dy > 0) {
- dy++;
- }
- }
- if ((ballRight >= paddle2Left) && (ballYMid >=paddle2Top)
- && (ballYMid <= paddle2Bot)) {
- dx = -dx;
- }
- if (ball.getY() + ball.getHeight() >= getHeight()
- || ball.getY() <= 0.0) {
- dy = -dy;
- }
- if (ballRight >= getWidth()) {
- ++point;
- System.out.println("You get a point!");
- System.out.println("P=" + point);
- ball.setLocation(250, 250);
- dx = -dx;
- pause(1000);
- }
- if (hit == 5 && a == 0) {
- ball.setFillColor(new Color(0, 255, 0));
- System.out.println("Medium");
- a++;
- }
- if (hit == 10 && b == 0) {
- ball.setFillColor(new Color(255, 0, 0));
- System.out.println("Hard");
- b++;
- }
- if (hit == 15 && c == 0) {
- ball.setFillColor(new Color(255, 255, 255));
- System.out.println("INSANE!!!");
- c++;
- }
- if (ball.getX() + ball.getWidth() <= 0 && d == 0) {
- System.out.println("FAILURE");
- reset=1;
- d++;
- g--;
- dx=-dx;
- ball.setLocation(250, 250);
- }
- ball.move(dx, dy);
- }
- if (hit==20) {
- System.out.println("BUTKA HATE YOU!!!");
- }
- if(g==0){
- System.out.println("BUTKA SAYS YOU LOSE!!!");
- }
- ball.setFillColor(new Color(0, 0, 0));
- pause(1000);
- reset=0;
- ball.setFillColor(new Color(0, 0, 225));
- }
- }
- public void mouseMoved(MouseEvent event) {
- double paddleY = event.getY() - paddle.getHeight() / 2;
- double paddleMax = getHeight() - paddle.getHeight();
- if(paddleY < 0) paddleY = 0;
- if(paddleY > paddleMax) paddleY = paddleMax;
- paddle.setLocation(10, paddleY);
- }
- }
Add Comment
Please, Sign In to add comment