- #1
geforce
- 26
- 0
Code:
import acm.graphics.*;
import acm.program.*;
import java.awt.Color;
import java.util.Iterator;
import java.util.Random;
import java.util.List;
public class LAB1
{
final static int BLOCKWIDTH = 50;
final static int BLOCKHEIGHT = 10;
final static int NBLOCKS = 10;
final static int BLOCKROWS = 5;
final static int ROWZERO = 50;
final static int ROWSEPARATION = (5*BLOCKHEIGHT);
final static int WIDTH = (BLOCKWIDTH*NBLOCKS);
final static int HEIGHT = 600;
public static java.util.List<acm.graphics.GRect> createPlayfield()
{
Random r = new Random();
List<GRect> l = null;
int x = 0;
int y = ROWZERO - BLOCKHEIGHT;
Color c = new Color(r.nextInt(256));
addBrick(l,x,y,BLOCKWIDTH,BLOCKHEIGHT,c);
for (int i = 0; i < BLOCKROWS; i++)
{
i = (i * ROWSEPARATION) + ROWZERO;
for(int j = 0; j < NBLOCKS; j++)
{
j = j * BLOCKWIDTH;
}
}
}
public static void addBrick(java.util.List<acm.graphics.GRect> l, int x, int y, int width, int height, java.awt.Color c)
{
l.add(createBrick(x,y,WIDTH,HEIGHT,c));
}
public static acm.graphics.GRect createBrick(int x, int y, int width, int height, java.awt.Color c)
{
GRect s = new GRect(x,y,WIDTH,HEIGHT);
return s;
}
public static acm.graphics.GRect intersect(acm.graphics.GObject o,java.util.List<acm.graphics.GRect> l)
{
GRectangle r = o.getBounds();
for(GRect e : l)
{
if(e.getBounds().intersects(r))
return e;
}
return null;
}
Problem I have is the createPlayfield() method, I have no idea on what to do, this is the description..
createPlayfield is a static method that returns a List of GRects. Each GRect is coloured randmoly and is
of size BLOCKWIDTH x BLOCKHEIGHT. The blocks are placed in a grid BLOCKROWS height x
NBLOCKS. The i'th row of blocks has its upper edge aligned with row i * ROWSEPARATION +
ROWZERO. The j'th column of blocks has its left edge aligned with j * BLOCKWIDTH. You may
find it useful to implement this method using the addBrick method below.
API's : The acm.graphics.GRect Class.
As you can see I tryed to do it but haven't done well, it's a very confusing description.
Last edited: