[
  {
    "id": 1,
    "title": "Protokół Barmana",
    "code": "function barUpdate(guest) {\n  const drink = guest.getGlass();\n  \n  if (drink.volume === 0) {\n    console.log('Status: Empty');\n    return 'Go to the bar for a refill';\n  } else {\n    return 'Enjoy your drink!';\n  }\n}",
    "question": "Co zwraca funkcja, gdy objętość (volume) drinka wynosi 0?",
    "options": ["Nakazuje iść do baru po dolewkę", "Mówi, żeby cieszyć się drinkiem", "Wyrzuca błąd systemu"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 2,
    "title": "Centrowanie Uczestnika",
    "code": ".dance-floor {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  background: radial-gradient(circle, #disco, #party);\n}",
    "question": "Gdzie znajdą się obiekty wewnątrz klasy .dance-floor?",
    "options": ["Zostaną rozrzucone po rogach", "Będą idealnie na środku", "Znikną z ekranu"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 3,
    "title": "Algorytm Wytrzymałości",
    "code": "let stamina = 100;\n\nwhile (music.is_playing) {\n  person.dance('crazy_mode');\n  stamina -= 10;\n  \n  if (stamina <= 0) break;\n}",
    "question": "Kiedy osoba przestanie tańczyć w tej pętli?",
    "options": ["Gdy muzyka przyspieszy", "Gdy stamina (wytrzymałość) spadnie do 0", "Nigdy, będzie tańczyć wiecznie"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 4,
    "title": "Zapytanie o Hawajską",
    "code": "/* Database: Snacks_DB */\nSELECT * FROM pizzas\nWHERE has_pineapple = true \n  AND is_controversial = true\nORDER BY pizza_id DESC\nLIMIT 1;",
    "question": "Którą pizzę wybierze to zapytanie do bazy danych?",
    "options": ["Tradycyjną Margheritę", "Ostatnią dodaną pizzę z ananasem", "Pizzę z podwójnym serem bez owoców"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 5,
    "title": "Debugger Towarzyski",
    "code": "try {\n  initiateConversation('Hello, world!');\n} catch (SocialAwkwardnessException error) {\n  console.error('Rebooting social skills...');\n  orderDrink('Liquid Courage');\n}",
    "question": "Co robi program, gdy wystąpi błąd 'SocialAwkwardnessException'?",
    "options": ["Wyłącza komputer", "Zamawia drinka 'Liquid Courage'", "Ucieka do domu"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 6,
    "title": "Mikser Karaoke",
    "code": "const karaokeMachine = {\n  volume: 50,\n  autoTune: true,\n  processVoice: function(vocalist) {\n    if (vocalist.isOffKey) return this.volume = 0;\n    return this.volume = 100;\n  }\n};",
    "question": "Jaka będzie głośność (volume), jeśli wokalista fałszuje (isOffKey)?",
    "options": ["Bardzo głośno (100)", "Zupełna cisza (0)", "Połowa mocy (50)"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 7,
    "title": "Stan Baterii",
    "code": "function checkStatus(time, phoneBattery) {\n  const isLate = time > '03:00';\n  const isDead = phoneBattery < 1;\n\n  if (isLate || isDead) {\n    return 'Order Uber to Home';\n  }\n  return 'Stay at the party';\n}",
  "question": "W jakiej sytuacji funkcja zaproponuje powrót Uberem?",
  "options": ["Tylko jeśli jest po 3:00 rano", "Tylko jeśli telefon padnie", "Jeśli jest po 3:00 LUB telefon padnie"],
  "answer_index": 2,
  "points": 5
  },
  {
    "id": 8,
    "title": "API DJ-a",
    "code": "router.get('/next-track', (req, res) => {\n  const request = req.query.genre;\n  if (request === 'techno') {\n    res.send('BPM: 140');\n  } else {\n    res.send('BPM: 90');\n  }\n});",
    "question": "Jaki będzie rytm (BPM), jeśli poprosimy o gatunek 'techno'?",
    "options": ["Szybki (140)", "Wolny (90)", "Zupełnie inny"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 9,
    "title": "Matematyka Imprezowa",
    "code": "const snacks = 50;\nconst guests = 10;\n\nfunction canEatMore() {\n  const ratio = snacks / guests;\n  return ratio > 1 ? 'Yes, please!' : 'No more food';\n}",
    "question": "Czy goście mogą jeszcze jeść, jeśli na 10 osób przypada 50 przekąsek?",
    "options": ["Tak, oczywiście", "Nie, już brakło", "Tylko jeśli zapłacą"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 10,
    "title": "Niekończące się Zdrowie",
    "code": "function makeToast() {\n  console.log('Na zdrowie!');\n  const loop = true;\n  if (loop) {\n    return makeToast(); // RECURSION\n  }\n}",
    "question": "Co się stanie po uruchomieniu funkcji makeToast()?",
    "options": ["Powie 'Na zdrowie' tylko raz", "Będzie powtarzać 'Na zdrowie' bez końca", "Program się zawiesi bez słowa"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 11,
    "title": "Uprawnienia Administratora",
    "code": "# System access control\n# User: Guest\n# Action: Open Minibar\n\nsudo chmod -R 777 /kitchen/minibar\necho \"Access Granted to everyone\"",
    "question": "Co oznacza komenda 'chmod 777' w kontekście minibaru?",
    "options": ["Minibar jest zamknięty na klucz", "Tylko obsługa może wejść", "Wszyscy mają pełny dostęp do zawartości"],
    "answer_index": 2,
    "points": 5
  },
  {
    "id": 12,
    "title": "Plany na wieczór",
    "code": "// TODO: Stop debugging work issues\n// FIXME: Dance more\n\nconst partyMode = true;\nif (partyMode) {\n  forgetAboutWork();\n  startHavingFun();\n}",
    "question": "Czego dotyczą notatki (TODO/FIXME) w kodzie?",
    "options": ["Naprawy serwera", "Przestania myślenia o pracy i częstszego tańczenia", "Zamówienia pizzy"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 13,
    "title": "Losowy Outfit",
    "code": "import random\n\nwardrobe = ['Casual Shirt', 'Geeky Hoodie', 'T-shirt with Logo']\n\ndef choose_clothes():\n    index = random.randint(0, 2)\n    return wardrobe[index]",
    "question": "W jaki sposób wybierane jest ubranie w tym kodzie?",
    "options": ["Zawsze wybierana jest bluza (Hoodie)", "Ubranie jest wybierane losowo z listy", "Ubranie wybiera mama przez telefon"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 14,
    "title": "Kolejka do Zdjęć",
    "code": "let photoQueue = ['Marek', 'Ania'];\nphotoQueue.push('Partner');\n\nconsole.log('Current queue length: ' + photoQueue.length);",
    "question": "Ile osób znajduje się w kolejce do zdjęcia po wykonaniu operacji 'push'?",
    "options": ["2 osoby", "3 osoby", "4 osoby"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 15,
    "title": "Błąd 404 w Kuchni",
    "code": "async function findSnacks() {\n  const fridge = await fetch('/api/fridge/contents');\n  if (fridge.status === 404) {\n    return 'Trigger Pyszne.pl / UberEats';\n  }\n  return 'Eat leftovers';\n}",
    "question": "Co się stanie, jeśli lodówka zwróci status 404 (nie znaleziona)?",
    "options": ["Zjesz resztki", "Będziesz głodny", "Zamówisz jedzenie z dostawą"],
    "answer_index": 2,
    "points": 5
  },
  {
    "id": 16,
    "title": "Logika Commita",
    "code": "git add empty_glass.png\ngit commit -m \"Finished my drink, need another one\"\ngit push bar main",
    "question": "O czym informuje wiadomość w tym 'commicie'?",
    "options": ["O skończeniu drinka i potrzebie kolejnego", "O awarii serwera", "O dodaniu zdjęcia z imprezy"],
    "answer_index": 0,
    "points": 5
  },
  {
    "id": 17,
    "title": "System Chłodzenia",
    "code": "const room = {\n  temp: 32,\n  ac_status: 'OFF',\n  coolDown: function() {\n    if (this.temp > 25) this.ac_status = 'MAX_POWER';\n  }\n};",
    "question": "Jaki będzie status klimatyzacji (ac_status), jeśli temperatura wynosi 32 stopnie?",
    "options": ["Pozostanie wyłączona (OFF)", "Będzie pracować na pełnej mocy (MAX_POWER)", "Będzie w trybie Eco"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 18,
    "title": "Warunek Dobrej Zabawy",
    "code": "function isPartyEpic(dancingPeople, snackCount) {\n  const hasMusic = true;\n  const isGroovy = dancingPeople > 10 && snackCount > 0;\n  \n  return hasMusic && isGroovy;\n}",
    "question": "Co musi się stać, by impreza była 'Epic'?",
    "options": ["Musi być muzyka i nikt nie może tańczyć", "Musi być muzyka, ponad 10 tańczących i obecność przekąsek", "Wystarczy sama muzyka"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 19,
    "title": "Poranek Dewelopera",
    "code": "/* Morning.js */\nsetTimeout(function() {\n  alert('I am never drinking again...');\n  document.body.style.filter = 'blur(2px)';\n}, 28800000); // 8 hours later",
    "question": "Co się stanie z wyglądem strony (body) 8 godzin po uruchomieniu kodu?",
    "options": ["Strona się zamknie", "Obraz stanie się rozmazany (blur)", "Zmieni kolory na tęczowe"],
    "answer_index": 1,
    "points": 5
  },
  {
    "id": 20,
    "title": "Obsługa Wyjścia",
    "code": "window.addEventListener('beforeunload', (event) => {\n  const message = 'Are you sure? The party is still on!';\n  event.returnValue = message;\n  return message;\n});",
    "question": "Co zrobi przeglądarka, gdy spróbujesz zamknąć stronę (wyjść z imprezy)?",
    "options": ["Wyłączy komputer", "Wyświetli ostrzeżenie, czy na pewno chcesz wyjść", "Automatycznie Cię zaloguje ponownie"],
    "answer_index": 1,
    "points": 5
  }
]