Having issues with first script, basic LED cycle button

So my first project is simple. I just want to switch between two LEDs, a red one and a green one. I want the lights to start off, then turn the green on after a button press, then turn off the green one and turn on the red one with another press. The third press will turn both off.

So far, this is what I have:

int switchPin = 10;
int RedLEDPin = 13;
int greenLEDPin = 12;
int x = 0;

boolean lastButton = LOW;
boolean currentButton = HIGH;

void setup() {
  // put your setup code here, to run once:
  pinMode(switchPin, INPUT);
  pinMode(RedLEDPin, OUTPUT);
  pinMode(greenLEDPin, OUTPUT);
}

boolean debounce(boolean last)
{
  boolean current = digitalRead(switchPin);
  if (last != current)
  {
    delay(5);
    current = digitalRead(switchPin);
  }
  return current;
}

void loop() 
{
  currentButton = debounce(lastButton);
  if (lastButton == LOW && currentButton == HIGH)
  {
    x = x + 1;
  }
  lastButton = currentButton;

  if (x > 2) x = 0;
  
  if (x == 0) 
  {
    digitalWrite(RedLEDPin, LOW);
    digitalWrite(greenLEDPin, LOW);
  }

  if (x == 1) 
  {
    digitalWrite(RedLEDPin, HIGH);
    digitalWrite(greenLEDPin, LOW);
  }

  if (x == 2) 
  {
    digitalWrite(RedLEDPin, LOW);
    digitalWrite(greenLEDPin, HIGH);
  }
}

What actually happens is both LEDs are just off, nothing happens when I press or hold the button.

The red LED is wired in series with a 1k ohm resistor to digital pin 13 and ground. The green LED is wired in series with a 1k ohm resistor to didital pin 12 and ground. The button closes the circuit between digital pin 10 and ground.

I'm new to all of this, so I apologize if this an obvious question

Change

pinMode(switchPin, INPUT);

to

pinMode(switchPin, INPUT_PULLUP);

Thank you! Do you mind explaining why pinMode(switchPin, INPUT) won't work?

Sure.

INPUT_PULLUP configures the input pin to include an internal pullup resistor. This means if there is no input connected to the input pin, the pullup resistor “pulls” the floating input high. For instance, when the button isn’t being pressed and the input to the Arduino is disconnected, the internal resistor pulls the input high. When you press the button, the input is shorted to ground, regardless of the internal resistor.