making a digital dice
You have 

int read_LCD_buttons;

int read_LCD_buttons()
{
//..
}


You can't have a variable int read_LCD_buttons at the same time as a function called read_LCD_buttons -- this identifier is already taken. It looks however like you're not assigning or reading anything from this variable, so it probably never should have existed in the first place -- deletion is the solution.

In the case that you wanted to write a function prototype (which you by the way don't have to write in the Arduino IDE because it autogenerates them), the correct form would have been

int read_LCD_buttons();


i.e., the exact same prototype ended by a ;.

In setup() you have a random i which doesn't belong there.

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Press to dice");
  pinMode (A0, INPUT);
  i //delete this line
}


Finally, you have a mismatch of opening and closing curly braces. Always format your code correctly, so that these errors are more easily spotted! You have one final } too much.

void loop() {
  int reading = analogRead(A0);

  lcd_key = read_LCD_buttons();

  if (reading &lt; BUTTON4LOW &amp;&amp; reading &lt; BUTTON4HIGH) {
    diceOne = random(1, 7);
    diceTwo = random(1, 7);

    if (diceOne + diceTwo == 7) {
      lcd.clear();
      lcd.setCursor(7, 0);
      lcd.print("7");
      lcd.setCursor(3, 1);
      lcd.print("The pirate");

      if (diceOne + diceTwo == 3, 2, 1, 5, 4, 6) {
        lcd.clear();
        lcd.setCursor(7, 0);
        lcd.print("fish");
      }
    }
  }
}
} //This } is too much!


Then you'll also see that the third if statment which checks for a sum is actually within another expression where it was asserted that the sum is already 7. Then the inner if can never become true. You probably meant to move the if to the outer part, i.e. write

void loop() {
  int reading = analogRead(A0);

  lcd_key = read_LCD_buttons();

  if (reading &lt; BUTTON4LOW &amp;&amp; reading &lt; BUTTON4HIGH) {
    diceOne = random(1, 7);
    diceTwo = random(1, 7);

    if (diceOne + diceTwo == 7) {
      lcd.clear();
      lcd.setCursor(7, 0);
      lcd.print("7");
      lcd.setCursor(3, 1);
      lcd.print("The pirate");
    }
    //the line below is still wrong
    if (diceOne + diceTwo == 3, 2, 1, 5, 4, 6) {
      lcd.clear();
      lcd.setCursor(7, 0);
      lcd.print("fish");
    }
  }
}


Next, this expression makes no sense.

if (diceOne + diceTwo == 3,2,1,5,4,6)


I think you meant that "if the sum of diceOne and diceTwo are equal to either 3, 2, 1, 5, 4, or 6 (i.e. within 1 and 6 inclusive), then do something.

Using multiple or statments this would be expressed as 

if ((diceOne + diceTwo == 3) || (diceOne + diceTwo == 2) || (diceOne + diceTwo == 1) || (diceOne + diceTwo == 5) ||(diceOne + diceTwo == 4) || (diceOne + diceTwo == 6))


Or using the simpler interval check, assuming both numbers are positive and greater than 1.

if( diceOne + diceTwo &lt;= 6)


Also this expression is suspect

if (reading&lt;BUTTON4LOW &amp;&amp; reading&lt;BUTTON4HIGH)


When you have a LOW and a HIGH boundary and you want to check if reading is between these, you would write it as "if reading is greater than the lower boundary and less than the higher boundary", i.e.,

if (reading &gt; BUTTON4LOW &amp;&amp; reading &lt; BUTTON4HIGH)