A multiplayer word game with real-time gameplay via WebSocket
Project description
🏗️ Word Tower# 🏗️ Word Tower# 🏗️ Word Tower
**Jogo de palavras multijogador em tempo real com sistema de eliminação por timeout****Jogo de palavras multijogador em tempo real com sistema de eliminação por timeout****Jogo de palavras multijogador em tempo real com sistema de eliminação por timeout**
🚀 Instalação e Uso---Projeto desenvolvido para a disciplina de Programação I (Ciência da Computação - UFCG, Campina Grande)
Pré-requisitos: Python 3.8+## 🚀 Instalação e Uso---
# Instalar
pip install word-tower-game- **Python 3.8+** ([Download](https://www.python.org/downloads/))### 📋 Pré-requisitos
# Executar### ⚡ Instalação- **Python 3.8+** ([Download](https://www.python.org/downloads/))
word-tower
``````````bash### ⚡ Instalação em um comando
🎉 **Pronto!** O jogo abre automaticamente no navegador em `http://localhost:8000`pip install word-tower-game
---``````bash
## 🎮 Como Jogarpip install word-tower-game
### 🎯 Objetivo### ▶️ Executar```
Formar uma "torre de palavras" onde cada palavra deve começar com a **última letra** da palavra anterior.
### ⚡ Gameplay
1. **Crie ou entre** em uma sala (2-8 jogadores)```bash### ▶️ Executar
2. **30 segundos** por turno (configurável: 10-120s)
3. **Eliminação automática** quando tempo esgotaword-tower
4. **Último jogador ativo** vence
``````bash
### 🎲 Dificuldades
word-tower
| Nível | Dicionário | Próxima Letra | Desafio |
|-------|------------|---------------|---------|🎉 **Pronto!** O jogo abrirá automaticamente no seu navegador em `http://localhost:8000````
| **Fácil** | Sem acentos | Última letra | ⭐ |
| **Normal** | Com acentos | Última letra | ⭐⭐ |
| **Caótico** | Com acentos | Aleatória | ⭐⭐⭐ |
---🎉 **Pronto!** O jogo abrirá automaticamente no seu navegador em `http://localhost:8000`
---
## 💻 Tecnologias
## 🎮 Como Jogar---
- **Backend:** Python + FastAPI + Socket.IO
- **Frontend:** Vue 3 + TypeScript (pré-compilado)
- **Real-time:** WebSocket para comunicação instantânea
- **Multiplayer:** Até 8 jogadores por sala### 🚪 Entrando no Jogo## 🛠️ Instalação para Desenvolvimento
---
## 🎓 Sobre1. **Crie uma sala** ou **entre em uma existente** usando o código### 📋 Pré-requisitos para Desenvolvimento
Projeto acadêmico desenvolvido para **Programação I** - Ciência da Computação, UFCG.2. **Aguarde outros jogadores** (mínimo 2 para iniciar)
**Word Tower** © 2025 - Licença MIT3. **Host inicia o jogo** quando todos estiverem prontos- **Python 3.8+** ([Download](https://www.python.org/downloads/))
- **Node.js 20+** ([Download](https://nodejs.org/))
### 🎯 Objetivo
### 🔧 Setup de Desenvolvimento
Formar uma "torre de palavras" onde cada palavra deve começar com a **última letra** da palavra anterior.
```bash
### ⏰ Sistema de Tempo# 1. Clone o projeto
git clone https://github.com/KJSS3012/word-tower.git
- **30 segundos** por turno (configurável)cd word-tower
- **Timer visual** mostra tempo restante
- **Eliminação automática** quando tempo esgota# 2. Instalar dependências Python
pip install -r requirements.txt
### 🏆 Vitória
# 3. Instalar dependências Node.js
- **Último jogador ativo** vence a rodadacd front
- **Jogo reinicia** automaticamente para nova partidanpm install
---# 4. Build do frontend
npm run build
## 📝 Regras do Jogo
# 5. Voltar para raiz e executar
### ✅ Palavra Válidacd ..
python -m app.main
- Deve começar com a **letra correta**```
- Deve ser uma **palavra real** (verificada no dicionário)
- **Não pode repetir** palavras já usadas### 🌐 Acessar
### ❌ Palavra InválidaAbra `http://localhost:8000` no navegador e divirta-se!
- **Letra errada**: Eliminação imediata---
- **Palavra inexistente**: Eliminação imediata
- **Palavra repetida**: Eliminação imediata## 🎮 Como Jogar
### 🎲 Dificuldades### 🚪 Entrando no Jogo
| Dificuldade | Dicionário | Próxima Letra | Desafio |1. **Crie uma sala** ou **entre em uma existente** usando o código
| ----------- | ----------- | ----------------- | ------- |2. **Aguarde outros jogadores** (mínimo 2 para iniciar)
| **Fácil** | Sem acentos | Última letra | ⭐ |3. **Host inicia o jogo** quando todos estiverem prontos
| **Normal** | Com acentos | Última letra | ⭐⭐ |
| **Caótico** | Com acentos | Posição aleatória | ⭐⭐⭐ |### 🎯 Objetivo
---Formar uma "torre de palavras" onde cada palavra deve começar com a **última letra** da palavra anterior.
## 💻 Tecnologias### ⏰ Sistema de Tempo
- **Backend**: Python 3.8+ com FastAPI e Socket.IO- **30 segundos** por turno (configurável)
- **Frontend**: Vue 3 + TypeScript- **Timer visual** mostra tempo restante
- **Real-time**: WebSocket para comunicação instantânea- **Eliminação automática** quando tempo esgota
- **Multiplayer**: Suporte para 2-8 jogadores por sala
### 🏆 Vitória
---
- **Último jogador ativo** vence a rodada
## 🎓 Sobre- **Jogo reinicia** automaticamente para nova partida
**Projeto Acadêmico**---
- **Disciplina**: Programação I## 📝 Regras do Jogo
- **Instituição**: Universidade Federal de Campina Grande (UFCG)
- **Curso**: Ciência da Computação### ✅ Palavra Válida
**Word Tower** © 2025 - Licença MIT- Deve começar com a **letra correta**
- Deve ser uma **palavra real** (verificada no dicionário)
- **Não pode repetir** palavras já usadas
### ❌ Palavra Inválida
- **Letra errada**: Eliminação imediata
- **Palavra inexistente**: Eliminação imediata
- **Palavra repetida**: Eliminação imediata
### 🎲 Dificuldades
| Dificuldade | Dicionário | Próxima Letra | Desafio |
| ----------- | ----------- | ----------------- | ------- |
| **Fácil** | Sem acentos | Última letra | ⭐ |
| **Normal** | Com acentos | Última letra | ⭐⭐ |
| **Caótico** | Com acentos | Posição aleatória | ⭐⭐⭐ |
---
## � Distribuição
### PyPI Package
O Word Tower está disponível como um pacote Python no PyPI, facilitando a instalação e distribuição:
- **Package Name**: `word-tower-game`
- **Entry Point**: `word-tower` (comando global após instalação)
- **Inclui**: Backend Python + Frontend Vue.js pré-compilado
- **Auto-start**: Abre automaticamente o navegador
- **Porta**: Detecta automaticamente porta livre (padrão: 8000)
### Como funciona
1. **Instalação**: `pip install word-tower-game`
2. **Execução**: `word-tower`
3. **Backend + Frontend**: Servidor único serve tanto API quanto arquivos estáticos
4. **WebSocket**: Comunicação real-time integrada
5. **Auto-browser**: Abre automaticamente `http://localhost:8000`
---
## �💻 Tecnologias
### Backend
- **Python 3.8+**: Linguagem principal
- **Socket.IO**: Comunicação em tempo real
- **uvicorn**: Servidor ASGI para WebSockets
- **AsyncIO**: Programação assíncrona para timers
### Frontend
- **Vue 3**: Framework reativo moderno
- **TypeScript**: Tipagem estática
- **Pinia**: Gerenciamento de estado
- **Socket.IO Client**: Comunicação real-time
### Comunicação
- **WebSocket**: Tempo real para gameplay
- **JSON**: Formato de troca de dados
---
## 📦 Dependências
### PyPI Package (Automáticas)
```txt
fastapi>=0.104.1 # Framework web moderno
uvicorn[standard]>=0.24.0 # Servidor ASGI
python-socketio>=5.10.0 # Socket.IO real-time
python-multipart>=0.0.6 # Upload de arquivos
jinja2>=3.1.2 # Template engine
aiofiles>=23.2.1 # Arquivos assíncronos
Frontend (Pré-compilado no PyPI)
{
"vue": "^3.5.18", // Framework reativo
"typescript": "latest", // Tipagem estática
"pinia": "^3.0.3", // Estado global
"socket.io-client": "^4.8.1", // WebSocket client
"vite": "^6.0.3" // Build tool
}
🎓 Créditos
Projeto Acadêmico
- Disciplina: Programação I
- Instituição: Universidade Federal de Campina Grande (UFCG)
- Curso: Ciência da Computação
Word Tower © 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file word_tower_game-1.0.2.tar.gz.
File metadata
- Download URL: word_tower_game-1.0.2.tar.gz
- Upload date:
- Size: 4.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ba37322e8c4512a68442198f4c8fc1e32db041b79b31e055dc0e941bc7bc3a
|
|
| MD5 |
3d54b8854c3faa2578398b4c39448832
|
|
| BLAKE2b-256 |
d9131614ef579b3ef271af7a26db256d5e905fffb8123b2aab8129f9eb8ba5f0
|
File details
Details for the file word_tower_game-1.0.2-py3-none-any.whl.
File metadata
- Download URL: word_tower_game-1.0.2-py3-none-any.whl
- Upload date:
- Size: 4.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70f792da19bbe3a77aad0c45380b5b2ece1cdbe207c972bd17f913e7da739184
|
|
| MD5 |
a1edf57ec160ecea44a90ca174fe19fb
|
|
| BLAKE2b-256 |
c5152f791478d310ae55aa7b38a38f7c9a40315aa7e13b7868e402bc702255dd
|