Math Is Fun Forum
  Discussion about math, puzzles, games and fun.   Useful symbols: √ ∞ ≠ ≤ ≥ ≈ ⇒ ∈ Δ θ ∴ ∑ ∫ π -

Login

Username

Password

Not registered yet?

Post a reply

Go back

Write your message and submit
:) :| :( :D :o ;) :/ :P :lol: :mad: :rolleyes: :cool: | :dizzy :eek :kiss :roflol :rolleyes :shame :down :up :touched :sleep :wave :swear :tongue :what :faint :dunno
Options

Go back

Topic review (newest first)

geforce
2012-05-22 06:02:40

Alright, just making sure.

bobbym
2012-05-22 05:48:06

Hi geforce;

Welcome to the forum. Yes, you are in the right section.

geforce
2012-05-22 05:37:42

Is this the right section that I should be posting, or should it be somewhere else..?

geforce
2012-05-22 03:16:11

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.


I really have no Idea what to do, can anyone break down the steps on what to do? I know that for i'th and j'th blocks i need a nested for loop but I don't know how to make the block return the GRects and also have a problem with where to place the GRect constructor (as in the for loop for it to be repeated or anywhere else), thanks for any suggestions.

I would really like to get help on this, I've tryed a lot to fix this for the past couple of days, the following playfield method makes no sense, still trying to figure out what to do.

Board footer

Powered by FluxBB