title: Error with not finding symbol - variable in my program
body: <p>Okay so i was trying to learn java (as i usually do stuff with html and css) and i am just working on a very basic and generic 2d block breaker game. I came across this error and have no clue why i am receiving. i have triple checked my spelling and have checked it in multiple areas.</p>
  
  <p>Here is my Gameplay class code (Error line will be highlighted with asterisks):</p>
  
  <pre><code>package BrickBreaker;
  
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.Timer;
  import javax.swing.JPanel;
  
  public class Gameplay extends JPanel implements KeyListener, ActionListener {
      private boolean play = false;
      private int score = 0;
  
      private int totalBricks = 21;
  
      private Timer timer;
      private int delay = 8;
  
      private int playerX = 310;
      private int ballposX = 120;
      private int ballposY = 350;
      private int ballXdir = -1;
      private int ballYdir = -2;
  
      private MapGenerator map;
  
      public Gameplay() {
          map = new MapGenerator(3, 7);
          addKeyListener(this);
          setFocusable(true);
          setFocusTraversalKeysEnabled(false);
          timer = new Timer(delay, this);
          timer.start();
      }
  
      public void paint(Graphics g) {
          // background
          g.setColor(Color.black);
          g.fillRect(1,1, 692, 592);
  
          // drawing map
          map.draw((Graphics2D)g);
  
          // borders
          g.setColor(Color.yellow);
          g.fillRect(0, 0, 3, 592);
          g.fillRect(0, 0, 692, 3);
          g.fillRect(691, 0, 3, 592);
  
          // paddle
          g.setColor(Color.green);
          g.fillRect(playerX, 550, 100, 8);
  
          // ball
          g.setColor(Color.yellow);
          g.fillOval(ballposX, ballposY, 20, 20);
  
          g.dispose();
      }
  
      @Override
      public void actionPerformed(ActionEvent e) {
          timer.start();
          if (play){
              if(new Rectangle(ballposX, ballposY, 20, 20).intersects(new Rectangle(playerX, 550, 100, 8))){
                  ballYdir = -ballYdir;
              }
  
              A: for (int i = 0; i &lt; map.map.length; i++) {
                  for (int j = 0; j&lt; map.map.length; j++) {
                      if (map.map[i][j] &gt; 0) {
                          int brickX = j * map.brickWidth + 80;
                          int brickY = i * map.brickHeight + 50;
                          int brickWidth = map.brickWidth;
                          int brickLength = map.brickWidth;
  
  ************************Rectangle rect = new Rectangle(brickX, brickY, brickWidth, brickHeight);
                          Rectangle ballRect = new Rectangle(ballposX, ballposY, 20, 20);
                          Rectangle brickRect = rect;
  
                          if (ballRect.intersects(brickRect)) {
                              map.setBrickValue(0, i, j);
                              totalBricks--;
                              score += 5;
  
                              if (ballposX + 19 &lt;= brickRect.x || ballposX + 1 &gt;= brickRect.x + brickRect.width) {
                                  ballXdir = -ballXdir;
                              }
                              else {
                                  ballYdir = -ballYdir;
                              }
  
                              break A;
                          }
                      }
                  }
              }
  
              ballposX += ballXdir;
              ballposY += ballYdir;
              if(ballposX &lt; 0) {
                  ballXdir = -ballXdir;
              }
              if(ballposY &lt; 0) {
                  ballYdir = -ballYdir;
              }
              if(ballposX &gt; 670) {
                  ballXdir = -ballXdir;
              }
          }
  
          repaint();
      }
  
      @Override
      public void keyTyped(KeyEvent e) {}
      @Override
      public void keyReleased(KeyEvent e) {}
  
      @Override
      public void keyPressed(KeyEvent e) {
          if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
              if (playerX &gt;= 600) {
                  playerX = 600;
              } else{
                  moveRight();
              }
          }
          if (e.getKeyCode() == KeyEvent.VK_LEFT) {
              if (playerX &lt; 10) {
                  playerX = 10;
              } else{
                  moveLeft();
              }
          }
      }
  
      public void moveRight() {
          play = true;
          playerX +=20;
      }
      public void moveLeft() {
          play = true;
          playerX -=20;
      }
  
  
  }
  </code></pre>
  
  <p>The error code that i am receiving is:</p>
  
  <blockquote>
    <p>Blockquote
    cannot find symbol -    variable brickHeight
    Blockquote</p>
  </blockquote>
  
  <p>My MapGenerator class code is: (this is where i originally used the "brickHeight" variable.</p>
  
  <pre><code>package BrickBreaker;
  
  import java.awt.*;
  
  public class MapGenerator {
      public int map[][];
      public int brickWidth;
      public int brickHeight;
      public MapGenerator(int row, int col) {
          map = new int[row][col];
          for(int i = 0; i &lt; map.length; i++) {
              for(int j = 0; j &lt; map[0].length; j++) {
                  map[i][j] = 1;
              }
          }
  
          brickWidth = 540/col;
          brickHeight = 150/col;
      }
      public void draw(Graphics2D g) {
          for(int i = 0; i &lt; map.length; i++) {
              for(int j = 0; j &lt; map[0].length; j++) {
                  if (map[i][j] &gt; 0) {
                      g.setColor(Color.white);
                      g.fillRect(j * brickWidth + 80, i * brickHeight + 50, brickWidth, brickHeight);
  
                      g.setStroke(new BasicStroke(3));
                      g.setColor(Color.black);
                      g.drawRect(j * brickWidth + 80, i * brickHeight + 50, brickWidth, brickHeight);
                  }
              }
          }
      }
  
      public void setBrickValue(int value, int row, int col) {
          map[row][col] = value;
      }
  }
  </code></pre>
  
  <p>Take note that i am a java beginner, and i am still learning so any tips or pointers will be much appreciated. i also am not finished with this project so some things may seem incomplete for that reason.</p>