In: Computer Science
Create the following class to represent the sprite objects in the game.
|
Sprite |
|
|
+ Sprite (String); + Sprite (String, int, int); + setName (String): void + setX(int): void + setY(int): void + getName (): String + getX (): int + getY (): int + collide (Sprite): boolean + toString (): String |
Create ten (10) game objects as Sprite type and stored in an array. All the games objects location (x & y) must be set in range 1 to 800 randomly.
The collide method is a method to test the collision between the current sprite with another sprite (from parameter). This method will check the distance in between two sprites based on the current x and y location using Pythagoras theorem. If the distance of 2 objects is less than 10, then the method will return true. Otherwise false will be returned.
Create a driver class called TestSprite which will:
Here are the 2 classes - Sprite.java and TestSprite.java
=================================================================
public class Sprite {
private String name;
private int x;
private int y;
public Sprite(String name) {
this.name = name;
x = y = 0;
}
public Sprite(String name, int x, int y) {
this.name = name;
this.x = x;
this.y = y;
}
public void setX(int x) {
this.x = x;
}
public void setY(int y) {
this.y = y;
}
public String getName() {
return name;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public boolean collide(Sprite aSprite) {
int distance = (x - aSprite.getX()) * (x - aSprite.getX()) +
(y - aSprite.getY()) * (x - aSprite.getY());
return distance <= 100;
}
public String toString() {
return "Sprite Name: " + name + ", Location (" + x + "," + y + ")";
}
}
======================================================================
import java.util.Random;
public class TestSprite {
public static void main(String[] args) {
Sprite[] sprites = new Sprite[10];
Random r = new Random();
sprites[0] = new Sprite("Mercury", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[1] = new Sprite("Venus", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[2] = new Sprite("Earth", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[3] = new Sprite("Mars", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[4] = new Sprite("Jupiter", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[5] = new Sprite("Saturn", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[6] = new Sprite("Uranus", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[7] = new Sprite("Neptune", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[8] = new Sprite("Pluto", r.nextInt(800) + 1, r.nextInt(800) + 1);
sprites[9] = new Sprite("Moon", r.nextInt(800) + 1, r.nextInt(800) + 1);
System.out.println("Sprite Details: ");
for (int i = 0; i < sprites.length; i++) {
System.out.println("Name: " + sprites[i].getName() + " X: " + sprites[i].getX() + ", Y: " + sprites[i].getY());
}
System.out.println("\nCollision Status:");
for (int i = 0; i < sprites.length - 1; i++) {
for (int j = i + 1; j < sprites.length; j++) {
if (sprites[i].collide(sprites[j])) {
System.out.println(sprites[i] + " collides with " + sprites[j]);
}
}
}
}
}
=======================================================================
