i need help with simple tile map. i have 2d array as map.
so i want to replce numbers in array with rect's.
0 = green rect
1 = red rect
2 = black rect
and i want it so that the all tile are same size.

when i run this it the drawing on screen doesnt match the drawing in array and it output random blocks. the code look fine to me but iam sure i am missing some thing.

    import java.awt.Color;
    import java.awt.Graphics;


    public class levels 
    {
         int level01[][] = {    {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
                                {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                                {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
                                {2,1,2,2,2,2,2,2,2,2,2,2,2,2,2},
                                {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                                {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}};



        public levels()
        {
        }



        //@Override
        public void paint(Graphics g)
        {
            for(int y = 0; y < level01.length; y++) //rows
            {
                for(int x = 0; x < level01[y].length; x++) //cols
                {
                    if(level01[y][x] == 0)
                    {
                        g.setColor(Color.green);
                        g.drawRect(x, y, 200, 200);
                    }
                    if(level01[y][x] == 1)
                    {
                        g.setColor(Color.red);
                        g.drawRect(x, y, 200, 200);
                    }
                    if(level01[y][x] == 2)
                    {
                        g.setColor(Color.black);
                        g.drawRect(x, , 200, 200);
                    }
                }
            }//end of main for loop
            //super.paint(g);
        }//end of paint method
    }//end of level01 class

Do you really want to draw these rectangles at (x, y)? That's only going to put one pixel between the top-left corner of the first rectangle and the top-left corner of the second rectangle. I think you would get better results by drawing each rectangle at (x * 200, y * 200). At least then there would be less overlap between rectangles.

This question has already been answered. Start a new discussion instead.