need help making it so when the ball hits the boundaries it adds a point to the other player and resets the whole world.
Here is my game with the source code: https://www.greenfoot.org/scenarios/25316
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class MyWorld here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class MyWorld extends World
{
/**
* Constructor for objects of class MyWorld.
*
*/
public MyWorld()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(600, 400, 1);
// theCounter = new Score();
// addObject(theCounter, 175,48);
prepare();
}
/**
* Prepare the world for the start of the program.
* That is: create the initial objects and add them to the world.
*/
private void prepare()
{
Paddle1 bar1 = new Paddle1();
addObject(bar1,550,200);
Ball ball = new Ball();
addObject(ball,300,200);
Paddle2 bar2 = new Paddle2();
addObject(bar2,50,200);
Scoreboard scoreboard = new Scoreboard("Player One: 0", "Player Two: 0" );
addObject(scoreboard, 200, 0);
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Ball here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Ball extends Actor
{
public Ball()
{
GreenfootImage img = new GreenfootImage( 15,15);
img.setColor(Color.RED);
img.fill();
setImage(img);
}
private int xSpeed = 5, ySpeed = 7;
public int xVector = (Greenfoot.getRandomNumber(13)-6);
public int yVector = (Greenfoot.getRandomNumber(13)-6);
public void act()
{
movement();
Actor paddle_1 = getOneIntersectingObject(Paddle1.class);
if (paddle_1!=null)
{
xSpeed = -xSpeed;
}
Actor paddle_2 = getOneIntersectingObject(Paddle2.class);
if (paddle_2!=null)
{
xSpeed = -xSpeed;
}
}
public void movement()
{
setLocation(getX() + xSpeed, getY() + ySpeed);
if(getY()<5 || getY() > getWorld().getHeight()-5)
{
ySpeed = -ySpeed;
}
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Bar1 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Paddle1 extends Paddles
{
//Creates the paddle and fills it in
public Paddle1()
{
GreenfootImage img = new GreenfootImage( 20,100);
img.setColor(Color.RED);
img.fill();
setImage(img);
}
/**
* Act - do whatever the Bar1 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
// Add your action code here.
if (Greenfoot.isKeyDown("up"))
{
setLocation(getX(), getY()-5);
}
if (Greenfoot.isKeyDown("down"))
{
setLocation(getX(), getY()+5);
}
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Score here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Score extends Actor
{
private int totalCount = 0;
public void bumpCount(int amount)
{
totalCount += amount;
setImage(new GreenfootImage("" + totalCount));
}
/**
* Act - do whatever the Score wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
// Add your action code here.
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
// import java.awt.Color;
/**
* Write a description of class Scoreboard here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Scoreboard extends Actor
{
public Scoreboard( String Player1, String Player2)
{
//Sets the borders for where he txt will be
GreenfootImage img = new GreenfootImage(500,300);
img.setColor(Color.RED);
Font font = new Font("Helvetica", true, false, 20);
img.drawString(Player1,150,200);
img.drawString(Player2,425,200);
setImage(img);
img.setFont(font);
}
public void setText(String Player1, String Player2)
{
GreenfootImage img = getImage();
img.clear();
img.drawString(Player1,150,35);
img.drawString(Player2,500,35);
}
}
private Score score1 = new Score(); private Score score2 = new Score();