#include <LiquidCrystal.h>
LiquidCrystal lcd = LiquidCrystal(13,12,11,10,9,8);

int riadok = 0;
bool t1 = true;
bool t2 = true;
bool t3 = true;

void setup() 
{
  lcd.begin(20,4);
  DDRD = 255;
  DDRC = 0;

  PORTC |= 1<<0;
  PORTC |= 1<<1;
  PORTC |= 1<<2;

  lcd.print(">1 LED svietia");
  lcd.setCursor(0,1);
  lcd.print(" 2 LED svietia");
  lcd.setCursor(0,2);
  lcd.print(" 3 LED svietia");
  lcd.setCursor(0,3);
  lcd.print(" 4 LED svietia");
}

void loop() 
{
  if((PINC & (1<<0)) == 0 && t1 == true)
  {
    t1 = false;
    lcd.setCursor(0,riadok);
    lcd.print(" ");
    riadok++;
    if(riadok > 3)
    riadok = 0;
    lcd.setCursor(0, riadok);
    lcd.print(">");

  }
  if((PINC & (1<<0)) != 0 && t1 == false)
  {
    t1 = true;
  }

  if((PINC & (1<<1)) == 0 && t2 == true)
  {
    t2 = false;
    lcd.setCursor(0,riadok);
    lcd.print(" ");
    riadok--;
    if(riadok < 0)
    riadok = 3;
    lcd.setCursor(0, riadok);
    lcd.print(">");

  }
  if((PINC & (1<<1)) != 0 && t2 == false)
  {
    t2 = true;
  }

  svieti();
}

void svieti()
{
  if((PINC & (1<<2)) == 0 && t3 == true)
  {
    t3 = false;
    if(riadok == 0)
    {
      PORTD |= 1<<2;
      PORTD &= ~(1<<3);
      PORTD &= ~(1<<4);
      PORTD &= ~(1<<5);
    }
    if(riadok == 1)
    {
      PORTD |= 1<<2;
      PORTD |= 1<<3;
      PORTD &= ~(1<<4);
      PORTD &= ~(1<<5);
    }
    if(riadok == 2)
    {
      PORTD |= 1<<2;
      PORTD |= 1<<3;
      PORTD |= 1<<4;
      PORTD &= ~(1<<5);
    }
    if(riadok == 3)
    {
      PORTD |= 1<<2;
      PORTD |= 1<<3;
      PORTD |= 1<<4;
      PORTD |= 1<<5;
    }
  }
  if((PINC & (1<<2)) != 0 && t3 == false)
  {
    t3 = true;
  }
}