A packaging tool for bundling project releases
Larry infrastructure tools, utilities, and other helper functions.
Download Mp3 Larry June & The Alchemist - The Great Escape (2023) [320].rar
This is global State management library by larry
JavaScript implementation for the larry sort algorithm
Larry Cli Module to expose an aws cloud formation template as a cli.
This node module is a plugin based framework for scaffolding and/or generating Larry code.
**Larry, Larry teljes film ,Larry szereposztás, Larry022 videa, Larry imdb, Larry kritika, Larry mozi, Larry előzetes, Larry teljes film online magyarul indavideo, Larry box office**<br />
Install MindrianOS into Claude Code with one command -- `npx @mindrian_os/install`. Ships the MindrianOS plugin (Larry + PWS methodology + Data Room) plus a setup/diagnostics CLI (install/doctor/update).
Tooling to build and maintaing larry cloud applications.
Figfont "larry--3d" for be imported as a JS module
TypeScript SDK for interacting with the Larry-as-a-Service API. It handles generator discovery, AI-assisted schema extraction via a streaming chat conversation, and code generation.
Interactive Ink-based CLI for browsing Larry generators, collecting schema input, and generating code to disk
Figfont "larry--3d--2" for be imported as a JS module
A TypeScript implementation of Larry Polansky's Morphological Metrics
For debugging. Original Author: Larry Gordon
larry node playground
Larry Maccherone's fork of James Halliday fileify browserify middleware
Download ebook pdf mobi epub Larry Miller Ben Hogan's Secret Fundamental is available now
TypeScript definitions for aws-lambda
A common base for building command line applications.
Download ebook pdf mobi epub Larry Kendall Ninja Selling is available now
This is Larry's logger.
🧩 A clean, consistent ESLint config for Vue 3 projects, designed by Larry Lai.
treat a file as a l(ine) arr(a)y
An OpenPGP inspired "pseudo" crypto crate.
Core library for Tai — PTB builders, signers, JSON-RPC client, and typed reads for the Tai agent-economy launchpad on Sui.
MoosicBox configuration package
Makes it easier to work with common string patterns and regular expressions in Rust, adding convenient regex match and replace methods (pattern_match and pattern_replace) to the standard String type as well to vectors of strings
Perl grammar for arborium (tree-sitter bindings)
Set of non-duplicate items for smart contract store
A library to generate Docker-like mnemonics.
Library for solving Twenty-Four Sliding Puzzles
A beautiful terminal clock with ASCII art fonts
Simple yet efficient video encoding (lossless streaming codec)
`tai` — the command-line interface for the Tai agent-economy launchpad on Sui. Launch agents, hire them, settle escrow work orders, trade bonding-curve pools.
Larry keeps track of elapsed wall-clock time and tells you how long code or a Pry command you ran took to complete.
Implements some Morphological Metrics, described by Larry Polansky.
Exercise files for Pragmatic Studio's Learn Ruby Course; The Larry Moe and Curly Knuckleheads Game.
It is inspired on this post (http://blogs.msdn.com/b/silverlining/archive/2011/10/03/ruby-web-sites-and-windows-azure-appfabric-access-control.aspx) by Larry Franks.
more to come
Mocktacular Companion to AMQP Library. Happy TATFTing!
A CommonLisp CLOS-like ParseTree in Ruby... read (and write) it and weep.
## Studio Game Demo App I made this app following along with The Pragmatic Studio's Ruby course found here: https://pragmaticstudio.com/courses/ruby. ## Install the gem I published the gem for this app on RubyGems.org. In order to install it, run `gem install studio_game_dylan_attal-1.0.0.gem` ## Run the app In order to run the app run the following command `studio_game` ## Summary This is a console app that simulates a game. Players are loaded from the `players.csv` file be default. Each player has a name and a starting health value, i.e.: `Larry,100` If the user wants, they can provide a different CSV file to load the players. For example, I've provided a file `my_favorite_players.csv` as an alternate list of players. The user should provide the file like so `studio_game bin/my_favorite_players.csv` Before the game is played, the user gets to decide how many rounds to play. At this point, the user can also terminate the program by typing in `quit` or `exit`: `How many game rounds? ('quit to exit')` Once the user provides the number of rounds, the game is played automatically. The user then sees 1. Which players are involved ``` There are 5 players in Knuckleheads: I'm Boba with a health = 100, points = 0, and score = 100. I'm Jango with a health = 90, points = 0, and score = 90. I'm Din with a health = 80, points = 0, and score = 80. I'm Klutz with a health = 105, points = 0, and score = 105. I'm Berserker with a health = 50, points = 0, and score = 50. ``` 2. Which treasures there are to find ``` There are 6 treasures to be found: A pie is worth 5 A bottle is worth 25 A hammer is worth 50 A skillet is worth 100 A broomstick is worth 200 A crowbar is worth 400 ``` 3. The results of each round ``` Round 1 Rolled a 3 (StudioGame::Die) Rolled a 4 (StudioGame::Die) Boba has been skipped Boba found a skillet worth 100 points. Boba's treasures: {:skillet=>100} I'm Boba with a health = 100, points = 100, and score = 200. Rolled a 3 (StudioGame::Die) Rolled a 2 (StudioGame::Die) Jango got blammed! Jango found a bottle worth 25 points. Jango's treasures: {:bottle=>25} I'm Jango with a health = 80, points = 25, and score = 105. Rolled a 1 (StudioGame::Die) Rolled a 6 (StudioGame::Die) Din got w00ted! Din found a crowbar worth 400 points. Din's treasures: {:crowbar=>400} I'm Din with a health = 95, points = 400, and score = 495. Rolled a 1 (StudioGame::Die) Rolled a 4 (StudioGame::Die) Klutz has been skipped Klutz found a bottle worth 12.5 points. Klutz's treasures: {:bottle=>12.5} I'm Klutz with a health = 105, points = 12.5, and score = 117.5. Rolled a 1 (StudioGame::Die) Rolled a 4 (StudioGame::Die) Berserker has been skipped Berserker found a hammer worth 50 points. Berserker's treasures: {:hammer=>50} I'm Berserker with a health = 50, points = 50, and score = 100. ``` Once the user quits, they see the final results of all the rounds: ``` How many game rounds? ('quit to exit') quit Knuckleheads Statistics: 2 strong players: Boba (115) Klutz (120) 3 wimpy players: Jango (85) Din (75) Berserker (40) Berserker........... 690 Boba................ 620 Din................. 575 Jango............... 235 Klutz............... 207.5 Boba's point totals: 100 total skillet points 5 total pie points 400 total crowbar points 505 grand total points Jango's point totals: 50 total bottle points 100 total skillet points 150 grand total points Din's point totals: 400 total crowbar points 100 total hammer points 500 grand total points Klutz's point totals: 12.5 total bottle points 25.0 total hammer points 50.0 total skillet points 87.5 grand total points Berserker's point totals: 50 total hammer points 200 total broomstick points 400 total crowbar points 650 grand total points ``` ## Rules of the game Each round, each player rolls the die. If a player rolls between 1 and 2, then they are `blammed`, meaning they lose `10 health`. If a player rolls between 3 and 4, then they are `skipped`, meaning they do not gain or lose points that turn. If a player rolls between 5 and 6, then they are `w00ted`, meaning they gain `15 health`. Each round, players can find treasure worth different points. Treasures are found randomly. Every game, there are two special players added: 1. `ClumsyPlayer`: this player's treasure points are cut in half. 2. `BerserkPlayer`: once this player is `w00ted` five times, it cannot be `blammed` in that game anymore—if this player rolls between 1 and 2, they are `w00ted` instead of `blammed`.
# 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`.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.