Skip to main content

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**

PyPI versionPyPI versionPyPI version

Python 3.8+

License: MITPython 3.8+Python 3.8+

---License: MITLicense: MIT

🚀 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

word_tower_game-1.0.2.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

word_tower_game-1.0.2-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

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

Hashes for word_tower_game-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f4ba37322e8c4512a68442198f4c8fc1e32db041b79b31e055dc0e941bc7bc3a
MD5 3d54b8854c3faa2578398b4c39448832
BLAKE2b-256 d9131614ef579b3ef271af7a26db256d5e905fffb8123b2aab8129f9eb8ba5f0

See more details on using hashes here.

File details

Details for the file word_tower_game-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for word_tower_game-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 70f792da19bbe3a77aad0c45380b5b2ece1cdbe207c972bd17f913e7da739184
MD5 a1edf57ec160ecea44a90ca174fe19fb
BLAKE2b-256 c5152f791478d310ae55aa7b38a38f7c9a40315aa7e13b7868e402bc702255dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page