# 🌱 Farm Automation System Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git: слияниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅Π±Π΅ΠΉΠ·. ## ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠŸΡ€ΠΎΡΡ‚Π°Ρ систСма Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³ΠΈΠ΄Ρ€ΠΎΠΏΠΎΠ½Π½ΠΎΠΉ Ρ„Π΅Ρ€ΠΌΡ‹ Π½Π° Python с использованиСм ООП: - **BioCulture** β€” класс Π±ΠΈΠΎΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ со стадиями роста ("Π—Π΅Π»Π΅Π½Ρ‹ΠΉ" β†’ "ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ") - **HydroponicModule** β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ нСсколькими ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π°ΠΌΠΈ - **FarmAgent** β€” Π°Π³Π΅Π½Ρ‚-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ для управлСния ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΈ сбора уроТая ## Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ``` Igor-kr/ β”œβ”€β”€ main.py # Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° β”œβ”€β”€ farm_core/ β”‚ β”œβ”€β”€ __init__.py β”‚ β”œβ”€β”€ module.py # ΠšΠ»Π°ΡΡΡ‹ BioCulture ΠΈ HydroponicModule β”‚ └── agent.py # Класс FarmAgent └── README.md ``` ## Π’Π΅Ρ‚ΠΊΠΈ - **main** β€” базовая Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° со "сломанным" ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ `grow()` (Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ `NotImplementedError`) - **feature-api** β€” рабочая рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `grow()` ΠΈ новая функция `harvest()` ## 🎯 ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания ### Π—Π°Π΄Π°Π½ΠΈΠ΅ 1: Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ слиянии **ЦСль:** ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ merge conflicts. **Π¨Π°Π³ΠΈ:** 1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ `main` 2. ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ `feature-api` 3. **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:** ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π² Ρ„Π°ΠΉΠ»Π΅ `farm_core/module.py` Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ `grow()`: - Π’ `main`: `raise NotImplementedError("Рост Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² main!")` - Π’ `feature-api`: `self._stage = "ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ"` 4. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» `farm_core/module.py` ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ 5. Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ слияниС ### Π—Π°Π΄Π°Π½ΠΈΠ΅ 2: Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅Π±Π΅ΠΉΠ· (очистка истории) **ЦСль:** ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ "мусорныС" ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ чистый ΠΊΠΎΠΌΠΌΠΈΡ‚. **Π¨Π°Π³ΠΈ:** 1. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ `feature-api` 2. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² (Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΈ мусорных ΠΊΠΎΠΌΠΌΠΈΡ‚Π°: done, fix2, fix) 3. ЗапуститС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅Π±Π΅ΠΉΠ· для послСдних 3 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² 4. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΈ мусорных ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΠΎΠ΄ΠΈΠ½ 5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” вмСсто Ρ‚Ρ€Π΅Ρ… мусорных ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ чистый ΠΊΠΎΠΌΠΌΠΈΡ‚ ### Π—Π°Π΄Π°Π½ΠΈΠ΅ 3 (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ): ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π° 1. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° `main` послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ слияния 2. Π”ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Π² `main.py` Ρ†ΠΈΠΊΠ» для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹: ```python for culture in module.cultures: culture.grow() print(f"Π“ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ сбору: {agent.harvest()} ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€(Ρ‹)") ``` 3. ЗапуститС ΠΊΠΎΠ΄ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:** ``` Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ: pH 6.0 Π“ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ сбору: 3 ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€(Ρ‹) ``` ## βœ… ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния - [ ] ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π² `module.py` ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ - [ ] ΠœΠ΅Ρ‚ΠΎΠ΄ `grow()` Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ (измСняСт ΡΡ‚Π°Π΄ΠΈΡŽ Π½Π° "ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ") - [ ] Π’Ρ€ΠΈ мусорных ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ - [ ] Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² чистая ΠΈ понятная - [ ] Код запускаСтся Π±Π΅Π· ошибок --- **Автор:** Dmitry Belan **Π”Π°Ρ‚Π°:** 2026-07-01