Será que a sua memória de Liga dos Campeões está em dia? No jogo Complete a Escalação, colocamos o seu conhecimento à prova com as formações táticas que marcaram o futebol europeu recente.
Como funciona o jogo Complete a Escalação?
7 Rodadas Históricas: A cada etapa, você verá o campo de uma final marcante da Champions League (de 2010 até hoje) com 3 jogadores misteriosos.
Acerte os Titulares: Digite o nome correto do atleta para completar o time.
Pontuação Máxima: Acertar de primeira garante 5 pontos por jogador.
Precisa de Ajuda? Use o botão de Dica para revelar dados sobre a carreira do atleta (isso reduz o valor da pontuação) ou clique em Desistir para avançar para o próximo desafio.
Time – Ano
Pts: 0
‘;
currentTeamData.players.forEach(function(player) {
var playerDiv = document.createElement(‘div’);
var stateClass=””;
if (player.hidden) stateClass=”hidden”;
else if (player.failed) stateClass=”failed”;
else if (player.revealed) stateClass=”revealed”;
playerDiv.className = “player ” + stateClass;
playerDiv.style.left = player.x + “%”;
playerDiv.style.top = player.y + “%”;
var dot = document.createElement(‘div’);
dot.className=”player-dot”;
dot.textContent = player.hidden ? ‘?’ : player.pos;
var name = document.createElement(‘div’);
name.className=”player-name”;
var displayName = player.name;
if (player.name === ‘Alexander-Arnold’) displayName=”T. Arnold”;
name.textContent = player.hidden ? ‘Oculto’ : displayName;
playerDiv.appendChild(dot);
playerDiv.appendChild(name);
pitchEl.appendChild(playerDiv);
});
}
function removeAccents(str) {
return str.normalize(“NFD”).replace(/[\u0300-\u036f]/g, “”).toLowerCase().trim();
}
function endFase(msg, cssClass) {
gameActive = false;
statusEl.textContent = msg;
statusEl.className = “status ” + cssClass;
inputEl.disabled = true;
guessBtn.disabled = true;
hintBtn.disabled = true;
giveUpBtn.disabled = true;
hintBoxEl.style.display = ‘none’;
nextBtn.style.display = ‘block’;
}
function endFullGame() {
gameActive = false;
statusEl.innerHTML = “🏁 FIM DE JOGO! 🏁
Você terminou com ” + totalScore + ” pontos!”;
statusEl.className=”status success”;
inputEl.style.display = ‘none’;
actionBtnsEl.style.display = ‘none’;
nextBtn.style.display = ‘none’;
hintBoxEl.style.display = ‘none’;
pitchEl.style.opacity = ‘0.7’;
endGameControlsEl.style.display = ‘flex’;
}
function checkGuess() {
if (!gameActive) return;
var guess = removeAccents(inputEl.value);
if (!guess) return;
var found = false;
var alreadyRevealed = false;
currentTeamData.players.forEach(function(player) {
if (player.hidden || player.revealed) {
if (player.alias.some(function(a) { return a === guess; })) {
if (player.revealed) {
alreadyRevealed = true;
} else {
player.hidden = false;
player.revealed = true;
found = true;
hiddenCount–;
totalScore += pointsMap[player.id];
scoreValueEl.textContent = totalScore;
}
}
}
});
if (found) {
statusEl.textContent = “Boa! Faltam apenas ” + hiddenCount + ” nesta fase.”;
statusEl.className=”status success”;
inputEl.value=””;
inputEl.focus();
renderPitch();
if (hiddenCount === 0) {
endFase(“🏆 Fase concluída! Siga para a próxima.”, ‘success’);
}
} else if (alreadyRevealed) {
statusEl.textContent = “Você já descobriu esse jogador!”;
statusEl.className=”status hint”;
} else {
statusEl.textContent = “Nome incorreto. Tente novamente!”;
statusEl.className=”status error”;
inputEl.value=””;
}
}
function askHint() {
if (!gameActive) return;
var availableHidden = currentTeamData.players.filter(function(p) {
return p.hidden && p.hintIndex !== p.hints.length;
});
if (availableHidden.length === 0) {
statusEl.textContent = “Você já usou todas as dicas possíveis!”;
statusEl.className=”status error”;
return;
}
var randomHidden = availableHidden[Math.floor(Math.random() * availableHidden.length)];
var currentHint = randomHidden.hints[randomHidden.hintIndex];
randomHidden.hintIndex++;
if (pointsMap[randomHidden.id] !== 1) {
pointsMap[randomHidden.id] -= 1;
}
hintBoxEl.style.display = ‘block’;
hintBoxEl.innerHTML = “Dica (Vale ” + pointsMap[randomHidden.id] + ” pts):
” + currentHint;
statusEl.textContent = “Nova dica revelada!”;
statusEl.className=”status hint”;
}
function giveUp() {
if (!gameActive) return;
currentTeamData.players.forEach(function(player) {
if (player.hidden) {
player.hidden = false;
player.failed = true;
pointsMap[player.id] = 0;
}
});
hiddenCount = 0;
renderPitch();
endFase(“Você pulou os jogadores que faltavam.”, ‘error’);
}
guessBtn.addEventListener(‘click’, checkGuess);
hintBtn.addEventListener(‘click’, askHint);
giveUpBtn.addEventListener(‘click’, giveUp);
nextBtn.addEventListener(‘click’, function() {
currentFaseIndex++;
initFase();
});
inputEl.addEventListener(‘keypress’, function(e) {
if (e.key === ‘Enter’) checkGuess();
});
replayBtn.addEventListener(‘click’, startGame);
shareWaBtn.addEventListener(‘click’, function() {
var gameUrl = window.location.href;
var text = “Fiz ” + totalScore + ” pontos no desafio Escalação Oculta do 365Scores! Consegue bater meu recorde? Jogue aqui: ” + gameUrl;
window.open(“https://api.whatsapp.com/send?text=” + encodeURIComponent(text), ‘_blank’);
});
shareTgBtn.addEventListener(‘click’, function() {
var gameUrl = window.location.href;
var text = “Fiz ” + totalScore + ” pontos no desafio Escalação Oculta do 365Scores! Consegue bater meu recorde?”;
window.open(“https://t.me/share/url?url=” + encodeURIComponent(gameUrl) + “&text=” + encodeURIComponent(text), ‘_blank’);
});
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, startGame);
} else {
startGame();
}
})();
No fim, veja quantos pontos somou, desafie seus amigos e jogue novamente para encarar formações inéditas!
➡️ Crie a sua carreira no futebol: o jogo interativo do 365Scores
➡️ O técnico é você: construa sua carreira no futebol no jogo interativo