원클릭으로
pydartsnut-game-io
Dartsnut game main.py guidance for pygame loops, dart hits, buttons, and framebuffer updates.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Dartsnut game main.py guidance for pygame loops, dart hits, buttons, and framebuffer updates.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Dartsnut asset manifest, loader-helper, placeholder, and apply-mode workflow for art-bearing entities.
Root conf.json schema, defaults, size rules, preview handling, and reload requirements for Dartsnut projects.
Dartsnut workspace scaffold rules, just-in-time skill loading, file constraints, and emulator verification workflow.
Dartsnut display and framebuffer mapping rules for panels, physical screens, layout, clipping, and fonts.
Legacy Dartsnut runtime index that routes to the granular pydartsnut, conf, display, and asset skills.
Pixel-perfect compact UI guidance for console-style Dartsnut games and widgets.
| name | pydartsnut-game-io |
| description | Dartsnut game main.py guidance for pygame loops, dart hits, buttons, and framebuffer updates. |
| license | MIT |
Load when main.py needs dart hits, buttons, or a full game loop.
Requires pydartsnut-core and conf-contract already applied.
pygame for drawing and local quit events.Dartsnut for machine input and update_frame_buffer.pygame.display.flip() → push framebuffer.| Need | API |
|---|---|
| New dart hits | engine.get_dart_hits() → (dart_index, x, y) per hit, consumed once |
| Presence / timing | engine.get_active_darts() only when required |
| Button presses | engine.get_button_events() edge-detected |
Forbidden: get_buttons(), get_darts(), or a separate input_handler.py that bypasses these APIs.
dart_index is usually 0–11. Map dart_index % 4 → blue, red, green, yellow (0→blue, 1→red, 2→green, 3→yellow). RGB helpers: load game-dart-colors when coloring UI from hits.
handle_events / poll hits → update → draw → flip → update_frame_buffer.
Use antialias=False on font.render(...) for device text.