Categories: None [Edit]
studio_game_alec
# StudioGame (Alec)
Jogo de terminal em Ruby com **jogadores, dados, tesouros e variações de jogadores** (Clumsy e Berserk), empacotado como gem.
> Nome do gem (exemplo): `studio_game_alec`
---
## 🚀 Instalação e execução
### Rodando direto do código-fonte
No diretório do projeto:
```bash
ruby bin/studio_game
```
Se você não passar um arquivo de jogadores via CLI, o script usa o `players.csv` que fica em `bin/` por padrão.
Também funciona passando um CSV na linha de comando:
```bash
ruby bin/studio_game my_favorite_players.csv
```
### Como gem (local)
Empacote e instale localmente:
```bash
gem build studio_game.gemspec
gem install studio_game_alec-.gem
```
Depois rode:
```bash
studio_game
```
> No Windows, o executável será resolvido pelo RubyGems. Se preferir, rode: `ruby bin/studio_game`.
---
## 📁 Estrutura do projeto
```
games/
├─ bin/
│ ├─ studio_game # script principal (tem shebang)
│ └─ players.csv # CSV padrão (nome,vida)
├─ lib/
│ └─ studio_game/
│ ├─ auditable.rb
│ ├─ berserk_player.rb
│ ├─ clumsy_player.rb
│ ├─ die.rb
│ ├─ game.rb
│ ├─ game_turn.rb
│ ├─ loaded_die.rb
│ ├─ playable.rb
│ ├─ player.rb
│ └─ treasure_trove.rb
├─ spec/
│ └─ studio_game/ # specs RSpec
├─ LICENSE
├─ README.md
└─ studio_game.gemspec
```
- **Namespace:** todo o código vive dentro do módulo `StudioGame` para evitar colisões.
- **bin/studio_game:** script CLI com shebang (`#!/usr/bin/env ruby`). Faz _fallback_ do `$LOAD_PATH` para `lib` quando usado fora da gem.
- **lib/studio_game/**: código da biblioteca (classes/módulos).
- **spec/**: testes RSpec.
---
## 🧩 Conceitos principais
- **Player** (`player.rb`): representa um jogador com `name`, `health`, coleta tesouros e calcula `score` (= `health` + `points`). Inclui o mixin **Playable**.
- **Playable** (`playable.rb`): mixin com `w00t`, `blam` e `strong?` (altera/consulta `health` via getters/setters).
- **TreasureTrove** (`treasure_trove.rb`): define `Treasure = Struct.new(:name,:poin...
Total
Ranking: 187,570 of 188,645
Downloads: 340
Daily
Ranking: 76,767 of 188,635
Downloads: 3
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
| Rank | Downloads | Name |
|---|
Depends on
| Rank | Downloads | Name |
|---|---|---|
| 29 | 937,687,145 | rspec |
Owners
| # | Gravatar | Handle |
|---|---|---|
| 1 | LucioAlec |