ЁЯЗоЁЯЗ│ Indian History - War Quiz
by AtomicFox99423 lines17.2 KB
<!DOCTYPE html>
<html lang="hi">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>ЁЯЗоЁЯЗ│ Indian History - War Quiz</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', sans-serif; }
body {
background: linear-gradient(135deg, #1a1a2e, #16213e, #0f3460);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.game-container {
background: rgba(255,255,255,0.05);
backdrop-filter: blur(12px);
border: 1px solid rgba(255,215,0,0.3);
border-radius: 30px;
padding: 35px;
max-width: 700px;
width: 100%;
box-shadow: 0 25px 50px rgba(0,0,0,0.8);
color: #fff;
text-align: center;
}
h1 {
font-size: 2.2rem;
background: linear-gradient(45deg, #ff9933, #ffffff, #138808);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 8px;
}
.subhead {
color: #aaa;
font-size: 1rem;
margin-bottom: 20px;
border-bottom: 1px dashed #444;
padding-bottom: 12px;
}
.era-tag {
display: inline-block;
background: #ff9933;
color: #1a1a2e;
font-weight: bold;
padding: 6px 22px;
border-radius: 30px;
font-size: 1.1rem;
margin-bottom: 18px;
letter-spacing: 1px;
}
.question-box {
background: rgba(0,0,0,0.4);
border-radius: 18px;
padding: 25px 20px;
margin: 15px 0 25px 0;
border-left: 5px solid #ff9933;
}
.question-box h2 {
font-size: 1.5rem;
font-weight: 500;
line-height: 1.4;
}
.options-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
margin: 20px 0;
}
.opt-btn {
background: rgba(255,255,255,0.07);
border: 2px solid #444;
border-radius: 16px;
padding: 16px 10px;
font-size: 1rem;
font-weight: 500;
color: #fff;
cursor: pointer;
transition: 0.25s;
box-shadow: 0 4px 0 #222;
}
.opt-btn:hover {
transform: scale(1.02);
background: rgba(255,215,0,0.15);
border-color: #ff9933;
}
.opt-btn:active { transform: scale(0.96); }
.opt-btn.correct {
background: #138808;
border-color: #00ff88;
box-shadow: 0 0 20px #00ff8840;
}
.opt-btn.wrong {
background: #cc0000;
border-color: #ff4444;
box-shadow: 0 0 20px #ff000040;
}
.opt-btn.disabled {
pointer-events: none;
opacity: 0.7;
}
.score-area {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 22px;
padding: 12px 18px;
background: rgba(0,0,0,0.3);
border-radius: 40px;
}
.score-badge {
background: #ff9933;
color: #1a1a2e;
font-weight: bold;
padding: 6px 24px;
border-radius: 40px;
font-size: 1.4rem;
}
#nextBtn {
background: linear-gradient(45deg, #ff9933, #ff7700);
border: none;
color: #1a1a2e;
font-weight: bold;
font-size: 1.2rem;
padding: 10px 32px;
border-radius: 40px;
cursor: pointer;
transition: 0.2s;
box-shadow: 0 6px 0 #b35900;
display: none;
}
#nextBtn:hover { transform: translateY(-2px); box-shadow: 0 8px 0 #b35900; }
#nextBtn:active { transform: translateY(4px); box-shadow: 0 2px 0 #b35900; }
#resultMsg {
font-size: 1.2rem;
margin: 12px 0 0 0;
min-height: 40px;
font-weight: 500;
}
#restartBtn {
background: #222;
border: 2px solid #ff9933;
color: #ff9933;
padding: 10px 28px;
border-radius: 40px;
font-size: 1rem;
font-weight: bold;
cursor: pointer;
margin-top: 12px;
transition: 0.2s;
}
#restartBtn:hover { background: #ff9933; color: #1a1a2e; }
.footer { margin-top: 20px; color: #666; font-size: 0.8rem; }
@media (max-width: 550px) {
.options-grid { grid-template-columns: 1fr; }
.game-container { padding: 20px; }
}
</style>
</head>
<body>
<div class="game-container" id="app">
<h1>тЪФя╕П рднрд╛рд░рдд рдХрд╛ рдпреБрджреНрдз рдЗрддрд┐рд╣рд╛рд╕</h1>
<div class="subhead">Ancient ┬╖ Medieval ┬╖ Modern</div>
<div class="era-tag" id="eraDisplay">ЁЯФ╕ рдкреНрд░рд╛рдЪреАрди рднрд╛рд░рдд</div>
<div class="question-box">
<h2 id="questionText">Loading...</h2>
</div>
<div class="options-grid" id="optionsContainer">
<button class="opt-btn" data-index="0">Option 1</button>
<button class="opt-btn" data-index="1">Option 2</button>
<button class="opt-btn" data-index="2">Option 3</button>
<button class="opt-btn" data-index="3">Option 4</button>
</div>
<div id="resultMsg">ЁЯЗоЁЯЗ│ Choose the correct war with its reason</div>
<div class="score-area">
<span style="font-weight:300;">ЁЯПЖ Score</span>
<span class="score-badge" id="scoreDisplay">0</span>
</div>
<button id="nextBtn">тЮбя╕П рдЕрдЧрд▓рд╛ рдкреНрд░рд╢реНрди</button>
<br/>
<button id="restartBtn">ЁЯФД Game Restart</button>
<div class="footer">Made with тЭдя╕П for Indian History</div>
</div>
<script>
// ---------- GAME DATA ----------
const questions = [
// --- ANCIENT (рдкреНрд░рд╛рдЪреАрди) ---
{
era: 'рдкреНрд░рд╛рдЪреАрди рднрд╛рд░рдд',
question: 'рд╕рд┐рдВрдзреБ рдШрд╛рдЯреА рд╕рднреНрдпрддрд╛ рдХреЗ рдкрддрди рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдХреНрдпрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ?',
options: [
'рдЖрд░реНрдпреЛрдВ рдХрд╛ рдЖрдХреНрд░рдордг',
'рдЬрд▓рд╡рд╛рдпреБ рдкрд░рд┐рд╡рд░реНрддрди рдПрд╡рдВ рд╕реВрдЦрд╛',
'рдпреВрдирд╛рдирд┐рдпреЛрдВ рдХрд╛ рд╣рдорд▓рд╛',
'рдЖрдВрддрд░рд┐рдХ рд╡рд┐рджреНрд░реЛрд╣'
],
correct: 1,
reason: 'тЬЕ рд╕рд╣реА: рдЬрд▓рд╡рд╛рдпреБ рдкрд░рд┐рд╡рд░реНрддрди (рд╕реВрдЦрд╛) рдореБрдЦреНрдп рдХрд╛рд░рдг рдерд╛, рдЖрд░реНрдп рдЖрдХреНрд░рдордг рдмрд╛рдж рдореЗрдВ рд╣реБрдЖред'
},
{
era: 'рдкреНрд░рд╛рдЪреАрди рднрд╛рд░рдд',
question: 'рдпреВрдирд╛рдиреА рд╕реЗрдирд╛рдкрддрд┐ рд╕рд┐рдХрдВрджрд░ (Alexander) рдиреЗ рднрд╛рд░рдд рдореЗрдВ рдХрд┐рд╕ рд░рд╛рдЬрд╛ рдХреЛ рд╣рд░рд╛рдпрд╛ рдерд╛?',
options: [
'рдЪрдВрджреНрд░рдЧреБрдкреНрдд рдореМрд░реНрдп',
'рдзрдирд╛рдирдВрдж',
'рдкреЛрд░рд╕ (Porus)',
'рдЕрд╢реЛрдХ'
],
correct: 2,
reason: 'тЬЕ рд╕рд╣реА: рд╕рд┐рдХрдВрджрд░ рдиреЗ 326 рдИ.рдкреВ. рдореЗрдВ рд░рд╛рдЬрд╛ рдкреЛрд░рд╕ рдХреЛ рд╣рд░рд╛рдпрд╛, рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рд╕реЗрдирд╛ рдиреЗ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред'
},
{
era: 'рдкреНрд░рд╛рдЪреАрди рднрд╛рд░рдд',
question: 'рдордЧрдз рд╕рд╛рдореНрд░рд╛рдЬреНрдп рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╕рдмрд╕реЗ рдмреЬреА рдмрд╛рдзрд╛ рдХреМрди рд╕рд╛ рдпреБрджреНрдз рдерд╛?',
options: [
'рдХрд▓рд┐рдВрдЧ рдпреБрджреНрдз',
'рдЕрд╡рдиреНрддрд┐ рдпреБрджреНрдз',
'рдкрд╛рдЯрд▓рд┐рдкреБрддреНрд░ рдХрд╛ рдпреБрджреНрдз',
'рдЧрд╛рдВрдзрд╛рд░ рдпреБрджреНрдз'
],
correct: 0,
reason: 'тЬЕ рд╕рд╣реА: рдХрд▓рд┐рдВрдЧ рдпреБрджреНрдз (261 рдИ.рдкреВ.) рдореЗрдВ рдЕрд╢реЛрдХ рдиреЗ рд╡рд┐рдЬрдп рддреЛ рдкрд╛рдИ, рдкрд░ рдирд░рд╕рдВрд╣рд╛рд░ рджреЗрдЦрдХрд░ рдмреМрджреНрдз рдзрд░реНрдо рдЕрдкрдирд╛ рд▓рд┐рдпрд╛ред'
},
// --- MEDIEVAL (рдордзреНрдпрдХрд╛рд▓) ---
{
era: 'рдордзреНрдпрдХрд╛рд▓реАрди рднрд╛рд░рдд',
question: 'рддрд░рд╛рдИрди рдХреЗ рдкреНрд░рдердо рдпреБрджреНрдз (1191) рдореЗрдВ рдХрд┐рд╕рдиреЗ рдХрд┐рд╕рдХреЛ рд╣рд░рд╛рдпрд╛?',
options: [
'рдореБрд╣рдореНрдордж рдЧреМрд░реА рдиреЗ рдкреГрдереНрд╡реАрд░рд╛рдЬ рдХреЛ',
'рдкреГрдереНрд╡реАрд░рд╛рдЬ рдЪреМрд╣рд╛рди рдиреЗ рдореБрд╣рдореНрдордж рдЧреМрд░реА рдХреЛ',
'рдмрд╛рдмрд░ рдиреЗ рдЗрдмреНрд░рд╛рд╣рд┐рдо рд▓реЛрджреА рдХреЛ',
'рдЕрдХрдмрд░ рдиреЗ рд╣реЗрдореВ рдХреЛ'
],
correct: 1,
reason: 'тЬЕ рд╕рд╣реА: рдкреГрдереНрд╡реАрд░рд╛рдЬ рдиреЗ рдЧреМрд░реА рдХреЛ рд╣рд░рд╛рдпрд╛, рдкрд░ рджреВрд╕рд░реЗ рдпреБрджреНрдз (1192) рдореЗрдВ рдЧреМрд░реА рдиреЗ рдЬреАрдд рд▓рд┐рдпрд╛ред'
},
{
era: 'рдордзреНрдпрдХрд╛рд▓реАрди рднрд╛рд░рдд',
question: 'рджрд┐рд▓реНрд▓реА рд╕рд▓реНрддрдирдд рдкрд░ рдордВрдЧреЛрд▓ рдЖрдХреНрд░рдордгреЛрдВ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдХреНрдпрд╛ рдерд╛?',
options: [
'рдзрди рд▓реВрдЯрдирд╛',
'рдЗрд╕реНрд▓рд╛рдо рдХрд╛ рдкреНрд░рд╕рд╛рд░',
'рдЪрдВрдЧреЗреЫ рдЦрд╛рди рдХреА рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖рд╛',
'рд╡реНрдпрд╛рдкрд╛рд░ рдорд╛рд░реНрдЧ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг'
],
correct: 0,
reason: 'тЬЕ рд╕рд╣реА: рдордВрдЧреЛрд▓ рдореБрдЦреНрдпрддрдГ рд▓реВрдЯрдкрд╛рдЯ рдФрд░ рдзрди рдХреЗ рд▓рд┐рдП рдЖрддреЗ рдереЗ, рдЕрд▓рд╛рдЙрджреНрджреАрди рдЦрд┐рд▓рдЬреА рдиреЗ рдЙрдиреНрд╣реЗрдВ рд░реЛрдХрд╛ред'
},
{
era: 'рдордзреНрдпрдХрд╛рд▓реАрди рднрд╛рд░рдд',
question: 'рдкрд╛рдиреАрдкрдд рдХрд╛ рджреНрд╡рд┐рддреАрдп рдпреБрджреНрдз (1556) рдХрд┐рдирдХреЗ рдмреАрдЪ рд╣реБрдЖ?',
options: [
'рдмрд╛рдмрд░ vs рдЗрдмреНрд░рд╛рд╣рд┐рдо рд▓реЛрджреА',
'рдЕрдХрдмрд░ vs рд╣реЗрдореВ',
'рдФрд░рдВрдЧрдЬреЗрдм vs рд╢рд┐рд╡рд╛рдЬреА',
'рдореБрд╣рдореНрдордж рдЧреМрд░реА vs рдЬрдпрдЪрдВрдж'
],
correct: 1,
reason: 'тЬЕ рд╕рд╣реА: рдЕрдХрдмрд░ (рдмреИрд░рдо рдЦрд╛рди рдХреА рдорджрдж) рдиреЗ рд╣реЗрдореВ рдХреЛ рд╣рд░рд╛рдХрд░ рдореБрдЧрд▓ рд╕рд╛рдореНрд░рд╛рдЬреНрдп рдордЬрдмреВрдд рдХрд┐рдпрд╛ред'
},
// --- MODERN (рдЖрдзреБрдирд┐рдХ) ---
{
era: 'рдЖрдзреБрдирд┐рдХ рднрд╛рд░рдд',
question: 'рдкреНрд▓рд╛рд╕реА рдХрд╛ рдпреБрджреНрдз (1757) рдХреНрдпреЛрдВ рд╣реБрдЖ?',
options: [
'рдЕрдВрдЧреНрд░реЗрдЬреЛрдВ рдХрд╛ рд╡реНрдпрд╛рдкрд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░',
'рд╕рд┐рд░рд╛рдЬ-рдЙрдж-рджреМрд▓рд╛ рдХрд╛ рдЕрдВрдЧреНрд░реЗрдЬреЛрдВ рд╕реЗ рд╡рд┐рд░реЛрдз',
'рдлреНрд░рд╛рдВрд╕реАрд╕рд┐рдпреЛрдВ рдХрд╛ рд╖рдбреНрдпрдВрддреНрд░',
'рдореАрд░ рдЬрд╛рдлрд░ рдХреА рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖рд╛'
],
correct: 1,
reason: 'тЬЕ рд╕рд╣реА: рд╕рд┐рд░рд╛рдЬ-рдЙрдж-рджреМрд▓рд╛ рдиреЗ рдЕрдВрдЧреНрд░реЗрдЬреЛрдВ рдХреЗ рдХрд┐рд▓реЗрдмрдВрджреА рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд┐рдпрд╛, рдкрд░ рдореАрд░ рдЬрд╛рдлрд░ рдХреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕рдШрд╛рдд рд╕реЗ рд╣рд╛рд░ рдЧрдПред'
},
{
era: 'рдЖрдзреБрдирд┐рдХ рднрд╛рд░рдд',
question: '1857 рдХреА рдХреНрд░рд╛рдВрддрд┐ рдХрд╛ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдХрд╛рд░рдг рдХреНрдпрд╛ рдерд╛?',
options: [
'рдЕрдВрдЧреНрд░реЗрдЬреЛрдВ рдХреА рд▓реВрдЯ',
'рдЪрд░реНрдмреА рд╡рд╛рд▓реЗ рдХрд╛рд░рддреВрд╕ (Enfield rifles)',
'рдбреЛрдореЗрдирд┐рдпрди рдиреАрддрд┐',
'рдХрд┐рд╕рд╛рдиреЛрдВ рдкрд░ рдЕрддреНрдпрд╛рдЪрд╛рд░'
],
correct: 1,
reason: 'тЬЕ рд╕рд╣реА: рдЪрд░реНрдмреА (рд╕реБрдЕрд░/рдЧрд╛рдп рдХреА) рд╡рд╛рд▓реЗ рдХрд╛рд░рддреВрд╕ рдиреЗ рд╕реИрдирд┐рдХреЛрдВ рдХреА рдзрд╛рд░реНрдорд┐рдХ рднрд╛рд╡рдирд╛рдПрдБ рднрдбрд╝рдХрд╛ рджреАрдВред'
},
{
era: 'рдЖрдзреБрдирд┐рдХ рднрд╛рд░рдд',
question: 'рднрд╛рд░рдд-рдЪреАрди рдпреБрджреНрдз (1962) рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдерд╛?',
options: [
'рддрд┐рдмреНрдмрдд рд╡рд┐рд╡рд╛рдж',
'рд╕реАрдорд╛ рд╡рд┐рд╡рд╛рдж (рдореИрдХрдореЛрд╣рди рд░реЗрдЦрд╛)',
'рдХрд╢реНрдореАрд░ рдореБрджреНрджрд╛',
'рд╡реНрдпрд╛рдкрд╛рд░ рдЕрд╕рдВрддреБрд▓рди'
],
correct: 1,
reason: 'тЬЕ рд╕рд╣реА: рдЪреАрди рдиреЗ рдореИрдХрдореЛрд╣рди рд░реЗрдЦрд╛ рдкрд╛рд░ рдХреА рдФрд░ рднрд╛рд░рддреАрдп рдХреНрд╖реЗрддреНрд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд┐рдпрд╛ред'
}
];
// ---------- GAME STATE ----------
let currentIndex = 0;
let score = 0;
let gameOver = false;
let answered = false;
const eraDisplay = document.getElementById('eraDisplay');
const questionText = document.getElementById('questionText');
const optionsBtns = document.querySelectorAll('.opt-btn');
const scoreDisplay = document.getElementById('scoreDisplay');
const resultMsg = document.getElementById('resultMsg');
const nextBtn = document.getElementById('nextBtn');
const restartBtn = document.getElementById('restartBtn');
// ---------- FUNCTIONS ----------
function loadQuestion(index) {
const q = questions[index];
if (!q) {
// All questions done -> Win
resultMsg.innerHTML = 'ЁЯОЙ рдЖрдкрдиреЗ рд╕рд╛рд░реЗ рд╕рд╡рд╛рд▓ рдЬреАрдд рд▓рд┐рдП! рдЖрдк рднрд╛рд░рдд рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реИрдВред ЁЯЗоЁЯЗ│';
questionText.innerText = 'ЁЯПБ Game Complete!';
document.querySelector('.question-box').style.borderLeft = '5px solid #00ff88';
optionsBtns.forEach(btn => { btn.style.display = 'none'; });
nextBtn.style.display = 'none';
return;
}
eraDisplay.innerText = 'ЁЯФ╕ ' + q.era;
questionText.innerText = q.question;
// Fill options
q.options.forEach((opt, i) => {
optionsBtns[i].innerText = opt;
optionsBtns[i].className = 'opt-btn';
optionsBtns[i].style.display = 'block';
optionsBtns[i].disabled = false;
});
// Reset result message and next button
resultMsg.innerHTML = 'ЁЯЗоЁЯЗ│ Choose the correct war with its reason';
nextBtn.style.display = 'none';
answered = false;
document.querySelector('.question-box').style.borderLeft = '5px solid #ff9933';
}
function handleOptionClick(e) {
if (answered || gameOver) return;
const btn = e.currentTarget;
const selectedIdx = parseInt(btn.dataset.index);
const q = questions[currentIndex];
if (!q) return;
const isCorrect = (selectedIdx === q.correct);
answered = true;
// Disable all buttons
optionsBtns.forEach(b => { b.disabled = true; b.classList.add('disabled'); });
// Show correct/wrong
optionsBtns.forEach((b, i) => {
if (i === q.correct) b.classList.add('correct');
else if (i === selectedIdx && !isCorrect) b.classList.add('wrong');
});
if (isCorrect) {
score += 10;
scoreDisplay.innerText = score;
resultMsg.innerHTML = 'тЬЕ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА! ' + q.reason;
} else {
resultMsg.innerHTML = 'тЭМ рдЧрд▓рдд! рд╕рд╣реА рдЙрддреНрддрд░ рдерд╛: ' + q.options[q.correct] + '<br/>' + q.reason;
}
// Show next button
nextBtn.style.display = 'inline-block';
}
function nextQuestion() {
currentIndex++;
if (currentIndex >= questions.length) {
// Game won
loadQuestion(currentIndex); // calls win condition
return;
}
loadQuestion(currentIndex);
}
function restartGame() {
currentIndex = 0;
score = 0;
gameOver = false;
scoreDisplay.innerText = '0';
resultMsg.innerHTML = 'ЁЯЗоЁЯЗ│ Choose the correct war with its reason';
optionsBtns.forEach(b => { b.style.display = 'block'; b.disabled = false; b.className = 'opt-btn'; });
nextBtn.style.display = 'none';
document.querySelector('.question-box').style.borderLeft = '5px solid #ff9933';
loadQuestion(0);
}
// ---------- EVENT LISTENERS ----------
optionsBtns.forEach(btn => {
btn.addEventListener('click', handleOptionClick);
});
nextBtn.addEventListener('click', nextQuestion);
restartBtn.addEventListener('click', restartGame);
// ---------- START ----------
loadQuestion(0);
</script>
</body>
</html>Game Source: ЁЯЗоЁЯЗ│ Indian History - War Quiz
Creator: AtomicFox99
Libraries: none
Complexity: complex (423 lines, 17.2 KB)
The full source code is displayed above on this page.
Remix Instructions
To remix this game, copy the source code above and modify it. Add a ARCADELAB header at the top with "remix_of: indian-history-war-quiz-atomicfox99" to link back to the original. Then publish at arcadelab.ai/publish.