Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.mygame;
- import sheep.graphics.Color;
- import sheep.game.Sprite;
- import sheep.game.State;
- import sheep.graphics.Image;
- import sheep.graphics.SpriteView;
- import android.view.MotionEvent;
- import java.util.Random;
- import java.util.ArrayList;
- public class TitleScreen extends State {
- private Image paddle = new Image(R.drawable.paddle);
- private Image bal = new Image(R.drawable.apple1);
- private Image backgroundImage = new Image(R.drawable.background);
- private Image wall = new Image(R.drawable.wall_vertical);
- private Image lin = new Image(R.drawable.line);
- private Sprite paddle1;
- private Sprite paddle2;
- private Sprite ball;
- private Sprite line;
- private Sprite w_e;
- private Sprite w_w;
- private Sprite backSprite;
- private int frame_ms = 100;
- private ArrayList<Image> balls;
- private long ZeroTime;
- private int counter;
- private int r;
- private int p1_points;
- private int p2_points;
- public TitleScreen() {
- backSprite = new Sprite(backgroundImage);
- paddle1 = new Sprite(paddle);
- paddle2 = new Sprite(paddle);
- ball = new Sprite(bal);
- line = new Sprite(lin);
- balls = new ArrayList<Image>();
- balls.add(new Image(R.drawable.apple1));
- balls.add(new Image(R.drawable.apple2));
- w_e = new Sprite(wall);
- w_w = new Sprite(wall);
- w_w.setPosition(5,215);
- w_e.setPosition(315, 215);
- line.setPosition(155, 215);
- paddle1.setPosition(15,215);
- paddle2.setPosition(302, 215);
- ball.setPosition(155,200);
- ball.setSpeed(60, 15);
- ZeroTime = System.currentTimeMillis();
- counter = 0;
- p1_points = 0;
- p2_points = 0;
- }
- public boolean onTouchDown(MotionEvent event){
- if(event.getX() < 155) {
- if(event.getY() > 400)
- paddle1.setPosition(paddle1.getPosition().getX(), 400);
- else if(event.getY() < 30 )
- paddle1.setPosition(paddle1.getPosition().getX(), 30);
- else
- paddle1.setPosition(paddle1.getPosition().getX(), event.getY());
- }
- else {
- if(event.getY() > 400)
- paddle2.setPosition(paddle2.getPosition().getX(), 400);
- else if(event.getY() < 30 )
- paddle2.setPosition(paddle2.getPosition().getX(), 30);
- else
- paddle2.setPosition(paddle2.getPosition().getX(), event.getY());
- }
- return true;
- }
- public void draw(android.graphics.Canvas canvas){
- backSprite.draw(canvas);
- paddle1.draw(canvas);
- paddle2.draw(canvas);
- ball.draw(canvas);
- line.draw(canvas);
- w_e.draw(canvas);
- w_w.draw(canvas);
- canvas.drawText("Player 1 = " + p1_points + " Player 2 = " + p2_points, 30, 30, Color.GREEN);
- }
- public void update(float dt) {
- if(p1_points == 21 || p2_points == 21){
- }
- else {
- if (ball.collides(w_e)) {
- ball.setSpeed(-ball.getSpeed().getX(), ball.getSpeed().getY());
- ball.setScale(-1, 1);
- p2_points = 0;
- ball.setPosition(155,200);
- } else if (ball.collides(paddle1)) {
- Random rand = new Random();
- r = rand.nextInt(3-1)+1;
- if(r == 1)
- ball.setSpeed(-ball.getSpeed().getX(), ball.getSpeed().getY());
- else
- ball.setSpeed(-ball.getSpeed().getX(), -ball.getSpeed().getY());
- ball.setScale(1, 1);
- p1_points++;
- } else if (ball.collides(paddle2)) {
- Random rand = new Random();
- r = rand.nextInt(3-1)+1;
- if(r == 1)
- ball.setSpeed(-ball.getSpeed().getX(), ball.getSpeed().getY());
- else
- ball.setSpeed(-ball.getSpeed().getX(), -ball.getSpeed().getY());
- ball.setScale(-1, 1);
- p2_points++;
- } else if (ball.getY() <= 30) {
- ball.setPosition(ball.getX(), 30);
- ball.setSpeed(ball.getSpeed().getX(), -ball.getSpeed().getY());
- } else if (ball.getY() >= 400) {
- ball.setPosition(ball.getX(), 380);
- ball.setSpeed(ball.getSpeed().getX(), -ball.getSpeed().getY());
- } else if (ball.collides(w_w)) {
- ball.setSpeed(-ball.getSpeed().getX(), ball.getSpeed().getY());
- ball.setScale(1, 1);
- p1_points = 0;
- ball.setPosition(155,200);
- }
- if (System.currentTimeMillis() - ZeroTime >= 100) {
- ball.setView((SpriteView) balls.get(counter));
- ZeroTime = System.currentTimeMillis();
- if (counter >= 1) {
- counter = 0;
- } else {
- counter++;
- }
- }
- ball.update(dt);
- line.update(dt);
- paddle1.update(dt);
- paddle2.update(dt);
- w_e.update(dt);
- w_w.update(dt);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement