Files
portifolio-evandrodevbr/app/jogo/bancada/page.tsx
T
evandro 67b32fcab3
CI / audit (push) Successful in 10m48s
CI / verify (push) Successful in 19m2s
CI / deploy (push) Successful in 2m14s
CI / e2e (push) Failing after 36m15s
feat(jogo): expediente dos mortos, jogo de zumbis em primeira pessoa
Etapa 1 inteira (logica com 100% de cobertura, cena 3D, toque, sons, bancada de desempenho, e2e) e a base da etapa 2 (mapa novo no Tiled, texturas, imagens dos itens, sons conferidos, golpe recortado e medido). Pagina /jogo fora do menu e do sitemap ate a medicao no celular.
2026-11-10 19:37:10 -03:00

35 lines
832 B
TypeScript

import type { Metadata } from "next";
import Bancada from "../Bancada";
export const metadata: Metadata = {
title: "Bancada do jogo",
robots: { index: false, follow: false },
};
/** Inteiro da busca, dentro de `[min, max]`; ausente ou inválido vira `padrao`. */
function inteiro(
valor: string | string[] | undefined,
padrao: number,
min: number,
max: number,
) {
const numero = Number.parseInt(String(valor), 10);
return Number.isFinite(numero)
? Math.min(max, Math.max(min, numero))
: padrao;
}
export default async function BancadaPage({
searchParams,
}: {
searchParams: Promise<Record<string, string | string[] | undefined>>;
}) {
const busca = await searchParams;
return (
<Bancada
zumbis={inteiro(busca.zumbis, 16, 1, 64)}
seg={inteiro(busca.seg, 20, 2, 120)}
/>
);
}