CodeShadow – Telegram
CodeShadow
75 subscribers
180 photos
11 videos
7 files
126 links
👋 Я Артемий — преподаватель Python и фрилансер.

💻 Показываю, как код и нейросети помогают зарабатывать и упрощать работу.

🚀 Делюсь проектами, опытом и лайфхаками из реальной практики.

✍🏻 Вопросы и идеи: @MifmanRu
Download Telegram
📌Ни для кого не секрет, что сейчас нейросети активно помогают разработчикам писать код, завершать проекты и решать точечные задачи. Но, несмотря на очевидные плюсы, важно помнить: это лишь инструмент, который упрощает работу, а не заменяет умения и навыки, приобретённые годами.

В сегодняшнем посте преподаватель INNOPROG Артемий рассказывает, как же использовать нейросети во благо и получать максимальный результат от них🙌
4🤯33🤔11
А пока все смеются над очередным аналогом Telegram, ГигаЧелы во всю рекламируются и зарабатывают 💪


#Kwork #Фриланс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯4👀32🗿1
👩‍💻 Лайфхак Python: создание виртуального окружения

Если работаешь над несколькими проектами — всегда используй venv!

python -m venv venv
source venv/bin/activate # для Linux/macOS
venv\Scripts\activate # для Windows


Это изолирует библиотеки и избавит от конфликтов между проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
433
🔠🔠🔠🔠🔠🔠🔠 "СКАМ Заказчики"

Сегодняшний "заказчик" сразу написал в личку Telegram. Предложение на бирже в основном однотипное: массовая скупка ботов/скриптов, ТЗ не соответствовало заказу на Kwork.

В сообщениях виднеется попытка манипуляции. Одна из таких звучит примерно как: Я тебя выбрал из 40 других, тебе повезло

Обыкновенный "чёрный" спам-бизнес: массовое добавление тг пользователей в каналы/группы и реклама либо СКАМ проектов, либо чего похуже.


❗️Не попадайтесь на таких людей, ведь они могут "кинуть" не только пользоватей их каналов, но и вас. 🍴

#ПроСКАМ #Фриланс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯653
👋 Сегодня разберём интересный и очень практичный кейс по ООП — мини-боёвку, где персонажи разных рас сражаются между собой. Код работает как маленькая RPG: есть маги, эльфы, гномы, орки, люди — и у каждого свой стиль атаки, защита и реплики.


Почему этот проект полезен?
Потому что он показывает реальное применение ООП, а не абстрактные «фрукты» и «животных».
Здесь задействованы:

☀️наследование
☀️полиморфизм
☀️переопределение методов
☀️случайные события (рандомные бонусы, защита, уклонения)
☀️взаимодействие между объектами
☀️отдельный модуль-анимация (используется библиотека rich)

Проект запускается через интерактивный выбор персонажей — после чего все герои поочерёдно нападают друг на друга, пока не останется один победитель.

В этом посте разберём основу — базовый класс Hero и архитектуру проекта.


🤍 Базовый класс Hero

Hero — это фундамент. Он задаёт общую структуру для всех персонажей.


👩‍💻 Что задаётся в __init__:
name — имя героя
type — раса
hp — текущее здоровье
hp_default — максимальное здоровье (для отображения)
damage — базовый урон
id — уникальный ID (нужен, чтобы герой не атаковал сам себя)


Дальше идут методы, которые должны существовать у каждого героя, но в базовом классе они не реализованы:

☀️attack
☀️set_damage
☀️speak


То есть базовый класс — чистый шаблон, который говорит:

"Вот что должен уметь любой герой. А как именно — решай в дочернем классе."


Это и есть идея полиморфизма.

Почему это удобно?

Потому что дальше все расы (маг, эльф, орк…) наследуют от Hero и просто переопределяют нужное поведение:
⚡️маг кастует защиту
⚡️эльф может увеличить точность
⚡️гном получает случайную «пассивку»
⚡️человек иногда полностью уворачивается
⚡️орк может войти в ярость

Каждый класс — своя мини-механика.

В следующем посте мы разберём каждый тип персонажа и их уникальные способности — это самая «вкусная» часть проекта ❗️
А после этого, в посте №3 — посмотрим, как работает сама битва и игровой цикл.

Продолжение скоро! 👨‍💻


#КейсыPython #ООП #CodeShadow
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩443
📚 Микро-скрипт: автоматическая нумерация файлов

Если в папке куча файлов, добавь им номера в названиях:

code
import os

for i, file in enumerate(os.listdir(".")):
os.rename(file, f"{i+1}_{file}")


Отлично подходит для сортировки фотографий, документов или лабораторных.
44👏2🤩1
Media is too big
VIEW IN TELEGRAM
Кейс: РПГ с применением ООП Python.

Завтра выходит пост с исходником игры, а сегодня в 20:00 по МСК выйдет пост по библиотеке rich! Ставьте на заметку ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
4421
💎 Как я использовал библиотеку rich, чтобы вдохнуть жизнь в консольную RPG

Если ты делаешь консольный проект, ты наверняка сталкивался с тем, что он выглядит… скучно.
Текст выводится сухо, всё статично, атмосферы — ноль.

Когда я делал свою мини-RPG, хотелось добавить хоть немного "магии": 💃
чтобы битва ощущалась, а не просто печаталась как список чисел.

И тут на сцену выходит rich — библиотека, которая превращает обычную консоль в стильный интерфейс почти без усилий.


👩‍💻 Что делает rich?

В моём проекте она отвечает за два эффекта:

1. Анимация боя — прогресс-бар, который создаёт ощущение хода битвы
2. Анимация удаления павших героев — небольшая «чистка поля», тоже через прогресс-бар


👨‍💻 По сути, это маленькие визуальные вставки, но они делают проект живым.
И самое главное — rich позволяет делать это буквально в несколько строк.

Вот пример: 😊
from rich.progress import Progress

def start_animation():
with Progress() as battle:
task = battle.add_task("[red]Идёт битва...", total=5)
while not battle.finished:
battle.update(task, advance=0.3)


Это всё. 🗿
И уже есть красивая анимация!

──────────────────

⚙️ Как это работает в проекте?

В файле animation_battle.py два ключевых метода:

☀️start_animation() — проигрывается во время атаки
☀️clear_death() — проигрывается, когда герой погибает и удаляется из списка

Эти анимации запускаются прямо посреди игрового цикла, и благодаря им:
☀️появляется ощущение «происходящего действия»
☀️игрок видит прогресс битвы
☀️консоль перестаёт быть скучной

Rich — это как спецэффекты в кино: сюжет тот же, но ощущения другие.


😎 Почему тебе стоит попробовать rich?

Если ты работаешь с консолью и хочешь сделать интерфейс:
💻 красивым
💻 читаемым
💻 выразительным
💻 динамичным


…rich — идеальный вариант.

Это один из тех инструментов, которые дают много «вау-эффекта» при минимуме кода.
😱
Please open Telegram to view this post
VIEW IN TELEGRAM
442
🚀 Разбираем классы персонажей: маги, эльфы, гномы, орки и люди

Продолжаем наше погружение в ООП-битву ⚔️
В прошлом посте мы рассмотрели основу — базовый класс Hero.
Теперь самое интересное — классы персонажей, каждый со своим характером и механикой.


👍 Маг (Wizard)

Маг — самый «умный» герой. Он не просто атакует, он ещё кастует защиту, которая уменьшает входящий урон.

Уникальное в классе:

1️⃣Атака — обычная, без бонусов
2️⃣Защита — случайная: либо 0, либо число от -2 до 5
3️⃣Если защита отрицательная — урон только возрастает
4️⃣Метод speak говорит магическую реплику

Маг — сбалансированный герой: всегда бьёт одинаково, но защищается непредсказуемо.

🧝 Эльф (Elf)

Эльф — герой точности. Он может нанести критический урон, если ему «повезёт».

Уникальное:
1️⃣шанс получить бонус +1…+5 к атаке
2️⃣если бонус не выпал — обычный удар
3️⃣защита обычная (просто вычитает урон)
4️⃣реплики также тематические

Эльф — герой про «когда повезёт — больно».

🪓 Гном (Dwarf)

Гном — настоящий танк. Он может… получить дополнительный урон.
Да-да, у гнома пассивка работает против гнома.

Pas­sive ≠ buff
Passive = иногда усиливает входящий урон


Но иногда именно этот «каменный рандом» делает игру интересной.

😭 Человек (Human)

Человек — самый простой и честный герой. Но у него есть козырь: уклонение.

1️⃣шанс увернуться — 30%
2️⃣если увернулся — урон не проходит
3️⃣если нет — получает полный урон
4️⃣Атака у него стандартная.

😡 Орк (Orc)

Орк живёт ради ярости.
У него есть шанс получить +2…+10 к своей атаке.

Если ярость не прокнула — обычный удар.

Орк — герой про минимальную стабильность и максимальный риск.

💻 Что даёт такая структура?

Очень важный навык ООП-разработчика — уметь создавать дерево наследования, где каждый класс — самостоятельный персонаж с поведением.

Здесь:
☀️минимальный повтор кода
☀️читаемая структура
☀️гибкость: можно добавить новых рас и механик
☀️легко тестировать и расширять функционал

В скором будущем мы разберём как работает игровой цикл, система атак, выживание, удаление павших и подключение анимаций из файла animation_battle.py.


Продолжение очень скоро ⚔️🔥

ОСНОВНОЙ КОД ИГРЫ 👈

#КейсыPython #ООП #CodeShadow
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩43211
💬 Мотивация: цени прогресс, а не результат

Ты не обязан писать идеальный код с первого раза. Главное — каждый день понимать Python чуть лучше, чем вчера.
И если сегодня ты понял, как работает lambda — это уже шаг вперёд.
442
🚀Игровой цикл, анимация и логика битвы

Сегодня посмотрим, как герои атакуют, умирают, удаляются из игры и как всё это двигает основной игровой цикл.


💎 Игровой цикл

Главная функция — main_game().

Она делает 4 вещи:
1. спрашивает у пользователя, сколько будет героев
2. создаёт героев выбранных типов
3. запускает цикл боя
4. выводит победителя

После создания персонажей начинается:

🩸 «Великая битва»
Игровой цикл:

1. Все персонажи атакуют друг друга по очереди
2. Мы проверяем, кто ещё жив
3. Убитые удаляются
4. Если остался один — он победил

⚔️ Функция start_game

Здесь происходит сама битва:
1. герой выбирает цель
2. вызывает свой attack()
3. цель вызывает свой set_damage()

Благодаря полиморфизму:
маг защищается
гном может получить пассивку
человек иногда уклоняется
орк входит в ярость
эльф делает крит

То есть одна и та же строка кода работает по-разному в зависимости от типа героя.
Это и есть мощь ООП.

🎃 Удаление павших

После раунда вызывается:
clear_death()

Это анимация, созданная в файле animation_battle.py, при помощи библиотеки rich.
Она показывает прогресс-бар «чистки трупов» — это просто эстетика, но очень добавляет атмосферы.


После анимации:
if death.hp <= 0:
del list_heroes[index]


Герой исчезает из списка — он официально мёртв.

😃 Финал

Когда в списке остаётся 1 герой:

Победа за ... !


Вот и всё — мини-боевая система завершена. 🥃

👨‍💻 Что это даёт тебе как разработчику?

☀️понимание архитектуры в стиле «каждый объект — самостоятельный»
☀️работу с полиморфизмом
☀️обработку событий и случайностей
☀️построение игрового цикла
☀️работу с внешними файлами и анимациями
☀️практику структурирования большого кода


Это отличный учебный кейс, который можно расширять:

☀️добавить оружие
☀️инвентарь
☀️уровни
☀️прокачку умений
☀️магические эффекты
☀️логирование
☀️UI

👉БЛОК АНИМАЦИИ СМОТРИ ЗДЕСЬ

#КейсыPython #ООП #CodeShadow
Please open Telegram to view this post
VIEW IN TELEGRAM
543
This media is not supported in your browser
VIEW IN TELEGRAM
533
🐍 Python: от новичка до профи вместе с сообществом!

Привет-привет! 👋 Сегодня поговорим про удивительный мир Python — простого, мощного и невероятно популярного языка программирования. Ты уже слышал, что Python любят разработчики всего мира? 😉

Почему именно Python?
Легкий синтаксис — писать код приятно и удобно (даже котики понимают!)
Подходит для множества задач: веб-разработка, машинное обучение, автоматизация, наука о данных... В общем, всё-всё-всё!
Большое активное сообщество, которое поможет тебе разобраться даже в самых сложных вопросах ☺️



🌟 С чего начать изучение?
Онлайн-курсы и туториалы (например, Codecademy, Coursera)
📚 Книги («Автоматизация рутинных задач», «Изучаем Python»)
🎯 Практика, практика и еще раз практика!

🔥 Где найти помощь и поддержку?
💬 Форумы вроде StackOverflow и Reddit
🖥 Сообщества в соцсетях (Telegram-группы, чаты Discord)
🧑‍🤝‍🧑 Общение с единомышленниками на хакатонах и митапах



🗣 Какое будущее у Python?
Несмотря на конкуренцию с JavaScript, Go и Rust, Python уверенно держится среди лидеров. Его используют гиганты IT-индустрии типа Google, Netflix, Instagram и Яндекс. 🛠

Так что вперед, друзья! Не бойтесь экспериментировать, учиться новому и развиваться дальше! А мы будем рядом, чтобы поддержать вас на пути к успеху! 🚀

#python #it #программирование #обучение #сообщество
👏622
Часто у начинающих специалистов возникает вопрос: «Вот я отучусь на программиста, и что тогда?»
или «Как мне сразу применить свои знания и монетизировать их?».

Сегодня разберем все по полочкам вместе с преподавателем нашей школы Артемием!
Если эти вопросы вам хоть немного близки, то этот пост для вас! 🙌

Учёба, сессии, ЕГЭ, практикумы… всё вокруг твердит, что без этого никуда. Говорят, что у человека нет перспектив, если он не сможет отучиться...
Ларри Пейдж и Сергей Брин (основатели Google) создавали своё дело ещё учась в университете. Марк Цукерберг, основатель Facebook, разработал социальную сеть, будучи студентом, в своей комнате в общежитии, а потом бросил Гарвардский университет.

Эти примеры показывают, что образование приносит пользу только тогда, когда начинаешь видеть в нём смысл.

Вовсе необязательно быть Марком или Ларри, чтобы стать успешным.

Достаточно применять свои навыки прямо сейчас, без ожидания «идеального» или «правильного» момента.


🧐А что может стать для вас стартом?
Для большинства таких начинающих есть фриланс-биржи, где можно получить свой первый коммерческий проект или заказ на написание скрипта для автоматизации.

Из популярных бирж в России и СНГ – Kwork, YouDo, даже Авито. Вам достаточно зарегистрироваться, заполнить профиль и разместить свои услуги.

На биржах можно искать заказы, которые публикуют покупатели. Да, конкуренция есть, но со временем вы сможете собрать отзывы и приобрести важный опыт.

👇Пишите в комментариях, если хотите получить практикум по составлению качественного профиля на бирже!
442