[
  {
    "id": 1,
    "title": "Zasoby barowe",
    "code": "if (glass.isEmpty()) {\n  action = 'refill';\n  location = 'bar';\n} else {\n  action = 'drink';\n}",
    "question": "Co robisz, gdy Twoja szklanka jest pusta?",
    "options": ["Idziesz do baru ją napełnić", "Tańczysz dalej z pustą szklanką", "Idziesz do domu"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 2,
    "title": "Stylówka",
    "code": ".participant {\n  display: flex;\n  justify-content: center;\n  background-color: #dance_floor;\n}",
    "question": "Gdzie według tego stylu znajduje się uczestnik?",
    "options": ["W kuchni przy lodówce", "Na środku parkietu", "Ukryty w kącie"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 3,
    "title": "Pętla taneczna",
    "code": "while (music.isPlaying()) {\n  person.dance();\n  energy -= 1;\n}",
    "question": "Kiedy osoba przestanie tańczyć?",
    "options": ["Gdy skończy się muzyka", "Gdy skończą się drinki", "Gdy wybije północ"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 4,
    "title": "Baza danych przekąsek",
    "code": "SELECT pizza FROM table_snacks\nWHERE toppings = 'pineapple'\nORDER BY controversy_level DESC;",
    "question": "Jaki rodzaj pizzy jest tu wybierany?",
    "options": ["Pepperoni", "Z ananasem (kontrowersyjna)", "Margherita"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 5,
    "title": "Logika podrywu",
    "code": "if (talk_to(stranger) == 'error') {\n  return drink_more_vodka();\n}",
    "question": "Co program zaleca po nieudanej rozmowie z nieznajomym?",
    "options": ["Ucieczkę z imprezy", "Próbę ponowną na trzeźwo", "Wypicie kolejnego kieliszka"],
    "answer_index": 2,
    "points": 5
  },
  {
    "id": 6,
    "title": "Obsługa wyjątków",
    "code": "try {\n  start_karaoke();\n} catch (NoTalentException e) {\n  volume.decrease();\n}",
    "question": "Co się stanie, jeśli wykonawca karaoke nie ma talentu?",
    "options": ["Mikrofon wybuchnie", "Zostanie ściszony", "Dostanie owacje na stojąco"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 7,
    "title": "Czas powrotu",
    "code": "if (time >= 0300 || battery == 0) {\n  status = 'go_home';\n} else {\n  status = 'stay_and_play';\n}",
    "question": "Kiedy uczestnik idzie do domu?",
    "options": ["Tylko gdy bateria padnie", "O 3:00 rano lub gdy padnie bateria", "Gdy skończy się alkohol"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 8,
    "title": "Zapytanie o DJ-a",
    "code": "GET /api/music/next-song?genre=techno",
    "question": "O jaki gatunek muzyki prosi to zapytanie?",
    "options": ["Disco Polo", "Techno", "Jazz"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 9,
    "title": "Priorytety",
    "code": "const mood = pizza > talk ? 'happy' : 'bored';",
    "question": "Od czego zależy dobry humor według tej linijki?",
    "options": ["Od pizzy bardziej niż od rozmowy", "Od ilości osób na imprezie", "Od jakości Wi-Fi"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 10,
    "title": "Rekurencja",
    "code": "function drink() {\n  toast();\n  return drink();\n}",
    "question": "Co się stanie po wywołaniu tej funkcji?",
    "options": ["Wypijesz tylko raz", "Będziesz pić w nieskończoność", "Zaszniesz po 5 minutach"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 11,
    "title": "Uprawnienia",
    "code": "chmod 777 mini_bar",
    "question": "Kto ma dostęp do mini baru według tej komendy?",
    "options": ["Tylko właściciel", "Wszyscy (pełne uprawnienia)", "Nikt"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 12,
    "title": "Komentarze",
    "code": "// TODO: Przestać mówić o pracy\nparty.enjoy();",
    "question": "Co programista obiecał sobie zrobić (w komentarzu)?",
    "options": ["Napisać nową aplikację", "Przestać mówić o pracy", "Zjeść wszystkie paluszki"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 13,
    "title": "Zmienne losowe",
    "code": "let outfit = ['shirt', 'hoodie', 't-shirt'];\nlet selected = outfit[Math.floor(Math.random() * outfit.length)];",
    "question": "Co określa ten kod?",
    "options": ["Losowy wybór ubioru", "Pranie ubrań", "Kupowanie nowej bluzy"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 14,
    "title": "Tablica gości",
    "code": "guests.push(partner_person);",
    "question": "Co robi ta operacja?",
    "options": ["Wyrzuca osobę towarzyszącą", "Dodaje osobę towarzyszącą do listy gości", "Zmienia imię gościa"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 15,
    "title": "Głód",
    "code": "if (stomach.status === '404_NOT_FOUND_FOOD') {\n  trigger_delivery_app();\n}",
    "question": "Co robimy, gdy żołądek nie znalazł jedzenia?",
    "options": ["Pijemy wodę", "Idziemy spać", "Zamawiamy jedzenie przez aplikację"],
    "answer_index": 2,
    "points": 5
  },
  {
    "id": 16,
    "title": "Git Flow",
    "code": "git commit -m 'One more drink'",
    "question": "Co autor 'zatwierdził' w tej wiadomości?",
    "options": ["Poprawkę błędu", "Jeszcze jednego drinka", "Koniec imprezy"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 17,
    "title": "Hardware",
    "code": "if (temperature > 30) {\n  fan.speed = 'MAX';\n  window.open();\n}",
    "question": "Co się dzieje, gdy na sali zrobi się gorąco?",
    "options": ["Włączamy ogrzewanie", "Wiatraki idą na maxa i otwieramy okno", "Wyłączamy muzykę"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 18,
    "title": "Boolean",
    "code": "is_it_fun = (people.dancing > 5) && (snacks.left > 0);",
    "question": "Kiedy zabawa jest uznana za udaną?",
    "options": ["Gdy tańczy min. 5 osób i są jeszcze przekąski", "Gdy wszyscy tańczą", "Gdy nie ma już jedzenia"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 19,
    "title": "Wait()",
    "code": "setTimeout(() => {\n  say('Nigdy więcej nie piję');\n}, 28800000);",
    "question": "Kiedy padnie deklaracja 'Nigdy więcej nie piję' (28800000 ms = 8h)?",
    "options": ["Natychmiast", "Za 8 godzin (rano)", "Nigdy"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 20,
    "title": "Exit Strategy",
    "code": "document.querySelector('#party').addEventListener('click', () => {\n  location.reload();\n});",
    "question": "Co się stanie po kliknięciu w element 'party'?",
    "options": ["Impreza przeładuje się (zacznie od nowa)", "Światło zgaśnie", "Muzyka przyspieszy"],
    "answer_index": 0,
    "points": 5
  }
]