let soal = [
  {
    pertanyaan: [
      "Apa ibukota Indonesia?",
      "Apa nama planet ketujuh dari matahari?",
      "Apa bahasa resmi di Jepang?",
    ],
    jawaban: ["jakarta", "uranus", "jepang"],
    reward: {
      iq: 50,
      crystal: 20,
    },
  },
  {
    pertanyaan: [
      "Siapa presiden pertama Indonesia?",
      "Apa simbol kimia untuk air?",
      "Apa nama ilmuwan yang menemukan hukum gravitasi?",
    ],
    jawaban: ["soekarno", "h2o", "isaac newton"],
    reward: {
      iq: 70,
      crystal: 30,
    },
  },
  {
    pertanyaan: [
      "Siapa penemu bola lampu?",
      "Apa nama hewan tercepat di dunia?",
      "Berapakah 10 + 10?",
    ],
    jawaban: ["thomas edison", "cheetah", "20"],
    reward: {
      iq: 100,
      crystal: 50,
    },
  },
  {
    pertanyaan: [
      "Apa nama mata uang Jepang?",
      "Berapakah 8 x 8?",
      "Siapa penemu teori relativitas umum?",
    ],
    jawaban: ["yen", "64", "albert einstein"],
    reward: {
      iq: 120,
      crystal: 60,
    },
  },
  {
    pertanyaan: [
      "Apa nama tokoh fiksi paling terkenal dari Jepang?",
      "Apa simbol kimia untuk emas?",
      "Apa lambang dari planet Merkurius?",
    ],
    jawaban: ["doraemon", "au", "☿"],
    reward: {
      iq: 150,
      crystal: 80,
    },
  },
  {
    pertanyaan: [
      "Apa warna bendera Indonesia?",
      "Apa nama planet terbesar di tata surya?",
      "Apa bahasa resmi di Perancis?",
    ],
    jawaban: ["merah putih", "yupiter", "perancis"],
    reward: {
      iq: 80,
      crystal: 40,
    },
  },
  {
    pertanyaan: [
      "Apa nama tokoh kartun yang memakai baju bergaris merah putih?",
      "Apa simbol kimia untuk nitrogen?",
      "Berapakah 10 + 15?",
    ],
    jawaban: ["captain america", "n", "25"],
    reward: {
      iq: 100,
      crystal: 50,
    },
  },
  {
    pertanyaan: [
      "Siapa penulis drama 'Hamlet'?",
      "Apa bahasa resmi di Vietnam?",
      "Berapakah 40 ÷ 5?",
    ],
    jawaban: ["william shakespeare", "vietnam", "8"],
    reward: {
      iq: 120,
      crystal: 60,
    },
  },
  {
    pertanyaan: [
      "Apa nama alat musik gesek yang memiliki empat senar?",
      "Apa simbol kimia untuk belerang?",
      "Berapakah 7 x 7?",
    ],
    jawaban: ["biola", "s", "49"],
    reward: {
      iq: 140,
      crystal: 70,
    },
  },
  {
    pertanyaan: [
      "Apa warna daun saat musim semi?",
      "Apa nama planet terbesar kedelapan di tata surya?",
      "Apa bahasa resmi di Jerman?",
    ],
    jawaban: ["hijau", "neptunus", "jerman"],
    reward: {
      iq: 160,
      crystal: 80,
    },
  },
  {
    pertanyaan: [
      "Siapa tokoh kartun anjing yang berwarna hitam dan putih?",
      "Apa simbol kimia untuk tembaga?",
      "Berapakah 16 ÷ 4?",
    ],
    jawaban: ["goofy", "cu", "4"],
    reward: {
      iq: 180,
      crystal: 90,
    },
  },
  {
    pertanyaan: [
      "Apa nama binatang yang berbisa dan melata?",
      "Apa bahasa resmi di Korea Utara?",
      "Berapakah 36 - 18?",
    ],
    jawaban: ["ular", "korea", "18"],
    reward: {
      iq: 200,
      crystal: 100,
    },
  },
  {
    pertanyaan: [
      "Siapa penulis novel 'Pride and Prejudice'?",
      "Apa simbol kimia untuk kalium?",
      "Berapakah 80 ÷ 10?",
    ],
    jawaban: ["jane austen", "k", "8"],
    reward: {
      iq: 220,
      crystal: 110,
    },
  },
  {
    pertanyaan: [
      "Apa nama tanaman yang menghasilkan teh?",
      "Apa bahasa resmi di Italia?",
      "Berapakah 6 x 9?",
    ],
    jawaban: ["teh", "italia", "54"],
    reward: {
      iq: 240,
      crystal: 120,
    },
  },
  {
    pertanyaan: [
      "Apa warna langit saat malam hari?",
      "Apa nama planet terbesar keenam di tata surya?",
      "Apa bahasa resmi di Korea Selatan?",
    ],
    jawaban: ["hitam", "saturnus", "korea"],
    reward: {
      iq: 260,
      crystal: 130,
    },
  },
  {
    pertanyaan: [
      "Siapa penulis novel 'The Great Gatsby'?",
      "Apa simbol kimia untuk seng?",
      "Berapakah 125 ÷ 5?",
    ],
    jawaban: ["f. scott fitzgerald", "zn", "25"],
    reward: {
      iq: 280,
      crystal: 140,
    },
  },
  {
    pertanyaan: [
      "Siapa presiden Indonesia saat ini?",
      "Apa bahasa resmi di Sunda?",
      "Berapakah 12 x 5?",
    ],
    jawaban: ["joko widodo", "sunda", "60"],
    reward: {
      iq: 100,
      crystal: 50,
    },
  },
  {
    pertanyaan: [
      "Apa nama film trilogi 'The Lord of the Rings'?",
      "Apa simbol kimia untuk oksigen?",
      "Berapakah 100 - 25?",
    ],
    jawaban: ["the lord of the rings", "o", "75"],
    reward: {
      iq: 120,
      crystal: 60,
    },
  },
  {
    pertanyaan: [
      "Siapa penulis drama 'Romeo and Juliet'?",
      "Apa bahasa resmi di Thailand?",
      "Berapakah 15 + 8?",
    ],
    jawaban: ["william shakespeare", "thai", "23"],
    reward: {
      iq: 140,
      crystal: 70,
    },
  },
  {
    pertanyaan: [
      "Apa nama alat musik tiup yang terbuat dari logam?",
      "Apa simbol kimia untuk air raksa?",
      "Berapakah 18 x 4?",
    ],
    jawaban: ["terompet", "hg", "72"],
    reward: {
      iq: 160,
      crystal: 80,
    },
  },
  {
    pertanyaan: [
      "Apa warna daun saat musim gugur?",
      "Apa nama planet terdekat dengan Matahari?",
      "Apa bahasa resmi di Korea Selatan?",
    ],
    jawaban: ["kuning", "merkurius", "korea"],
    reward: {
      iq: 180,
      crystal: 90,
    },
  },
  {
    pertanyaan: [
      "Siapa tokoh kartun yang tinggal di rumah nanas di dasar laut?",
      "Apa simbol kimia untuk perak?",
      "Berapakah 30 - 12?",
    ],
    jawaban: ["spongebob squarepants", "ag", "18"],
    reward: {
      iq: 200,
      crystal: 100,
    },
  },
  {
    pertanyaan: [
      "Apa nama binatang yang bisa terbang?",
      "Apa bahasa resmi di India?",
      "Berapakah 24 x 3?",
    ],
    jawaban: ["burung", "hindi", "72"],
    reward: {
      iq: 220,
      crystal: 110,
    },
  },
  {
    pertanyaan: [
      "Siapa penulis novel 'To Kill a Mockingbird'?",
      "Apa simbol kimia untuk karbon?",
      "Berapakah 50 + 25?",
    ],
    jawaban: ["harper lee", "c", "75"],
    reward: {
      iq: 240,
      crystal: 120,
    },
  },
  {
    pertanyaan: [
      "Apa nama tanaman yang menghasilkan kopi?",
      "Apa bahasa resmi di Inggris?",
      "Berapakah 16 x 9?",
    ],
    jawaban: ["kopi", "inggris", "144"],
    reward: {
      iq: 260,
      crystal: 130,
    },
  },
  {
    pertanyaan: [
      "Apa warna langit saat siang hari?",
      "Apa nama planet terbesar kelima di tata surya?",
      "Apa bahasa resmi di China?",
    ],
    jawaban: ["biru", "yupiter", "mandarin"],
    reward: {
      iq: 280,
      crystal: 140,
    },
  },
  {
    pertanyaan: [
      "Siapa penulis novel 'Harry Potter'?",
      "Apa bahasa resmi di Brazil?",
      "Berapakah 7 x 9?",
    ],
    jawaban: ["j.k. rowling", "portugis", "63"],
    reward: {
      iq: 90,
      crystal: 45,
    },
  },
  {
    pertanyaan: [
      "Apa nama tokoh kartun yang menggunakan topi merah dengan kacamata?",
      "Apa simbol kimia untuk besi?",
      "Berapakah akar kuadrat dari 144?",
    ],
    jawaban: ["mickey mouse", "fe", "12"],
    reward: {
      iq: 110,
      crystal: 55,
    },
  },
  {
    pertanyaan: [
      "Siapa presiden pertama Amerika Serikat?",
      "Apa nama planet terdekat dengan Bumi?",
      "Apa bahasa resmi di Rusia?",
    ],
    jawaban: ["george washington", "venus", "rusia"],
    reward: {
      iq: 130,
      crystal: 65,
    },
  },
  {
    pertanyaan: [
      "Apa nama binatang karnivora terbesar di dunia?",
      "Apa simbol kimia untuk kalsium?",
      "Berapakah 20 + 30?",
    ],
    jawaban: ["singa", "ca", "50"],
    reward: {
      iq: 160,
      crystal: 85,
    },
  },
  {
    pertanyaan: [
      "Apa warna matahari saat terbenam?",
      "Apa nama planet terkecil di tata surya?",
      "Apa bahasa resmi di Spanyol?",
    ],
    jawaban: ["merah", "merkurius", "spanyol"],
    reward: {
      iq: 180,
      crystal: 90,
    },
  },
];

function getRandomQuestion() {
  return soal[Math.floor(Math.random() * soal.length)];
}
const handler = async (m, { conn, text }) => {
  db.data.rpg.iqtest = db.data.rpg.iqtest ? db.data.rpg.iqtest : {};
  const iqtest = db.data.rpg.iqtest[m.chat];
  if (m.sender in db.data.rpg.iqtest && "playing" === iqtest.state)
    return m.reply(
      '⏳ Anda sedang berada dalam permainan. Tunggu hingga permainan selesai atau ketik "stop" untuk menghentikan permainan.',
    );
  db.data.users[m.sender];
  db.data.rpg.iqtest[m.chat] = {
    state: "playing",
    currentQuestionIndex: 0,
    iq: 100,
  };
  const question = getRandomQuestion(),
    currentQuestion = question.pertanyaan[0],
    currentAnswer = question.jawaban[0]?.toLowerCase(),
    totalQuestions = soal.length;
  await conn.reply(
    m.chat,
    `🧠 *Permainan Tes IQ* 🧠\n\n🌟 Mari kita mulai!\n\n🔔 Pertanyaan 1 dari ${totalQuestions}: ${currentQuestion}\n\nKetik jawaban Anda (ketik "stop" untuk menghentikan permainan):`,
    m,
  ),
    (db.data.rpg.iqtest[m.chat].currentAnswer = currentAnswer),
    (db.data.rpg.iqtest[m.chat].totalIQ = 100);
};
(handler.before = async (m, { conn }) => {
  db.data.rpg.iqtest = db.data.rpg.iqtest ? db.data.rpg.iqtest : {};
  const iqtest = db.data.rpg.iqtest[m.chat];
  if (!iqtest || "playing" !== iqtest.state) return;
  if (m.isBaileys || !m.text) return !1;
  if (m.sender in db.data.rpg.iqtest && "playing" === iqtest.state)
    return m.reply(
      '⏳ Anda sedang berada dalam permainan. Tunggu hingga permainan selesai atau ketik "stop" untuk menghentikan permainan.',
    );
  const currentQuestionIndex = iqtest.currentQuestionIndex,
    answer = m.text.trim().toLowerCase();
  if ("stop" === answer) {
    const totalQuestions = soal.length,
      message = `🏁 *Permainan Selesai* 🏁\n\n🧠 Skor IQ akhir Anda adalah ${iqtest.iq}.\n🎯 Anda telah menyelesaikan ${currentQuestionIndex} dari ${totalQuestions} pertanyaan.\n\n✨ Terima kasih telah bermain!`;
    return (
      await conn.reply(m.chat, message, m),
      void delete db.data.rpg.iqtest[m.chat]
    );
  }
  const correctAnswer = iqtest.currentAnswer,
    reward = soal[currentQuestionIndex].reward,
    isCorrect = answer === correctAnswer;
  isCorrect ? (iqtest.iq += reward.iq) : (iqtest.iq -= 10);
  const resultMessage = isCorrect ? "✅ *Benar!*" : "❌ *Salah!*",
    scoreMessage = isCorrect
      ? `🎉 Anda mendapatkan ${reward.iq} poin IQ.`
      : "⚠️ Anda kehilangan 10 poin IQ.",
    totalQuestions = soal.length,
    totalIQ = iqtest.iq + iqtest.totalIQ;
  let message = `${resultMessage}\n\n${scoreMessage}\n\n🎯 Total IQ Anda saat ini: ${totalIQ}\n\n`;
  const nextQuestionIndex = currentQuestionIndex + 1;
  if (nextQuestionIndex < soal.length) {
    const nextQuestion = soal[nextQuestionIndex],
      currentQuestion = nextQuestion.pertanyaan[0],
      currentAnswer = nextQuestion.jawaban[0]?.toLowerCase();
    (message += `🔔 Pertanyaan ${nextQuestionIndex + 1} dari ${totalQuestions}: ${currentQuestion}\n\nKetik jawaban Anda (ketik "stop" untuk menghentikan permainan):`),
      (db.data.rpg.iqtest[m.chat].currentAnswer = currentAnswer),
      (db.data.rpg.iqtest[m.chat].currentQuestionIndex = nextQuestionIndex);
  } else {
    (message += `\n⏳ Anda sudah menyelesaikan semua ${totalQuestions} soal.\n🧠 Skor IQ akhir Anda adalah ${totalIQ}.\n\n🎉 Ketik "stop" untuk melihat hasil permainan.`),
      delete db.data.rpg.iqtest[m.chat];
  }
  await conn.reply(m.chat, message, m);
}),
  (handler.help = ["iqtest"]),
  (handler.tags = ["rpg"]),
  (handler.command = /^(iqtest)$/i);
export default handler;
