Arte 365Scores
A Copa do Mundo está se aproximando, e se tem uma coisa que mobiliza o país inteiro é a lista de convocados da seleção brasileira. Sempre tem um jogador que ficou fora e você queria, ou aquele nome que ninguém entende como foi parar lá.
Mas e se a prancheta estivesse na sua mão? O 365Scores lançou o Simulador de Convocação do Brasil. Uma ferramenta interativa onde você assume o papel de Carlo Ancelotti e define quem são os 26 craques que merecem vestir a Amarelinha na Copa do Mundo.
Como funciona o Simulador da Convocação?
Para tornar a brincadeira realista, o simulador exige que você tenha equilíbrio na montagem do elenco, respeitando limites mínimos e máximos por posição.
Goleiros: Mínimo de 2, máximo de 3.
Defensores: Mínimo de 6, máximo de 9.
Meio-campistas: Mínimo de 5, máximo de 7.
Atacantes: Mínimo de 6, máximo de 9.
Ao longo da escolha, uma barra de progresso no topo da tela lhe ajuda a controlar as vagas restantes. Se a lista ficar desequilibrada, o assistente virtual do simulador avisa o que está faltando.
Após escolher seus jogadores, clique em “Confirmar Convocação”. O simulador coloca os jogadores escolhidos distribuídos em um campo de futebol virtual.
Progresso da Seleção
0 / 26
Requisitos
CONFIRMAR CONVOCAÇÃO
Brasil – Copa do Mundo 2026
Compartilhe sua Seleção
Compartilhar
Copiar
X (Twitter)
Reiniciar
Ótimas escolhas!
Sua lista oficial de 26 jogadores está confirmada. Vamos, Brasil!
VER NO CAMPO
`;
}
function showFinalSquad() {
document.getElementById(‘selection-view’).classList.add(‘hidden’);
document.getElementById(‘app-header’).classList.add(‘hidden’);
document.getElementById(‘coach-overlay’).classList.add(‘hidden’);
document.getElementById(‘coach-overlay’).classList.remove(‘flex’);
document.getElementById(‘final-view’).classList.remove(‘hidden’);
if (window.parent) {
window.parent.postMessage({ type: ‘sim-scroll-top’ }, ‘*’);
}
const players = parseCSV(playersData);
const selected = Array.from(state.selectedPlayers).map(id => players.find(p => p.id === id));
document.getElementById(‘pitch-goalkeepers’).innerHTML = selected.filter(p => p.position === ‘GOLEIRO’).map(renderPitchPlayer).join(”);
document.getElementById(‘pitch-defenders’).innerHTML = selected.filter(p => p.position === ‘DEFENSOR’).map(renderPitchPlayer).join(”);
document.getElementById(‘pitch-midfielders’).innerHTML = selected.filter(p => p.position === ‘MEIO-CAMPISTA’).map(renderPitchPlayer).join(”);
document.getElementById(‘pitch-attackers’).innerHTML = selected.filter(p => p.position === ‘ATACANTE’).map(renderPitchPlayer).join(”);
// Avisa o Iframe para ENCOLHER, removendo o espaço preto gigante!
if (typeof window.reportHeight === ‘function’) setTimeout(window.reportHeight, 100);
}
// Função inteligente de Reiniciar sem tela preta
window.resetApp = function() {
state.selectedPlayers.clear();
document.querySelectorAll(‘.player-card’).forEach(el => el.classList.remove(‘selected’));
document.getElementById(‘final-view’).classList.add(‘hidden’);
document.getElementById(‘selection-view’).classList.remove(‘hidden’);
document.getElementById(‘app-header’).classList.remove(‘hidden’);
if (window.parent) window.parent.postMessage({ type: ‘sim-scroll-top’ }, ‘*’);
updateUI();
if (typeof window.reportHeight === ‘function’) setTimeout(window.reportHeight, 100);
};
function getSquadText() {
const players = parseCSV(playersData);
let text = “🇧🇷 MINHA CONVOCAÇÃO BRASIL 2026 🇧🇷\n\n”;
const positions = [‘GOLEIRO’, ‘DEFENSOR’, ‘MEIO-CAMPISTA’, ‘ATACANTE’];
positions.forEach(pos => {
text += `${POS_PLURAL[pos].toUpperCase()}:\n`;
Array.from(state.selectedPlayers).forEach(id => {
const p = players.find(x => x.id === id);
if(p && p.position === pos) text += `• ${p.name}\n`;
});
text += “\n”;
});
text += “CRIADO NO SIMULADOR DE CONVOCAÇÃO DO 365SCORES”;
return text;
}
async function handleNativeShare() {
const text = getSquadText();
if (navigator.share) {
try { await navigator.share({ title: ‘Minha Convocação Brasil’, text: text, url: window.location.href }); } catch (err) {}
} else {
handleClipboardCopy();
}
}
function handleClipboardCopy() {
const text = getSquadText();
const textArea = document.createElement(“textarea”);
textArea.value = text;
document.body.appendChild(textArea);
textArea.select();
document.execCommand(‘copy’);
document.body.removeChild(textArea);
showAlert(“Lista copiada para a área de transferência!”);
}
function handleTwitterShare() {
const text = encodeURIComponent(“Confira minha convocação oficial da seleção brasileira! 🇧🇷⚽️\n\n#365Scores #Brasil #WorldCup”);
const url = `https://twitter.com/intent/tweet?text=${text}&url=${encodeURIComponent(window.location.href)}`;
window.open(url, ‘_blank’);
}
function init() {
const players = parseCSV(playersData);
const container = document.getElementById(‘player-lists’);
if(!container) return;
const positions = [‘GOLEIRO’, ‘DEFENSOR’, ‘MEIO-CAMPISTA’, ‘ATACANTE’];
positions.forEach(pos => {
const filtered = players.filter(p => p.position === pos);
const section = document.createElement(‘div’);
section.innerHTML = `
${POS_PLURAL[pos].toUpperCase()} MIN ${state.limits[pos].min} / MÁX ${state.limits[pos].max}
${filtered.map(p => `
${p.name}
${p.team}
`).join(”)}
`;
container.appendChild(section);
});
document.getElementById(‘finalize-btn’).addEventListener(‘click’, () => {
document.getElementById(‘coach-overlay’).classList.remove(‘hidden’);
document.getElementById(‘coach-overlay’).classList.add(‘flex’);
if (typeof window.reportHeight === ‘function’) setTimeout(window.reportHeight, 50);
});
document.getElementById(‘view-squad-btn’).addEventListener(‘click’, showFinalSquad);
document.getElementById(‘share-native-btn’).addEventListener(‘click’, handleNativeShare);
document.getElementById(‘copy-clipboard-btn’).addEventListener(‘click’, handleClipboardCopy);
document.getElementById(‘share-twitter-btn’).addEventListener(‘click’, handleTwitterShare);
updateUI();
}
window.addEventListener(‘load’, init);
// O SEGREDO ESTÁ AQUI: Medir exatamente a altura do #main-wrapper
let lastHeight = 0;
window.reportHeight = function() {
if (window.parent) {
const wrapper = document.getElementById(‘main-wrapper’);
if(wrapper) {
const currentHeight = wrapper.offsetHeight;
if (Math.abs(currentHeight – lastHeight) > 15) {
lastHeight = currentHeight;
window.parent.postMessage({
type: ‘sim-resize’,
height: currentHeight
}, ‘*’);
}
}
}
}
window.addEventListener(‘load’, () => setTimeout(window.reportHeight, 300));
window.addEventListener(‘resize’, () => setTimeout(window.reportHeight, 100));
Depois, basta usar os botões de compartilhamento para jogar a sua lista direto no X (antigo Twitter) ou copiar para mandar no grupo de WhatsApp dos amigos e ver quem montou a melhor equipe.
Acesse o simulador e mostre como se monta um time campeão!
➡️ Era Ancelotti: Todos os jogos da Seleção com o técnico italiano➡️ Arquivo completo: Todos os jogos do Brasil na história da Copa do Mundo


