# Arraya

> Arraya (arraya.com.br) é uma plataforma gamificada de ensino de programação. Os jogadores
> resolvem puzzles em um tabuleiro 8x8 que ensinam condicionais, laços, listas, funções,
> recursão, tuplas e dicionários e orientação a objetos, em Python, C++, Java e JavaScript.
> Nasceu na disciplina de Introdução à Programação do Centro de Informática da UFPE com o nome
> **CIntroduza**.
>
> Arraya is a gamified platform for learning to program. Players solve 8x8 grid puzzles in
> Python, C++, Java and JavaScript. The interface is available in Brazilian Portuguese (default)
> and English.

Grafias indexadas para busca: Arraya, arraia, Arraya CIn, arraya.com.br.

## O que dá para fazer

- **Três modos de jogo.** *Seguir* (`steps`): executar o código mentalmente, passo a passo.
  *Escrever* (`write`): escrever o código que o backend executa. *Desafios* (`code`): problemas
  de entrada e saída rodados no navegador com Pyodide, só em Python.
- **Sete mundos oficiais** de conceitos, mais o mundo `community` de fases criadas por usuários.
- **Quatro linguagens.** O mesmo puzzle pode ser resolvido em Python, C++, Java ou JavaScript.
- **Pontuação.** Fase `easy` vale 5 pontos, `normal` 10, `hard` 15 e `challenge` 20. O ranking
  global é por pontos, com empate desfeito por quem chegou primeiro.
- **Organizações educacionais.** Turmas, listas de exercícios com prazos, emblemas, mural,
  materiais e feedback linha a linha entre aluno e monitor.
- **Array**, um assistente de IA que responde dúvidas de lógica e comenta as tentativas.

## Páginas

- [Início](https://arraya.com.br/pt-br/): o que é a plataforma e por onde começar
- [Explorar](https://arraya.com.br/pt-br/explorar): busca de fases e desafios publicados
- [Ranking](https://arraya.com.br/pt-br/ranking): classificação global por pontos
- [Tutoriais](https://arraya.com.br/pt-br/tutorial): como jogar cada modo
- [Organizações](https://arraya.com.br/pt-br/organizacoes): uso por escolas e turmas
- [Contato](https://arraya.com.br/pt-br/contato)
- [Termos de uso](https://arraya.com.br/pt-br/termos)
- [Versão em inglês](https://arraya.com.br/en/)

## Para agentes

- [API pública](https://arraya.com.br/docs/api.md): endpoints de leitura, sem credencial
- [OpenAPI 3.1](https://arraya.com.br/openapi.json): descrição legível por máquina da API
- [Catálogo de APIs](https://arraya.com.br/.well-known/api-catalog): RFC 9727, em linkset+json
- [Autenticação](https://arraya.com.br/auth.md): o que é aberto, o que exige login, e por que
  não existem chaves de API
- [Skills](https://arraya.com.br/.well-known/agent-skills/index.json): índice das skills publicadas
- [Status](https://arraya.com.br/api/health): disponibilidade da API e do banco

Páginas do site também respondem em markdown: envie `Accept: text/markdown` para receber
`Content-Type: text/markdown` em vez do HTML.

O site expõe ferramentas WebMCP (`navigator.modelContext`) quando carregado em um navegador
agêntico: busca de fases, busca de desafios, ranking, perfil público, fase e desafio do dia.

## Uso do conteúdo

Declarado em [/robots.txt](https://arraya.com.br/robots.txt) via Content Signals:
`search=yes, ai-input=yes, ai-train=no`. Indexar e citar com link, tudo bem. Usar como contexto
de uma resposta gerada, tudo bem. Treinar modelo generativo com este conteúdo, não.

Fases e desafios são escritos por estudantes e professores. Ao citar um, atribua ao
`creator_username` que a API devolve.
