#dz-taxi-quiz{font-family:Arial,sans-serif;max-width:760px;margin:20px auto;background:#fffaf0;color:#172554;border:3px solid #f4c542;border-radius:20px;overflow:hidden;box-shadow:0 5px 18px #0001}
#dz-taxi-quiz *{box-sizing:border-box}
#dz-taxi-quiz .head{background:#102d63;color:white;text-align:center;padding:24px 15px}
#dz-taxi-quiz .head h2{color:white;margin:8px 0;font-size:29px}
#dz-taxi-quiz .head p{margin:6px}
#dz-taxi-quiz .body{padding:22px}
#dz-taxi-quiz .meta{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:bold}
#dz-taxi-quiz .progress{height:10px;background:#e5e7eb;border-radius:20px;overflow:hidden;margin:14px 0 22px}
#dz-taxi-quiz .bar{height:100%;width:0;background:#eab308;transition:width .3s}
#dz-taxi-quiz .hint{font-size:15px;color:#475569;margin:12px 0}
#dz-taxi-quiz .question{font-size:23px;line-height:1.45;margin:18px 0;color:#102d63;font-weight:bold}
#dz-taxi-quiz .option{display:block;width:100%;text-align:left;background:white;border:2px solid #dbe3ef;border-radius:12px;padding:14px;margin:10px 0;cursor:pointer;color:#172554;font-size:16px;line-height:1.5}
#dz-taxi-quiz .option:hover{background:#eff6ff;border-color:#2563eb}
#dz-taxi-quiz .option:disabled{cursor:default}
#dz-taxi-quiz .correct{background:#dcfce7!important;border-color:#16a34a!important}
#dz-taxi-quiz .wrong{background:#fee2e2!important;border-color:#dc2626!important}
#dz-taxi-quiz .feedback{display:none;padding:15px;border-radius:12px;margin-top:16px;line-height:1.65}
#dz-taxi-quiz .feedback.show{display:block}
#dz-taxi-quiz .actions{margin-top:20px}
#dz-taxi-quiz .btn{background:#102d63;color:white;border:0;padding:13px 20px;border-radius:10px;font-size:16px;font-weight:bold;cursor:pointer}
#dz-taxi-quiz .btn:hover{background:#1d4ed8}
#dz-taxi-quiz .btn:disabled{opacity:.5;cursor:default}
#dz-taxi-quiz .result{display:none;text-align:center;padding:20px 5px}
#dz-taxi-quiz .result h3{font-size:28px;color:#102d63}
#dz-taxi-quiz .score{font-size:44px;font-weight:bold;color:#15803d}
#dz-taxi-quiz .footer{text-align:center;padding:15px;background:#fef3c7;color:#102d63;font-weight:bold}
@media(max-width:480px){#dz-taxi-quiz .body{padding:15px}#dz-taxi-quiz .question{font-size:20px}}
🚕 🧳 🗺️
Im Taxi – În taxi
Învață germana prin dialoguri practice!
🇩🇪 Deutsch · 🇷🇴 Română
Întrebarea 1 din 20
Puncte: 0
Alege traducerea corectă în română.
🏆
Quiz terminat!
Ai exersat 20 de cuvinte și expresii utile pentru o călătorie cu taxiul.
0/20
Deutschzentrum · Deutsch lernen macht Spaß! 🇩🇪
(function(){
const root=document.getElementById('dz-taxi-quiz');
if(!root||root.dataset.started==='yes')return;
root.dataset.started='yes';
const data=[
{q:'1. Was bedeutet „das Taxi“?',h:'Vocabular – mijloc de transport',a:['Trenul','Taxiul','Autobuzul'],c:1,de:'das Taxi',ro:'taxiul'},
{q:'2. Was bedeutet „der Taxifahrer“?',h:'Vocabular – persoana care conduce taxiul',a:['Șoferul de taxi','Pasagerul','Polițistul'],c:0,de:'der Taxifahrer',ro:'șoferul de taxi'},
{q:'3. Was bedeutet „der Fahrgast“?',h:'Vocabular – persoana transportată',a:['Șoferul','Mecanicul','Pasagerul'],c:2,de:'der Fahrgast',ro:'pasagerul'},
{q:'4. „Zum Bahnhof, bitte!“',h:'Dialog – Unde dorește să ajungă pasagerul?',a:['La aeroport, vă rog!','La gară, vă rog!','La hotel, vă rog!'],c:1,de:'Zum Bahnhof, bitte!',ro:'La gară, vă rog!'},
{q:'5. „Wohin möchten Sie fahren?“',h:'Dialog – Întrebarea șoferului',a:['Unde doriți să mergeți?','Cât timp așteptați?','Ce doriți să mâncați?'],c:0,de:'Wohin möchten Sie fahren?',ro:'Unde doriți să mergeți?'},
{q:'6. „Wie viel kostet die Fahrt?“',h:'Dialog – Pasagerul întreabă despre preț',a:['Unde este taxiul?','Cât durează călătoria?','Cât costă cursa?'],c:2,de:'Wie viel kostet die Fahrt?',ro:'Cât costă cursa?'},
{q:'7. „Bitte fahren Sie geradeaus.“',h:'Dialog – O indicație de drum',a:['Vă rog să opriți aici.','Vă rog să mergeți drept înainte.','Vă rog să virați la stânga.'],c:1,de:'Bitte fahren Sie geradeaus.',ro:'Vă rog să mergeți drept înainte.'},
{q:'8. „Biegen Sie links ab.“',h:'Dialog – Direcție',a:['Virați la stânga.','Virați la dreapta.','Mergeți înainte.'],c:0,de:'Biegen Sie links ab.',ro:'Virați la stânga.'},
{q:'9. „Biegen Sie rechts ab.“',h:'Dialog – Direcție',a:['Opriți la semafor.','Mergeți înapoi.','Virați la dreapta.'],c:2,de:'Biegen Sie rechts ab.',ro:'Virați la dreapta.'},
{q:'10. „Bitte halten Sie hier an.“',h:'Dialog – Pasagerul cere oprirea',a:['Vă rog să accelerați.','Vă rog să opriți aici.','Vă rog să mergeți mai departe.'],c:1,de:'Bitte halten Sie hier an.',ro:'Vă rog să opriți aici.'},
{q:'11. „Wie lange dauert die Fahrt?“',h:'Dialog – Pasagerul întreabă despre timp',a:['Cât durează călătoria?','Cât costă hotelul?','Unde este gara?'],c:0,de:'Wie lange dauert die Fahrt?',ro:'Cât durează călătoria?'},
{q:'12. „Es dauert ungefähr zehn Minuten.“',h:'Dialog – Șoferul răspunde',a:['Costă zece euro.','Sunt zece kilometri.','Durează aproximativ zece minute.'],c:2,de:'Es dauert ungefähr zehn Minuten.',ro:'Durează aproximativ zece minute.'},
{q:'13. „Ist der Flughafen weit entfernt?“',h:'Dialog – O întrebare despre distanță',a:['Este hotelul deschis?','Este aeroportul departe?','Este taxiul liber?'],c:1,de:'Ist der Flughafen weit entfernt?',ro:'Este aeroportul departe?'},
{q:'14. „Bitte nehmen Sie die schnellste Route.“',h:'Dialog – Pasagerul cere un traseu',a:['Vă rog să alegeți cel mai rapid traseu.','Vă rog să conduceți mai încet.','Vă rog să așteptați aici.'],c:0,de:'Bitte nehmen Sie die schnellste Route.',ro:'Vă rog să alegeți cel mai rapid traseu.'},
{q:'15. „Gibt es viel Verkehr?“',h:'Dialog – Întrebare despre trafic',a:['Este aproape restaurantul?','Este vremea frumoasă?','Este mult trafic?'],c:2,de:'Gibt es viel Verkehr?',ro:'Este mult trafic?'},
{q:'16. „Können Sie mir bitte helfen?“',h:'Dialog – Pasagerul cere ajutor',a:['Puteți să-mi aduceți apă?','Puteți să mă ajutați, vă rog?','Puteți să-mi dați nota?'],c:1,de:'Können Sie mir bitte helfen?',ro:'Puteți să mă ajutați, vă rog?'},
{q:'17. „Hier ist Ihr Koffer.“',h:'Dialog – Șoferul îi dă bagajul pasagerului',a:['Iată valiza dumneavoastră.','Iată biletul dumneavoastră.','Iată camera dumneavoastră.'],c:0,de:'Hier ist Ihr Koffer.',ro:'Iată valiza dumneavoastră.'},
{q:'18. „Kann ich mit Karte bezahlen?“',h:'Dialog – Pasagerul întreabă despre plată',a:['Pot rezerva o cameră?','Pot plăti mâine?','Pot plăti cu cardul?'],c:2,de:'Kann ich mit Karte bezahlen?',ro:'Pot plăti cu cardul?'},
{q:'19. „Hier ist das Wechselgeld.“',h:'Dialog – Șoferul returnează restul',a:['Iată pașaportul.','Iată restul.','Iată adresa.'],c:1,de:'Hier ist das Wechselgeld.',ro:'Iată restul.'},
{q:'20. „Vielen Dank und gute Fahrt!“',h:'Dialog – O formulă politicoasă de rămas-bun',a:['Mulțumesc mult și drum bun!','Poftă bună și la revedere!','Bună seara și noapte bună!'],c:0,de:'Vielen Dank und gute Fahrt!',ro:'Mulțumesc mult și drum bun!'}
];
let index=0,score=0,answered=false;
const $=id=>root.querySelector('#'+id);
const count=$('taxi-count'),points=$('taxi-points'),bar=$('taxi-bar');
const hint=$('taxi-hint'),question=$('taxi-question'),options=$('taxi-options');
const feedback=$('taxi-feedback'),next=$('taxi-next');
const game=$('taxi-game'),result=$('taxi-result');
function render(){
answered=false;
const item=data[index];
count.textContent='Întrebarea '+(index+1)+' din 20';
points.textContent='Puncte: '+score;
bar.style.width=(index/20*100)+'%';
hint.textContent=item.h;
question.textContent=item.q;
options.innerHTML='';
feedback.className='feedback';
feedback.replaceChildren();
next.disabled=true;
next.textContent=index===19?'Vezi rezultatul →':'Următoarea →';
item.a.forEach((answer,i)=>{
const btn=document.createElement('button');
btn.type='button';
btn.className='option';
btn.textContent=String.fromCharCode(65+i)+'. '+answer;
btn.addEventListener('click',()=>choose(i));
options.appendChild(btn);
});
}
function choose(choice){
if(answered)return;
answered=true;
const item=data[index];
const buttons=options.querySelectorAll('button');
buttons.forEach((btn,i)=>{
btn.disabled=true;
if(i===item.c)btn.classList.add('correct');
if(i===choice&&choice!==item.c)btn.classList.add('wrong');
});
feedback.style.background=choice===item.c?'#dcfce7':'#fee2e2';
feedback.style.color=choice===item.c?'#166534':'#991b1b';
const title=document.createElement('strong');
title.textContent=choice===item.c?'✓ Richtig! Corect!':'✗ Nicht ganz! Nu chiar!';
feedback.appendChild(title);
feedback.appendChild(document.createElement('br'));
feedback.appendChild(document.createTextNode(
choice===item.c?'Foarte bine! Ai ales răspunsul corect.':
'Răspuns corect: '+String.fromCharCode(65+item.c)+'. '+item.a[item.c]
));
const translation=document.createElement('p');
const de=document.createElement('strong');
de.textContent='Germană: ';
translation.appendChild(de);
translation.appendChild(document.createTextNode(item.de));
translation.appendChild(document.createElement('br'));
const ro=document.createElement('strong');
ro.textContent='Română: ';
translation.appendChild(ro);
translation.appendChild(document.createTextNode(item.ro));
feedback.appendChild(translation);
if(choice===item.c)score++;
points.textContent='Puncte: '+score;
feedback.classList.add('show');
next.disabled=false;
}
function finish(){
game.style.display='none';
result.style.display='block';
count.textContent='Quiz finalizat!';
points.textContent='Puncte: '+score;
bar.style.width='100%';
$('taxi-final-score').textContent=score+'/20';
$('taxi-percent').textContent='Rezultat: '+(score*5)+'%';
$('taxi-message').textContent=
score===20?'Fantastisch! Ai răspuns corect la toate întrebările! 🥇':
score>=15?'Sehr gut! Te descurci foarte bine! 🌟':
score>=10?'Gut gemacht! Mai exersează și vei progresa! 👏':
'Weiter üben! Continuă să exersezi germana! 📚';
}
next.addEventListener('click',()=>{
if(!answered)return;
if(index{
index=0;score=0;
game.style.display='block';
result.style.display='none';
render();
});
render();
})();