Draw a position from a 2d Array on respected canvas location

Posted by Anon on Stack Overflow See other posts from Stack Overflow or by Anon
Published on 2010-04-12T19:24:03Z Indexed on 2010/04/12 19:53 UTC
Read the original article Hit count: 298

Background:

I have two 2d arrays. Each index within each 2d array represents a tile which is drawn on a square canvas suitable for 8 x 8 tiles.

The first 2d array represents the ground tiles and is looped and drawn on the canvas using the following code:

                 //Draw the map from the land 2d array
    map = new Canvas(mainFrame, 20, 260, 281, 281);
        for(int i=0; i < world.length; i++){
            for(int j=0; j < world[i].length; j++){
                for(int x=0; x < 280; x=x+35){ 
                    for(int y=0; y < 280; y=y+35){
                        Point p = new Point(x,y);
                        map.add(new RectangleObject(p,35,35,Colour.green));
                    }
                }
            }
        }

This creates a grid of green tiles 8 x 8 across as intended.

The second 2d array represents the position on the ground. This 2d array has everyone of its indexes as null apart from one which is comprised of a Person class.

Problem

I am unsure of how I can draw the position on the grid. I was thinking of a similar loop, so it draws over the previous 2d array another set of 64 tiles. Only this time they are all transparent but the one tile which isn't null. In other words, the tile where Person is located.

I wanted to use a search throughout the loop using a comparative if statement along the lines of

if(!(world[] == null)){
map.add(new RectangleObject(p,35,35,Colour.red));}

However my knowledge is limited and I am confused on how to implement it.

© Stack Overflow or respective owner

Related posts about multidimensional-array

Related posts about java