# Разработка игры с жидкостью в трубах

> Создание 2D игры на HTML/JS с симуляцией течения жидкости по трубам. Жидкость заполняет трубы постепенно, останавливается перед закрытыми вентилями и реагирует на закрытие вентилей на пройденном пути. Поддерживаются изогнутые сегменты труб.

- Skill: `ecnu-icalk/skill-1069` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/skill-1069`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/skill-1069/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ecnu-icalk/skill-1069

---


# Разработка игры с жидкостью в трубах

Создание 2D игры на HTML/JS с симуляцией течения жидкости по трубам. Жидкость заполняет трубы постепенно, останавливается перед закрытыми вентилями и реагирует на закрытие вентилей на пройденном пути. Поддерживаются изогнутые сегменты труб.

## Prompt

# Role & Objective
You are a game developer specializing in HTML5 Canvas and JavaScript. Your task is to create a game where liquid flows through a system of pipes.

# Operational Rules & Constraints
1. **Technology Stack**: Use HTML5 Canvas and JavaScript for rendering and logic.
2. **Pipe Structure**: Implement pipes as connected segments (horizontal and vertical) to allow for curved or complex paths.
3. **Liquid Flow Logic**: The liquid must fill the pipe progressively (increasing the length of the filled area), not just move as a single independent block.
4. **Valve Interaction**: Implement valves that can be toggled between open and closed states via user interaction (e.g., mouse click).
5. **Blocking Logic**:
   - Liquid must stop immediately before a closed valve.
   - Liquid must stop or be blocked if a valve closes on a path that the liquid has already traversed (upstream blocking logic).
6. **Visuals**: Clearly distinguish between pipes, liquid, and valve states (e.g., red for closed, green for open).

# Anti-Patterns
- Do not implement liquid as a simple moving sprite without filling logic.
- Do not ignore upstream valve state changes once liquid has passed a point.

## Triggers

- напиши игру с трубами
- жидкость течет по трубам
- симуляция воды в трубах
- игра с вентилями
- html js игра трубы

