CLI for rolling a random number between 1 and 100
React Native Camera Roll for iOS & Android
tsParticles particles roll updater
AWS CDK CLI, the command line tool for CDK apps
Helper utilities built on top of dice-roll-sdk for common dApp integration patterns.
A Pino transport that automatically rolls your log files
TypeScript SDK for interacting with the Dice Roll smart contract on Stacks blockchain
TypeScript SDK for the Celo Dice Roll MiniApp
Roll — Roll out features with AI agents
Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.
Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.
LaunchDarkly SDK for JavaScript - common code
LaunchDarkly SDK for JavaScript - common code
LaunchDarkly Server SDK for JavaScript - common code
CLI tool for AI-powered UGC video generation.
JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts
Roll your 2d6 from the command line!
A React Native component providing images selection from camera roll
LaunchDarkly Client SDK for JavaScript - common code
AWS CDK CLI, the command line tool for CDK apps
Command-line interface for the Prisma Developer Platform.
React Native plugin for the CodePush service
node.js package for rolling dice and adding modifiers. ex: 2d6+1
Simple 3D dice roll using CSS3 animation.
CLI for simulating dice rolls.
Dicey provides a CLI executable and a Ruby API for fast calculation of distribution of weights or probabilities of dice rolls, with support for all kinds of numeric dice, and non-numeric ones too! Results can be exported as JSON, YAML or a gnuplot data file. It can also be used to roll dice. While not the primary focus, rolling is well supported, including ability to seed random source for reproducible results.
Benedictus is a Rails developer's CLI for inspecting the execution plan of any ActiveRecord relation, scope, or query object. It boots the host Rails app, evaluates the expression you pass in, runs EXPLAIN (or EXPLAIN ANALYZE inside a rolled-back transaction), parses the JSON plan, and renders it as a colored, annotated tree with inline performance warnings.
# 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-<versao>.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,:points)` e a constante `TREASURES`; possui `.random`. - **Die/LoadedDie** (`die.rb`, `loaded_die.rb`): rolam valores (o carregado favorece 1,1,2,5,6,6). Ambos incluem **Auditable**. - **Auditable** (`auditable.rb`): imprime “Rolled a X (DieClass)” após cada rolagem. - **Game** (`game.rb`): agrega jogadores, carrega CSV, executa rodadas, soma pontos e salva _high scores_. - **GameTurn** (`game_turn.rb`): executa a lógica de um turno para um jogador (rola dado, aplica `blam/w00t/skip` e concede tesouro). - **ClumsyPlayer / BerserkPlayer**: variações de `Player` que modificam comportamento de `w00t` e de coleta de tesouros. --- ## 🧪 Testes Rode todos os testes: ```bash rspec ``` Principais coisas testadas: - Ordenação de jogadores por `score` (usa `<=>` em `Player`). - Cálculo de `points` e `score` (soma de tesouros + vida). - Efeitos de `w00t`/`blam` e força (`strong?`). - Lógica de turno com _stubs_ de dado (`allow_any_instance_of(LoadedDie).to receive(:roll).and_return(n)`). - Comportamentos de `ClumsyPlayer` e `BerserkPlayer`. --- ## 📦 CSVs e caminhos - `bin/studio_game` resolve o CSV padrão assim: ```ruby default_player_file = File.join(File.dirname(__FILE__), 'players.csv') game.load_players(ARGV.shift || default_player_file) ``` - Você pode passar um arquivo `.csv` via CLI como primeiro argumento. Formato do CSV: ``` Moe,100 Larry,60 Curly,125 ``` --- ## 🧾 High Scores Após sair do loop, o jogo grava `high_score.txt` com as entradas ordenadas. Cada linha é formatada por `Game#high_score_entry`: ``` <nome com padding de pontos> <score> ``` --- ## 🛠️ Dicas de desenvolvimento - Use `require 'studio_game/arquivo'` quando a gem estiver instalada. - No script binário, o `begin/rescue LoadError` faz _fallback_ para `$LOAD_PATH` local, útil fora da gem. - Para debugar I/O em testes, o spec redireciona `STDOUT` (`$stdout = StringIO.new`). --- ## 📚 Licença MIT – veja o arquivo `LICENSE`.
# Crowdfund (Alec) Ferramenta de linha de comando e biblioteca Ruby para simular um programa de **arrecadação de fundos** com rodadas, promessas (pledges) e diferentes tipos de projetos (básico, com *matching*, e *grant*). ## Instalação ```bash gem install crowdfund_alec ``` Ou rode a partir do código-fonte: ```bash ruby bin/crowdfund ``` ## Como funciona - Você carrega projetos via CSV (nome, fundos_iniciais, meta). - Em cada rodada, um dado é rolado para **adicionar** (+25) ou **remover** (–15) fundos do projeto. - Em paralelo, o projeto recebe **pledges** aleatórios: bronze ($50), silver ($75), gold ($100). - Projetos podem ter comportamento especial: - **MatchingProject**: quando chega a 50% da meta, cada `add_fund` passa a dobrar (+50). - **GrantProject**: nunca perde fundos em `remove_fund`. - Ao sair, o relatório salva os **subfinanciados** em `needmoremoney.txt` e imprime estatísticas. ## Uso (CLI) ```bash # (1) CSV padrão (bin/projects.csv) ruby bin/crowdfund # (2) Informando um CSV customizado ruby bin/crowdfund caminho/para/projetos.csv ``` Durante a execução: - Digite um número para a quantidade de rodadas. - Digite `q` ou `e` para sair e ver o relatório final. ### Formato do CSV ``` NomeDoProjeto,fundos_iniciais,meta BuyaBoat,5,10000 TraveltoVictoriaIsland,5,3000 GetaPuppy,5,300 ``` ## Saída esperada - Resumo por rodada dos fundos e pledges recebidos. - Arquivo `needmoremoney.txt` contendo: - Título do relatório. - Projetos totalmente financiados. - Projetos subfinanciados ordenados por **quanto falta**. - Snapshot CSV de todos os projetos. ## API (uso como biblioteca) Requerendo as classes principais: ```ruby require 'crowdfund/project' require 'crowdfund/fund_request' ``` Criando projetos e executando rodadas: ```ruby project = Project.new("My App", 500, 2000) funding = FundRequest.new("Startup do Alec") funding.add_project(project) funding.request_funding(5) funding.print_results ``` ### Classes principais - `Project` - Atributos: `name`, `fund_amount`, `target_fund_amount` - Métodos: `add_fund`, `remove_fund`, `funds_needed`, `funded?`, `received_pledge`, `pledges`, `total_funds`, `each_received_pledge`, `to_csv`, `status` - `FundRequest` - Gerencia lista de projetos, executa rodadas, imprime e salva relatórios. - `MatchingProject < Project` - Dobra `add_fund` quando `halfway_funded?` (>= 50% da meta). - `GrantProject < Project` - Sobrescreve `remove_fund` para nunca diminuir fundos. - `Pledgesmod` - Constante `PLEDGES` e `.random` para escolher bronze/silver/gold. - `FundingRound` - Regras de uma rodada: rola `Die`, aplica `add/remove`, atribui pledge. - `Fundable` (mixin) - Implementa `add_fund`, `remove_fund`, `funds_needed`, `funded?`. - `Die` - D6 simples com `roll`. ## Testes Rodar todos os testes: ```bash rspec ``` Principais cenários cobertos: - Regras de `add_fund`/`remove_fund`. - Comportamento de `MatchingProject` e `GrantProject`. - Integração de `FundingRound` e `Pledgesmod`. - Geração do relatório em `FundRequest`. ## Licença MIT — consulte o arquivo `LICENSE`.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.