██████╗ ██████╗ ██████╗ ████████╗███████╗ █████╗ ██████╗ ██████╗ ██████╗
██╔════╝ ██╔═══██╗██╔══██╗╚══██╔══╝██╔════╝██╔══██╗██╔══██╗██╔═══██╗██╔══██╗
╚█████╗ ██║ ██║██████╔╝ ██║ █████╗ ███████║██║ ██║██║ ██║██████╔╝
╚═══██╗ ██║ ██║██╔══██╗ ██║ ██╔══╝ ██╔══██║██║ ██║██║ ██║██╔══██╗
██████╔╝ ╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║██████╔╝╚██████╔╝██║ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝
Sorteie números únicos e aleatórios dentro de um intervalo personalizado
O Sorteador de Números é uma aplicação web front-end que permite sortear uma quantidade definida de números aleatórios sem repetição, dentro de um intervalo configurado pelo próprio usuário.
O projeto foi desenvolvido com foco em praticar lógica de programação, manipulação do DOM e controle de estado de interface — como habilitar e desabilitar botões dinamicamente.
| Funcionalidade | Status |
|---|---|
| Definir quantidade de números a sortear | ✅ |
| Configurar intervalo mínimo e máximo | ✅ |
| Sortear números sem repetição | ✅ |
| Exibir resultado na tela dinamicamente | ✅ |
| Habilitar botão "Reiniciar" após sorteio | ✅ |
| Limpar campos e resultado com um clique | ✅ |
Adicione aqui uma captura de tela ou GIF do projeto em funcionamento.
sorteador-numeros/
├── img/
│ ├── ia.png
│ ├── code.png
│ └── Ruido.png
├── index.html
├── style.css
├── app.js
└── README.md
Nenhuma dependência externa. Apenas um navegador moderno.
1. Clone o repositório:
git clone https://github.com/seu-usuario/sorteador-numeros.git2. Entre na pasta do projeto:
cd sorteador-numeros3. Abra o index.html no navegador:
# Windows
start index.html
# macOS
open index.html
# Linux
xdg-open index.html💡 Você também pode usar a extensão Live Server do VS Code: clique com o botão direito em
index.html→ "Open with Live Server"
| Tecnologia | Uso no projeto |
|---|---|
| HTML5 | Estrutura semântica da página |
| CSS3 | Estilização, gradientes, responsividade e layout |
| JavaScript (ES6+) | Lógica de sorteio e manipulação do DOM |
| Google Fonts | Fontes Chakra Petch e Inter |
- Geração de números aleatórios com
Math.random()eMath.floor() - Verificação de duplicatas com
Array.includes() - Laço
whilepara garantir unicidade dos sorteios - Controle dinâmico de classes CSS com
classList.add/remove - Habilitação e desabilitação de botões via
disabled - Captura e leitura de inputs com
getElementByIdeparseInt - Atualização de conteúdo com
innerHTML
1. Usuário preenche:
├── Quantidade de números a sortear
├── Número mínimo do intervalo (De)
└── Número máximo do intervalo (Até)
2. Ao clicar em "Sortear":
├── Gera números aleatórios dentro do intervalo
├── Garante que não haja repetições
├── Exibe os resultados na tela
└── Habilita o botão "Reiniciar"
3. Ao clicar em "Reiniciar":
├── Limpa todos os campos
├── Reseta o resultado exibido
└── Desabilita o botão "Reiniciar" novamente
- Validar se a quantidade solicitada é possível dentro do intervalo informado
- Impedir campos vazios ou valores negativos antes do sorteio
- Adicionar animação de suspense antes de revelar os números
- Exibir os números sorteados em cards individuais
- Permitir copiar os resultados para a área de transferência
- Melhorar a responsividade para telas pequenas
- Adicionar histórico dos últimos sorteios realizados
Desenvolvido com 💙 por Keslley Reis
https://bit.ly/Keslley-reis https://github.com/KeslleyReis