testsAndMisc-archive/python_pkg/poker_modifier_app
Krzysztof kuhy Rudnicki e5fd82c822 Reduce per-file-ignores by fixing lint violations across codebase
Fix ruff violations in ~15 source files and ~60+ test files to minimize
per-file-ignores in pyproject.toml. Remaining ignores are justified with
comments explaining why each suppression is necessary.

Source fixes: FBT003 (keyword args), S310 (URL validation), SLF001
(private access), T201 (print→logging), C901 (complexity), E501 (line
length), E402 (import order).

Test fixes: SIM117 (combined with), FBT (boolean args), PERF203 (try in
loop), S310/S607 (URLs/executables), E402/E501 (imports/lines), S108
(tmp paths), PLR0913 (too many args), ARG (unused args), ANN (type
annotations), RUF059 (unused unpacked vars), PT019 (fixture naming).

Remaining per-file-ignores (with justifications):
- Tests: ARG, D, PLC0415, PLR2004, S101, SLF001
- music_gen sources: PLC0415 (heavy ML lazy imports)
- moviepy_showcase: PLC0415 (circular dependency)
- generate_images: PLR0913 (matplotlib helpers need many params)
- praca_magisterska_video: E501, E402 (long paths, mpl.use)
2026-03-25 18:58:05 +01:00
..
tests Reduce per-file-ignores by fixing lint violations across codebase 2026-03-25 18:58:05 +01:00
__init__.py refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00
_poker_gui.py Reduce per-file-ignores by fixing lint violations across codebase 2026-03-25 18:58:05 +01:00
_poker_modifiers.py test: achieve 100% branch coverage across all python_pkg packages 2026-03-21 17:51:36 +01:00
index.html refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00
poker_modifier_app.py refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00
README_python.md refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00
README.md refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00
script.js refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00
style.css refactor: move Python packages under python_pkg/ 2026-03-18 22:54:45 +01:00

Texas Hold'em Modifier App

A fun web application that randomly applies modifiers to Texas Hold'em poker games with configurable probability.

Features

  • Configurable Probability: Adjust the chance of getting a modifier (0-100%)
  • 15 Unique Modifiers: Various game-changing rules like "High Stakes", "Wild Card", "Reverse Psychology", etc.
  • Statistics Tracking: Keep track of rounds played and modifiers applied
  • Beautiful UI: Modern, responsive design with poker-themed styling
  • Smooth Animations: Visual feedback for button clicks and result displays

How to Use

  1. Open index.html in your web browser
  2. Adjust the "Modifier Probability" slider to set the chance of getting a modifier
  3. Click "Start Round" to begin a new round
  4. The app will randomly decide whether to apply a modifier based on your probability setting
  5. If a modifier is chosen, a random modifier will be selected and displayed

Modifiers Included

  • High Stakes: All bets are doubled
  • Wild Card: Next card can be used as any card
  • Bluff Master: See one opponent's card before betting
  • All-In Fever: If someone goes all-in, everyone must match or fold
  • Lucky Sevens: Any hand with a 7 beats a pair
  • Reverse Psychology: Lowest hand wins
  • Split Pot: Pot split between top 2 hands
  • Texas Twister: Each player gets an extra hole card
  • Blind Luck: Play blind until the river
  • Community Boost: Extra community card revealed
  • Minimum Madness: Minimum bet tripled
  • Suit Supremacy: Random suit cards worth +1 rank
  • Quick Draw: Betting time cut in half
  • Royal Treatment: Face cards worth double
  • Chip Challenge: Winner gets extra house chips

Files

  • index.html: Main HTML structure
  • style.css: Styling and responsive design
  • script.js: JavaScript functionality and modifier logic

Customization

You can easily add new modifiers by using the addModifier() method:

window.pokerApp.addModifier(
  "Your Modifier Name",
  "Description of what it does",
);

Browser Compatibility

Works in all modern web browsers (Chrome, Firefox, Safari, Edge).