Arduino sketch not respecting

My project is about choosing the colour that you want (you got four options blue , green , red and yellow ) and the colours that was selected it will be displayed on a LCD2004 with I2C adapter
This is my sketch :
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27 , 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

uint8_t PRS = 3 ;//red negativ in
uint8_t PAS = 8 ;//blue negativ in
uint8_t PGS = 10 ; //yellow negativ in
uint8_t PVS = 12 ; //green negativ in

int aposibil = 0 ; //DACA VA FI ECHIPA ALBASTRA IN JOC
int rposibil = 0; //DACA VA FI ECHIPA ROSIE IN JOC
int vposibil = 0; //DACA VA FI ECHIPA VERDE IN JOC
int gposibil = 0; //DACA VA FI ECHIPA GALBENA IN JOC

int q ;
void setup() {
pinMode( PRS , INPUT);
pinMode( PAS , INPUT);
pinMode( PGS , INPUT);
pinMode( PVS , INPUT);

lcd.begin(20, 4);
lcd.noCursor();
}

void loop() {

digitalWrite(PAS, HIGH) ;
digitalWrite(PRS, HIGH) ;
digitalWrite(PGS, HIGH) ;
digitalWrite(PVS, HIGH) ;

lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Choose the teams!!”);
if ( !digitalRead(PGS) && (gposibil==0) )
{
gposibil == 1;
q++;
}
if ( !digitalRead(PVS) && (vposibil==0) )
{
vposibil == 1;
q++;
}
if ( !digitalRead(PAS) && (aposibil==0) )
{
aposibil = 1;
q++;
}
if ( !digitalRead(PRS) && (rposibil==0) )
{
rposibil = 1;
q++;
}

if ( rposibil && vposibil && gposibil && aposibil && (q == 4) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Green”);
lcd.setCursor(0, 3);
lcd.print(“Blue”);
lcd.setCursor(17, 1);
lcd.print(“Red”);
}

if ( !rposibil && vposibil && gposibil && aposibil && (q == 3) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Green”);
lcd.setCursor(0, 3);
lcd.print(“Blue”);
}

if ( rposibil && vposibil && gposibil && !aposibil && (q == 3) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Green”);
lcd.setCursor(0, 3);
lcd.print(“Red”);
}

if ( rposibil && !vposibil && gposibil && aposibil && (q == 3 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Blue”);
lcd.setCursor(0, 3);
lcd.print(“Red”);
}

if ( rposibil && vposibil && !gposibil && aposibil && (q == 3) )
{
lcd.setCursor(0, 1);
lcd.print(“Green”);
lcd.setCursor(0, 2);
lcd.print(“Blue”);
lcd.setCursor(0, 3);
lcd.print(“Red”);
}

if ( rposibil && !vposibil && gposibil && aposibil && (q == 3) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Blue”);
lcd.setCursor(0, 3);
lcd.print(“Red”);
}

if ( !rposibil && vposibil && gposibil && !aposibil && (q == 2) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Green”);
}

if ( !rposibil && !vposibil && gposibil && aposibil && (q == 2) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Blue”);
}

if ( rposibil && !vposibil && gposibil && !aposibil && (q == 2) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
lcd.setCursor(0, 2);
lcd.print(“Red”);
}

if ( !rposibil && vposibil && !gposibil && aposibil && (q == 2 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Green”);
lcd.setCursor(0, 2);
lcd.print(“Blue”);
}

if ( rposibil && vposibil && !gposibil && !aposibil && (q == 2 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Green”);
lcd.setCursor(0, 2);
lcd.print(“Red”);
}

if ( rposibil && !vposibil && !gposibil && aposibil && (q == 2 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Blue”);
lcd.setCursor(0, 2);
lcd.print(“Red”);
}

if ( rposibil && !vposibil && !gposibil && !aposibil && (q == 1 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Red”);
}
if ( !rposibil && vposibil && !gposibil && !aposibil && (q == 1 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Green”);
}
if ( !rposibil && !vposibil && gposibil && !aposibil && (q == 1 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Yellow”);
}
if ( !rposibil && !vposibil && !gposibil && aposibil && (q == 1 ) )
{
lcd.setCursor(0, 1);
lcd.print(“Blue”);
}
delay(1800);

}

but when i push the button for the colors sometimes it works , sometimes not.
Mostly it works for blue and red and blue-red
Any help to make it work correctly?

Unless you have problems uploading your code, this is not a avrdude issue nor a stk500 issue nor bootloader issue.

There is a difference between = (assignment) and == (compare). E.g. in this line

gposibil == 1;

Thanks a lot , and sorry , I was a bit frustrated where I should ask

           gposibil == 1;

This is a comparison that does nothing. You want '=' instead of '==' to assign a value.

Try:

  pinMode( PRS , INPUT_PULLUP);
  pinMode( PAS , INPUT_PULLUP);
  pinMode( PGS , INPUT_PULLUP);
  pinMode( PVS , INPUT_PULLUP);

outsider: Try:

  pinMode( PRS , INPUT_PULLUP);
  pinMode( PAS , INPUT_PULLUP);
  pinMode( PGS , INPUT_PULLUP);
  pinMode( PVS , INPUT_PULLUP);

Preferable but not strictly necessary since loop() starts with:

  digitalWrite(PAS, HIGH) ;
  digitalWrite(PRS, HIGH) ;
  digitalWrite(PGS, HIGH) ;
  digitalWrite(PVS, HIGH) ;