Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Открой для себя волшебный мир реальной рыбалки. Лови реальную рыбу на реальных водоемах! Исследуй новые рыболовные места и заполучи заветный трофей.

Реальная Рыбалка

Симуляторы, Мультиплеер, Спорт

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Python + Новичок

С этим тегом используют

Программирование IT Программист Обучение IT юмор Разработка YouTube Политика Пикабу Помощь Алексей Навальный Юмор Вопрос Все
31 пост сначала свежее
5
user7825794
1 год назад
Программирование на python

Проект на Pygame⁠⁠

Всем привет, делаю онлайн игру для проектной работы. Игру пишу на python с помощью pygame, для обмена данными пользуюсь библиотекой socket, для запаковки информации использую json. Сначала я думал кидать клиенту с сервера игровое поле в виде списка строк(шифр с условными обозначениями), но уже во время реализации идеи и её отладки я понял что это будет той ошибкой, которая будет преследовать меня даже во снах, поэтому я решил, что будет хорошей идеей передавать в json'е список спрайтов, но json стукнул меня по голове и вежливо сказал, что спрайты компоновать он не может(Object of type Wall is not JSON serializable). Как можно избежать подобных ругательств и/или решить данную подзадачу эффективнее? Если вам кажется, что я изобретаю велосипед, и Вы можете объяснить, как такое решают нормальные люди, то поделитесь пожалуйста своим опытом в комментариях, он может быть полезен не только мне. Заранее спасибо.

P.S. Совсем забыл указать гитхаб проекта, если кому-то понадобится, вот он. На момент написания поста актуален коммит ca33bdf. Если вы так же где-то заметили мои глупости, просьба не пинать тапками, я только начинающий программист(сейчас это вроде называют говнокодерами).

Python Json Pygame Программирование Помогите найти Новичок Текст
6
13
Maxwe1l
1 год назад
Программирование на python

Что ещё надо изучить?⁠⁠

Здравствуйте! Что нужно знать, чтобы стать разработчиком на Python? И до какого уровня изучать Python? Я умею работать с циклами, массивами, условиями, списками. Могу создавать функции и использовать их в дальнейшем. Могу написать простейшую программу в компиляторе ,по типу регистрационного меню на сайтах. Что ещё нужно изучить? Какие библиотеки попробовать?

Программирование Python Новичок Текст
56
9
PythonWorld
PythonWorld
1 год назад

Превращаем Текст в Голос: Мастер-класс по Python для Чудесного Синтеза Речи!⁠⁠

Привет, Pikabu! Сегодня я хочу поделиться с вами простым и эффективным способом превращения текста в речь на Python. Мы будем использовать библиотеку gTTS от Google, которая не только проста в использовании, но и обеспечивает отличное качество синтезированной речи.

Шаг 1: Установка gTTS

Для начала нам нужно установить библиотеку. Это можно сделать с помощью pip: pip install gTTS

Шаг 2: Написание Скрипта

После установки библиотеки напишем простой скрипт для преобразования текста в речь:

Превращаем Текст в Голос: Мастер-класс по Python для Чудесного Синтеза Речи! Python, Программирование, IT, Программист, Речь, Голос, Новичок, Айтишники, Telegram (ссылка)

Этот скрипт сначала создает объект gTTS с вашим текстом и языком (в данном случае, русским). Затем он сохраняет синтезированную речь в файл output.mp3 и воспроизводит его.

Шаг 3: Наслаждаемся Результатом

После запуска скрипта вы услышите ваш текст, преобразованный в речь. Это отличный способ добавить озвучку для ваших проектов или просто поиграть с технологией синтеза речи.

Этот код довольно оптимален по нескольким причинам:

  1. Простота использования: gTTS очень проста в установке и использовании.

  2. Качество речи: Благодаря технологиям Google, качество синтезированной речи довольно высокое.

  3. Поддержка множества языков: gTTS поддерживает различные языки, что делает ее универсальной для многих пользователей.

Надеюсь, это руководство окажется полезным для всех, кто начинает свой путь в Python и ищет легкие и понятные методы для преобразования текста в речь. Благодарю вас за внимание и интерес к статье. Успехов во всех ваших начинаниях с Python!

Подробнее про различные трюки на Python можно почитать в моем тг канале https://t.me/python_per_month

Показать полностью 1
Python Программирование IT Программист Речь Голос Новичок Айтишники Telegram (ссылка)
8
5
Аноним
Аноним
1 год назад
Лига программистов

Войти в IT⁠⁠

Приветствую всех. Подскажите пожалуйста. Натолкнуло меня на этот вопрос волна приложений "честная цена".

Допустим, новичок хочет быть программистом - делать небольшие игры. Но при этом понимает, что игродел - это скорее хобби, а хотелось бы в дальнейшем какую-никакую, а копейку за свою работу получать, а кому этого бы не хотелось?


Почему-то мне показалось, что будущее за вебом и мобильной разработкой. Логика в целом такая, что даже на пикабу если полистать посты, то и дело можно увидеть, как кто-то написал приложение за пару часов, кто-то игру какую-то онлайн делает, кто-то сайт запилил на коленке за день. Создается иллюзия, что это более возможно и доступно для обычного новичка, потому как постов о полновесных проектах серьезных не так уж и много.

Но, начиная изучать что-то из этого, понимаешь - что-то тут не то.
Из популярных языков - это либо, огромный локомотив типа С# и .NET, на котором можно сделать абсолютно ВСЁ, но в то же время и ничего, потому как реализация через фреймворки определенных задач будет похожа на забивание гвоздя отверткой.

Либо это легкий и непринужденный инструмент, вроде Python, на котором можно сделать тоже абсолютно ВСЁ, но это всё будет несерьезным и легковесным, скорее как дополнение к чему-то.

Либо это совсем какие-то узконаправленные языки, на которых кроме определенной задачи ничего и не сделаешь. Вот создан язык, чтобы на нем сайты делать - вот и делай на нём только сайты.


Казалось бы, всё просто, так оно и работает, в одиночку никто проекты не разрабатывает и в проектах как раз и есть условные 3 человека, которые знают все эти 3 разные технологии и объединяют в единое целое. НО!

НО! Тогда кто все эти люди, которые за вечер клепают свои альфа проекты? Они тебе и игры запилят, и сайты, и десктоп, и андроид приложения. И вообще оказывается это всё они пилят после просмотра пары роликов на ютуб. Но не могут же они знать абсолютно все технологии и языки, чтобы так легко переключаться с одного на другой?

И так с абсолютно каждым языком. У кого ни спроси - это всегда какие-то абстрактные ответы по типу, что для каждой задачи свой язык.
Неужели среди программистов, где чуть ли не правило - не изобретать велосипед, если его уже сделали до тебя, до сих пор нет понятного примерного плана пути для начинающего? Не того road map, где стрелочками отмечены абсолютно все существующие технологии по определенной сфере, а что-то понятное, то через что проходили все, прежде чем стать профессионалами, прежде чем начать делать что-то своё?

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

P. S. Я знаю, что сейчас в IT не войти, надо работать на заводе, а на 100 резюме джунов приходится всего 1 вакансия. У меня другая работа, которая устраивает. Это скорее попытка узнать, какую ошибку я совершил в молодые годы, когда выпустился из техникума со специальностью "информационные технологии", где максимум тебя научили писать "hello, world" на двух разных ЯП, а из-за обилия выбора направлений в дальнейшем я запутался, заблудился и не воспользовался шансом, когда он еще был.

Показать полностью
Опыт Профессия Программирование IT Junior Разработка Новичок Помощь Вопрос Python Csharp Gamedev Web-программирование Без рейтинга Текст
19
1
Аноним
Аноним
1 год назад
Программирование на python

Что то на нубском⁠⁠

Всем привет.

Создал два файла с окнами из tkbootstrap, не смог сделать чтобы иконки окон были в двух местах и сделал два окна в разных файлах и кнопки которые убивают выполнение программы и инициируют другую(по очередности между этими двумя файлами), но что то пошло не так.

Просьба сначала наставить на путь истинный а потом закидать ссаными тряпками(по желанию)

Всех обнял, приподнял

Что то на нубском Без рейтинга, Новичок, Python, Тупость
Что то на нубском Без рейтинга, Новичок, Python, Тупость
Показать полностью 2
[моё] Без рейтинга Новичок Python Тупость
4
36
GoblinCave
GoblinCave
1 год назад
Лига Разработчиков Видеоигр

Первые попытки освоить движок Godot - делаем простой платформер⁠⁠

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Уже неделю моя гоблинская тушка не подавала признаков жизни на Пикабу. Все кто думали что я сдох - не дождетесь, я мудитировал и искал знания в молитвах Горку и Морку. В переводе на человеческий - смотрел и читал обучающие материалы по Godot.

Проблема состоит в том, что проще выдать замуж троллиху, чем найти годный и главное понятный материал по данному движку на русском языке. Конечно, есть какие то азы, но дальше чем кривое управление платформера они не уходят, либо уже мне как новичку становится непонятно.

На помощь приходит всеми любимый зарубежный Ютуб и переводчик видео от Яндекса, наткнулся на пару каналов где информацию доносят более-менее доходчиво. И так, чему же я научился за эту неделю?

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Тут наша сцена и связанные с ней узлы...

Создаем карту

Пока что обучаюсь на примере платформера, а это значит нам нужно создать какое либо поле, где может бегать наш персонаж. На данный момент я изучил два способа, первый - TileMap про который лучше рассказать в отдельном посте, а вот второй более гоблинский.

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Все мы иногда статичное тело...

Правой кнопкой мыши жмякаем на нашу 2D сцену "World" и выбираем "Добавить дочерний узел". В списке ищем "StaticBody2d" и теперь у нас есть база. Добавляем два дочерних узла уже в статичный объект - "Polygon2D" и "CollisionPolygon2D".

Для тех кто не понимает на басурманском - объясню, что есть что. Первый - это визуальная геометрическая фигура, а второй - область столкновения (collision - столкновение). Все это нужно для того, чтобы мы могли увидеть наш объект, а игрок не проваливался внутрь него при столкновении.

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Рисуем будущую карту при помощи CollisionPolygon2D...

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

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Код приравнивающий форму фигуры к форме области столкновения...

Теперь нам нужно сделать так, чтобы визуальная фигура повторяла форму области столкновения. Нажимаем на нашу сцену и добавляем к ней скрипт. GD-script во многом схож с языком Python и более-менее прост в понимании. Сначала добавим наши узлы в виде переменных, для этого зажимаем "ctrl" и перетаскиваем в код после блока extends.

Прописываем функцию ready, она будет воспроизводится сразу во время запуска сцены. А дальше просто приравниваем форму фигуры к форме области столкновения (polygon_2d.polygon = collision_polygon_2d.polygon).

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Получаем дешевую и сердитую карту - все в гоблинском стиле!

Карта готова, но что делать теперь? Пора добавить нашего персонажа-марионетку.

Создаем новую сцену и для ее основы берем узел CharacterBody2D. Для будущей простоты восприятия я переименовал его в Player. Чтобы увидеть нашу тушку - добавим к ней дочерний узел "Sprite2D", а чтобы можно было еще и потрогать "CollisionShape2D".

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Добавляем иконку

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Выделяем область столкновения...

Тыкаем спрайт, выбираем текстуру и из быстрой загрузки возьмем иконку Godot. Пока что этого хватит, ведь в этом посте мы не будем затрагивать тему анимации. Далее выделяем область столкновения и сцепляем все это в одну группу кнопкой вверху панели.

Тело готово, пора научить его шевелиться и реагировать на физику. Для этого мы создаем для нашего Player свой скрипт.

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Наши переменные...

Задаем переменные через const (constants - постоянное значение). Значения констант не могут быть изменены в ходе самой программы, на то они и постоянные. Для чего нужны эти значения расскажу ниже.

const SPEED = 150.0

const JUMP_VELOCITY = -300.0

const FRICTION = 1000.0

const ACCELERATION = 600.0

На этот раз мы берем не функцию ready, а другую - physics_process. В отличии от простого process, здесь время между выполнением функции будет одинаковым. Это обеспечит нам стабильность при передвижении объектов.

Начнем с настройки гравитации!

Дело в том, что система координат X-Y в Godot имеет свои приколы. Ось X идет от отрицательной к положительной слева направо, однако ось Y идет от отрицательной к положительной сверху вниз. То есть ось Y буквально перевернута с ног на голову. Если непонятно - объясню проще:

Хотим передвинуть вправо - прибавляем к оси X;

Хотим передвинуть влево - вычитаем из оси X;

Хотим передвинуть вниз - прибавляем к оси Y;

Хотим передвинуть вверх - вычитаем из оси Y;

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Гравитация... беспощадная ты с*ка!

Как же нам заставить персонажа падать под давлением гравитации? Для начала добавим переменную GRAVITY равную 1000. Затем создаем свою пользовательскую функцию и называем ее aplay_gravity.

Мы должны падать когда находимся в воздухе, то есть не на полу. Буквально говорим программе "Если объект не на полу сделай следующее: измени положение по оси Y в положительную сторону на заданное нами расстояние".

if not is_on_floor():

velocity.y += GRAVITY * delta

Что такое delta? Это время между кадрами, благодаря чему перемещение будет стабильным вне зависимости от FPS.

velocity - это параметр скорости изначально зашитый в наш объект. По этой причине его так же не требуется объявлять как переменную. Грубо говоря сюда мы задаем то расстояние, на которое должен переместиться объект по осям X и Y.

Так как мы каждый раз увеличиваем прошлое значение velocity.y, гравитация будет усиливаться с каждой секундой в воздухе. Благодаря этому у нас не получится прыгать бесконечно вверх и нас прижмет к полу.

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Отлично, нас прижало как после "Балтики 9"!

Теперь настраиваем прыжки!

Для этого создаем еще одну пользовательскую функцию handle_jump. Мы говорим ей: "Если мы нажимаем кнопку прыжка и находимся на полу - измени положение по оси Y в отрицательную сторону". Напомню, что константа прыжка имеет отрицательное значение.

if Input.is_action_just_pressed("ui_accept") and is_on_floor():

velocity.y += JUMP_VELOCITY

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

К гравитации добавляются прыжки...

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Прыжок веры...

С прыжками и гравитацией мы освоились, теперь научимся ходить-бродить!

Надеюсь вы еще не забыли, что направление у нас зависит от отрицательного или положительного значения? Есть такая штука в Input как get_axis, где мы задаем две клавиши. Нажатие первой клавиши прировняет переменную к значению -1, нажатие второй клавиши наоборот к 1. Если ни одна из клавиш не нажата, переменная принимает значение 0.

Создаем переменную input_axis внутри physics_process, на этот раз через var, ведь она будет менять свои значения в процессе. А далее задаем машине установку "Если нажата одна из двух клавиш, то мы меняем значение по оси X в зависимости от выбранного направления".

Для этого используем move_toward, где первое значение - наша начальная точка, второе - конечная точка, а третье - промежутки которые будут проходится для их достижения.

Начальная точка - velocity.x

Конечная точка - наша скорость SPEED помноженная на направление (-1 или 1)

Промежутки - наше ускорение ACCELERATION помноженное на время между кадрами delta

if input_axis !=0 :
velocity.x = move_toward(velocity.x, SPEED * input_axis, ACCELERATION * delta)

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Вот наш код...

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

А вот признаки жизни... беги Форест - БЕГИ!

Двигаться мы можем, а вот с остановкой проблема. Что не дает нам вечно кататься по земле? СИЛА ТРЕНИЯ!

Для того чтобы создать силу трения мы делаем похожую функцию. Только теперь конечной точкой у нас выступает 0, а вместо ACCELERATION берем параметр FRICTION. Включается все когда мы не нажимаем кнопки движения, то есть input_axis равен нулю.

if input_axis == 0 :

velocity.x = move_toward(velocity.x, 0, FRICTION * delta)

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост
Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Бегаю, никого не трогаю... к земле притягиваюсь во время прыжка...

Вишенкой на торте внутри физической функции является move_and_slide которая и отвечает за все эти процессы. Без нее указанные выше шаманские обряды просто не запустятся.

Получился максимально простой гоблинский платформер. Конечно, это пока сложно назвать игрой... но оно работает во славу Горка и Морка! В данном посте я рассказал лишь основы изученного, благо материал заготовлен почти на месяц вперед.

Надеюсь для тех кто в первый раз сталкивается с Godot данный пост будет хоть немного полезен, а более опытные орки и гоблины знатно посмеются с попыток новичка вкатиться в разработку игр.

Если вам интересно и дальше смотреть на то как я собираю лбом грабли, а может и самим чему-то научиться вместе со мной - подписывайтесь на данный блог!

P.S.

Вот так полностью выглядит код управления персонажем, если кому то нужно для ознакомления.

Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост
Первые попытки освоить движок Godot - делаем простой платформер Gamedev, Разработка, Инди игра, Программирование, Программист, Инди, Python, Godot, Godot Engine, Новичок, Код, Разработчики игр, Игровой движок, Платформер, IT, Unity, Unreal Engine, Длиннопост

Традиционный тематический гоблин в конце!

Показать полностью 18
[моё] Gamedev Разработка Инди игра Программирование Программист Инди Python Godot Godot Engine Новичок Код Разработчики игр Игровой движок Платформер IT Unity Unreal Engine Длиннопост
9
53
DELETED
2 года назад

Моя первая программа⁠⁠

Моя первая программа в python, пусть простая и незначительная, зато написанная без помощи)

Моя первая программа Программирование, Новичок, Python
[моё] Программирование Новичок Python
44
NordLilo
NordLilo
2 года назад

Начал изучать программирование c нуля: Python⁠⁠

Python Программирование Новичок С нуля Видео Без звука
11
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии