~/testes/xadrez
Jogo de xadrez 3D em um unico HTML
Tabuleiro 8x8 e as 32 pecas renderizadas em WebGL com Three.js, num arquivo unico com CSS e JavaScript inline. O enunciado pede o motor de regras inteiro — movimentos legais, roque, en passant, promocao, xeque, xeque-mate e afogamento — mais camera orbital e painel com turno, historico e capturas. Three.js vem do CDN por importmap inline, entao o artefato roda no iframe de origem opaca do viewer sem reduzir o sandbox.
Crie um jogo de xadrez 3D jogavel em um unico arquivo HTML.
Requisitos funcionais:
- Tabuleiro 8x8 e as 32 pecas renderizadas em 3D com Three.js
- Regras completas: movimentos legais de cada peca, roque, en passant, promocao de peao, xeque, xeque-mate e empate por afogamento
- Dois jogadores no mesmo dispositivo: clicar na peca destaca as casas legais, clicar na casa de destino executa o lance
- Camera orbital com o mouse (arrastar para girar, scroll para zoom)
- Painel com o turno atual, historico de lances e pecas capturadas
Restricoes tecnicas (obrigatorias):
- UM unico arquivo index.html. Todo o CSS e todo o JavaScript inline. Nao crie nenhum outro arquivo
- Three.js vem do CDN, declarado num <script type="importmap"> inline e consumido por um <script type="module"> tambem inline:
<script type="importmap">
{"imports":{
"three":"https://cdn.jsdelivr.net/npm/three@0.180.0/build/three.module.js",
"three/addons/":"https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/"
}}
</script>
<script type="module">
import * as THREE from 'three';
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
</script>
Atencao: importar https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/controls/OrbitControls.js pela URL direta NAO funciona — esse arquivo faz `import ... from 'three'`, e o especificador bare so resolve pelo importmap
- NAO use <script type="module" src="..."> apontando para arquivo local
- NAO use localStorage nem sessionStorage — eles lancam SecurityError no ambiente onde a pagina roda
- A pagina roda dentro de um iframe sandbox de origem opaca: sem cookies, sem acesso a janela pai
- Deve caber e ficar legivel em 1440x900metadados lado a lado
Os numeros descrevem o que cada execucao gerou. Nao sao pontuacao nem classificacao.
| modelo | harness | autor | arquivos | linhas | duracao | nota do autor |
|---|---|---|---|---|---|---|
| Claude Haiku 4.5 | Claude Code Web | Leonardo | 1 | 956 | ~2min | |
| Claude Opus 5 | Claude Code Web | Leonardo | 1 | 1.108 | ~27min | |
| Claude Sonnet 5 | Claude Code Web | Leonardo | 1 | 1.144 | ~11min |