1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

JAVA CODING - Implementing methods for a game, API

  1. May 18, 2012 #1
    Code (Text):

    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: May 18, 2012
  2. jcsd
  3. May 20, 2012 #2
    so.... no one?
     
  4. May 21, 2012 #3

    Mark44

    Staff: Mentor

    What does "haven't done well" mean? Are you getting output? Compile-time errors? Run-time errors? Help us out here.
     
  5. May 21, 2012 #4
    Code (Text):
     
    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),r.nextInt(256),r.nextInt(256));
          // Where to implement how to insert the blocks into a grid?
         for (i = 0; i <= BLOCKROWS; i++) //
         {// How to implement that i'th row is aligned with i * ROWSEPARATION + ROWZERO
            i = i * ROWSEPARATION + ROWZERO;
              for (j = 0; j <= NBLOCKS; j++)
              {// How to implement that i'th row is aligned with j x BLOCKWIDTH;        
                 j = j * BLOCKWIDTH;
              }
                 addBrick(l,x,y,BLOCKWIDTH,BLOCKHEIGHT,c); // How to implement i and j into the list of grects.
          }
            return l;
    }
     
    These are my problems and theres some more, I think my other methods are wrong too.

    I know what to do but I don't know where to implement the code, I don't know how to thats why I need help, If I knew the design I would of done it myself, I just don't know "Where to put the code" and "Where it belongs".

    The things I put in the comments are my main issues in this method and also that I'm not sure if I'm intializing variables that I don't need to before the constructor of addBrick, or if I'm adding it too late or without a proper loop etc.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: JAVA CODING - Implementing methods for a game, API
  1. Java object method (Replies: 23)

Loading...