Triple Distillation
Triple Distillation
  • 36
  • 119 254
Многомерные массивы
Многомерные массивы на языке C. Полезный инструмент, когда необходимо работать с массивом плоскостей, рецептивными полями и т.п.
มุมมอง: 225

วีดีโอ

Сеть Кохонена
มุมมอง 4292 หลายเดือนก่อน
Реализация нейросети Кохонена на языке C. Алгоритм обучения сети без учителя. Классификация входных векторов
Простейшая нейросеть. Функция XOR
มุมมอง 8022 หลายเดือนก่อน
Самый простой вариант перцептрона на языке C с комментариями и математическими выкладками относительно обратного распространения ошибки (backpropagation). Сеть обучается вычислению функции исключающего или. В конче ролика можно увидеть графическую иилюстрацию того, как видоизменяется классификация входных параметров сетью в процессе обучения.
Простейшая нейросеть на языке C. Генеральная линия для множества точек
มุมมอง 1.7K3 หลายเดือนก่อน
В этом видео рассмотрим обучение нейронной сети на самом простом примере. В основе лежит упрошенный алгоритм обратного распространения ошибки (метод градиентного спуска).
OpenGL. Обзор сцены с помощью мыши (язык C)
มุมมอง 3833 หลายเดือนก่อน
В этом ролике я подробно расскажу о том, каким образом запрограммировать на языке C воздействие движений мыши на углы поворота камеры. В ходе повествования обсудим тонкости, связанные с координатами наблюдателя в OpenGL, а также алгоритмы перемещения наблюдателя 00:19 Исходники GL Start 14:44 Имя приложения 15:33 Структура 3D-объекта Obj3D 19:00 Матрицы перспективы и обзора 23:50 Движение наблю...
Бинарные деревья (язык C)
มุมมอง 3523 หลายเดือนก่อน
Определение узлов бинарного дерева. Процедуры обхода дерева, добавления узла, удаления и поиска узла. При реализации алгоритмов используется структура "очередь". Текстовая версия материала: @tripledistillation-binarnye-derevya-yazyk-c Группа в ВК: tripledistillation
Информация для зрителей канала
มุมมอง 2414 หลายเดือนก่อน
tripledistillation t.me/tripledistillation
Просмотр папок на языке C
มุมมอง 8804 หลายเดือนก่อน
Способ просмотра содержимого каталогов с разными режимами отображения. Анализ статуса объектов фаловой системы по структуре stat, значения флагов, права доступа к файлам. Функции ftw и nftw. 00:12 Makefile проекта 01:09 Функция ftw 02:25 Вывод содержимого директории 04:08 Вывод размера файлов и папок 05:13 Флаги в callback функции 06:09 Количество дескрипторов и их роль 08:24 Корректное прерыва...
Стек. Часть 4. Утечка памяти
มุมมอง 2525 หลายเดือนก่อน
Дополнение к материалу о парсере конфигурационных файлов. Исправление ошибки, связанной с утечкой памяти при чтении имен групп параметров.
Как разбить строку на токены? Язык C
มุมมอง 43410 หลายเดือนก่อน
Пример разбиения строки на токены с использованием функции стандартной библиотеки. Некоторые особенности хранения строк показаны с помощью дизассемблирования. notabug.org/vetal/Tokens
Wavefront OBJ в OpenGL на языке C
มุมมอง 26110 หลายเดือนก่อน
Эксперименты с загрузкой Wavefront OBJ файлов в свой проект на языке C. Нюансы отображения и текстурирования моделей Модели: 3d.si.edu/object/3d/alto-saxophone-owned-and-played-charlie-parker:c7c58ff8-fd1f-4cf6-9813-6bca3cd0b8b3 opengameart.org/content/halloween-pumpkin-0 renderpeople.com/free-3d-people/#eluidb2b1d7da Содержание: 00:15 Makefile, исходники 01:55 Откуда скачать OBJ файлы? 02:55 П...
Wavefront Object. Часть 4. Отдельный исходник для чтения файлов
มุมมอง 17611 หลายเดือนก่อน
Создание отдельного модуля на языке C для чтения файлов .obj (3D). 00:26 Обзор первого исходника 05:19 Тест 06:08 Лишний вывод 08:25 Предупреждение компилятора 10:25 marray.c 11:59 Ошибка в директиве 13:22 marray.h 15:46 Makefile 17:02 objmtl.c 30:54 objmtl.h 33:24 objmtl.c 34:15 main.c 36:17 Устраняем ошибки 38:49 Основной исходник
Wavefront Object. Часть 3. Данные для OpenGL VBO и разбиение полигона на треугольники
มุมมอง 15811 หลายเดือนก่อน
Как разбить многоугольник на серию треугольников, сохраняя порядок следования вершин? Каким образом по набору индексов воссоздать структуру вершины для буфера вершин из OpenGL (VBO)? Обо всём этом рассказано в данном видео. Кроме того, показан алгоритм получения серии треугольников для видео "От 2D к 3D на JavaScript. Часть 2"
Wavefront Object. Часть 2. Текстуры, нормали, поверхности
มุมมอง 15211 หลายเดือนก่อน
Продолжение темы чтения файла Wavefront OBJ на C. Формируем массив координат текстур и массив нормалей к поверхности. Изучем способ описания плоскостей, из которых складывается поверхность 3D-объекта.
Wavefront Object. Часть 1. Вершины
มุมมอง 32911 หลายเดือนก่อน
Читаем координаты вершин из файла Wavefront OBJ на языке C. Есть пара слов о динамических массивах и разбиении строк на токены (отдельные слова). 00:28 Makefile 00:44 Wavefront Object 02:00 Аргументы приложения 02:40 Чтение файла 03:45 Токены 06:00 Комментарии 07:12 Динамический массив 10:46 Вершины
От 2D к 3D на JavaScript. Часть 2
มุมมอง 347ปีที่แล้ว
От 2D к 3D на JavaScript. Часть 2
От 2D к 3D на JavaScript. Часть 1
มุมมอง 581ปีที่แล้ว
От 2D к 3D на JavaScript. Часть 1
Матрицы масштабирования, переноса и поворота
มุมมอง 2.7Kปีที่แล้ว
Матрицы масштабирования, переноса и поворота
Матрица перспективы
มุมมอง 913ปีที่แล้ว
Матрица перспективы
Функции обратного вызова (CALLBACK) в языке C
มุมมอง 3.4Kปีที่แล้ว
Функции обратного вызова (CALLBACK) в языке C
TETRIS на JavaScript с нуля
มุมมอง 986ปีที่แล้ว
TETRIS на JavaScript с нуля
Указатели в языке C
มุมมอง 1.7Kปีที่แล้ว
Указатели в языке C
Стек. Часть 3. Простой парсер для файлов .ini
มุมมอง 1Kปีที่แล้ว
Стек. Часть 3. Простой парсер для файлов .ini
Стек на языке C. Часть 2. Инструмент для чтения конфигурационных файлов
มุมมอง 1.4Kปีที่แล้ว
Стек на языке C. Часть 2. Инструмент для чтения конфигурационных файлов
Стек на языке C
มุมมอง 12K2 ปีที่แล้ว
Стек на языке C
Линейный список на языке C
มุมมอง 2.2K2 ปีที่แล้ว
Линейный список на языке C
Динамический массив на языке C
มุมมอง 2.7K2 ปีที่แล้ว
Динамический массив на языке C
OpenGL. Проект-шаблон. Система координат
มุมมอง 6262 ปีที่แล้ว
OpenGL. Проект-шаблон. Система координат
Чтение растровых изображений формата BMP на языке C. 24-битное и 32-битное изображения
มุมมอง 8K2 ปีที่แล้ว
Чтение растровых изображений формата BMP на языке C. 24-битное и 32-битное изображения
Tetris с нуля на языке C
มุมมอง 20K2 ปีที่แล้ว
Tetris с нуля на языке C

ความคิดเห็น

  • @МаксимРябцев-п9с
    @МаксимРябцев-п9с 9 วันที่ผ่านมา

    А в чем разница использования % и *?

  • @Kler_Kongo
    @Kler_Kongo 12 วันที่ผ่านมา

    Спасибо за подробное объяснение данной темы.

  • @МихаилНеважно-ы2у
    @МихаилНеважно-ы2у 17 วันที่ผ่านมา

    Вертекс джеометри и фрагмент. Автор ты застрял между двух языков ? Ты на каком языке вещаешь ? Если ты не знал или не учил - Вершинные шейдеры, Геометрические шейдеры фрагмент уж интернациональное слово

    • @tripledistillation1755
      @tripledistillation1755 12 วันที่ผ่านมา

      А слово "шейдер" вопросов не вызывает, правильно понял? Оно тоже "международное"?) Никто не застрял на этот раз?)))

  • @ДмитрийМакеев-с6м
    @ДмитрийМакеев-с6м 28 วันที่ผ่านมา

    Хорошей практикой также является работа с float'ами по причине достаточной для большинства задач точности и вдвое меньшего размера чем double, и ещё блочное хранения матриц блоками по 2*2, 4*4, 8*8 и т.д. элементов. Это повышает локальность для попадания в кэш строку, и упрощает транспонирование при умножении.

    • @tripledistillation1755
      @tripledistillation1755 26 วันที่ผ่านมา

      Интересно. Посоветуйте литературу по этому вопросу, пожалуйста. Если такая имеется

    • @ДмитрийМакеев-с6м
      @ДмитрийМакеев-с6м 26 วันที่ผ่านมา

      @tripledistillation1755 легко ищется по запросу blocked matrix multiplication. общий смысл такой: матрицы перед умножением делятся на такие блоки, которые помещаются в кэш-строку (64 байта), например 4*4 float. хранение таких подматриц в блоках позволяет перемещаться как по строкам так и по столбцам без промахов кэша в предалах блоков, т.е. не терять производительность на транспонировании одной из матриц, перемещаясь по столбцам при строковом хранении. блоки перемножаются, и результаты складываются, получается быстро

    • @ДмитрийМакеев-с6м
      @ДмитрийМакеев-с6м 26 วันที่ผ่านมา

      @@tripledistillation1755 блочное представление в памяти матрицы 4*4 с блоками 2*2 будет например таким: 1,2,5,6,3,4,7,8,9,10,13,14,11,12,15,16

  • @Alexcymantrene
    @Alexcymantrene หลายเดือนก่อน

    Спасибо большое! Все понятно!

  • @Alexcymantrene
    @Alexcymantrene หลายเดือนก่อน

    Ролик супер, автору спасибо! только новичкам не зайдет

  • @maxchizhov
    @maxchizhov หลายเดือนก่อน

    Спасибо, очень емко и доходчиво. Голос просто как у актера дубляжа. Очень приятно заходит материал!

  • @vladimirtolstov4947
    @vladimirtolstov4947 หลายเดือนก่อน

    👍(•‿•)👍

  • @tripledistillation1755
    @tripledistillation1755 หลายเดือนก่อน

    Если есть желание поддержать проект: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @АлександрТв-Зел
    @АлександрТв-Зел หลายเดือนก่อน

    Спасибо

  • @illoprin
    @illoprin หลายเดือนก่อน

    Ваше видео помогло относительно мягко вкатится в C, и наконец, понять указатели. Такой чистый код, такая хорошая подача. Спасибо!

  • @yokoshizu9839
    @yokoshizu9839 2 หลายเดือนก่อน

    Здравствуйте! Подскажите, пожалуйста, а можно ли что-то сделать с тем, что фигуры и игровое поле получаются вытянутыми по вертикали? В моем случае требуемый по заданию размер поля строго фиксированный в соотношении 2:1 вертикаль-горизонталь, и очень сильно заметна вытянутость. Примерно понимаю, что это, кажется, возникает из-за размера символов в строке. Но не до конца уверена. Буду очень благодарна, если подскажете, возможно ли с этим что-то сделать.

    • @tripledistillation1755
      @tripledistillation1755 หลายเดือนก่อน

      Замените вывод в терминал на какое-нибудь другое средство. Если работаете в линукс, то можно найти графическую библиотеку kxl, или, что современнее, SDL. Переписать процедуры рисования блоков. Вы тоже из School21?

  • @vladimirtolstov4947
    @vladimirtolstov4947 2 หลายเดือนก่อน

    👍(⁠•⁠‿⁠•⁠)👍

  • @vladimirtolstov4947
    @vladimirtolstov4947 2 หลายเดือนก่อน

    Подача шикарная. Ждем следующие видео 👍(⁠•⁠‿⁠•⁠)👍

    • @tripledistillation1755
      @tripledistillation1755 หลายเดือนก่อน

      Эксперименты с подачей подтверждают не то, что хотелось бы

  • @TheALEXMOTO
    @TheALEXMOTO 2 หลายเดือนก่อน

    Дай ссылку что почитать или посмотреть по нейронкам для самых маленьких :) С нуля.

    • @tripledistillation1755
      @tripledistillation1755 2 หลายเดือนก่อน

      Аксенов С.В., Новосельцев В.Б. Организация и использова- ние нейронных сетей (методы и технологии)

    • @TheALEXMOTO
      @TheALEXMOTO 2 หลายเดือนก่อน

      @@tripledistillation1755 Спасибо!

  • @LittleKodvat
    @LittleKodvat 2 หลายเดือนก่อน

    с таким голосом прям тяга к знаниям идёт xD

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Если есть желание поддержать проект: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @jennysavvage9094
    @jennysavvage9094 2 หลายเดือนก่อน

    Материал и подача на высшем уровне. Буду ждать новых видео!!

    • @tripledistillation1755
      @tripledistillation1755 หลายเดือนก่อน

      Спасибо. Разные люди смотрят видео с разными целями, поэтому для одних подача на высшем уровне, а для других она - полное ....

  • @ГомункулСтарший
    @ГомункулСтарший 2 หลายเดือนก่อน

    А почему функция Е такая странная? Почему не взяли просто | f(x0) - y0 |?

    • @tripledistillation1755
      @tripledistillation1755 2 หลายเดือนก่อน

      Модуль - это непрерывная, но не дифференцируемая в нуле функция. "E" подобрана так для отражения ошибки в смысле отклонения от требуемого значения, а также для того, чтобы производная имела вид обыкновенной разности без дополнительного множителя

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Если есть желание поддержать канал: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Если есть желание поддержать канал: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Если есть желание поддержать канал: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Если есть желание поддержать канал: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Если есть желание поддержать проект: yoomoney.ru/fundraise/16KBTQF4G72.241120

  • @73jdie8hH
    @73jdie8hH 2 หลายเดือนก่อน

    Огромное спасибо за супер-материал! С нетерпением жду продолжения а особенно интересует практическое применение! Реальные задачи и решения. Благодарю!!!

    • @tripledistillation1755
      @tripledistillation1755 2 หลายเดือนก่อน

      Спасибо за внимание и поддержку! Думаю рассмотреть разные типы сетей. Тема интересная, безусловно

  • @73jdie8hH
    @73jdie8hH 2 หลายเดือนก่อน

    Спасибо добрый человек!

  • @ДмитрийМакеев-с6м
    @ДмитрийМакеев-с6м 2 หลายเดือนก่อน

    Ещё одно пожелание: прикрепляйте, пожалуйста, реквизиты для доната под роликами. Наверняка найдутся те, кто захочет отблагодарить за Ваш труд.

    • @kiko.nihimura
      @kiko.nihimura 2 หลายเดือนก่อน

      @@tripledistillation1755Для Россий это бусти а для остальных патрион

  • @ДмитрийМакеев-с6м
    @ДмитрийМакеев-с6м 2 หลายเดือนก่อน

    Спасибо за ролик! Вижу, что пожелания к предыдущему ролику с функцией XOR учтены :)

  • @МихаилВеликанов-г3й
    @МихаилВеликанов-г3й 2 หลายเดือนก่อน

    Супер!!! Очень интересно.

  • @tripledistillation1755
    @tripledistillation1755 2 หลายเดือนก่อน

    Создан Telegram-канал: t.me/tripledistillation

  • @patison5792
    @patison5792 3 หลายเดือนก่อน

    Вопрос: почему у некоторых изображений сдвиг до пикселей 1000 или 2000, а не 54, и когда сдивгаешь на данное количество то изображение либо портится либо вообще не выводит.

    • @tripledistillation1755
      @tripledistillation1755 2 หลายเดือนก่อน

      Если речь про объем хедера, который нужно пропустить, чтобы добраться до данных изображения, то всё зависит от параметров, которые в самом хедере представлены. Объем заголовка (хедера) может быть разным

    • @patison5792
      @patison5792 2 หลายเดือนก่อน

      @tripledistillation1755 я когда сдвигаю на на значение смещения которое записано в хедере, допустим 1200, то изображение портится, а если сдвигаю это же изображение на 54 , то все норм, так вот почему в нем по умолчанию записано 1200 а не 54?

    • @tripledistillation1755
      @tripledistillation1755 2 หลายเดือนก่อน

      Нужно смотреть на вашу структуру для хедера. Возможно, что не учли 4 зарезервированных байта перед смещением на пиксельный массив. Возможно, не учли порядок переменных в структуре (а он важен) или не установили директиву "#pragma pack(1)" и "#pragma pop"

  • @Oreshec
    @Oreshec 3 หลายเดือนก่อน

    Не ужели я нашел ролик который смог мне дать понять как это работает. Правда я тупенький и ни 1 формулу не понял, но концепт понятен. Спасибо❤

  • @timurdanilenko3582
    @timurdanilenko3582 3 หลายเดือนก่อน

    вот тут точно подойдет фраза, ниуя не понятно, но очень интересно😁

  • @Tokuru
    @Tokuru 3 หลายเดือนก่อน

    Nicely done!

  • @morgan3692
    @morgan3692 3 หลายเดือนก่อน

    Это сгенерированный голос? Где можно найти именно такой?

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

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

  • @just-skl
    @just-skl 3 หลายเดือนก่อน

    Вау бро, твоя работа показала мне, что есть люди, которые объясняют тему лучшим способом: показывают реализацию в коде, в чистом и красивом коде (ещё и на моём любимом ЯП в котором нет мусора типо объектов и тп). Респект за реализацию

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Спасибо! Я прекрасно помню туториалы с CD-дисков: первый пример - это hello world в консоли, а второй - это оконное приложение с макросами, кучей классов, 5-ю кнопками, 3-мя текстовыми полями и потоками ввода-вывода в файл. А назывался второй пример "strings" (как работать со строками, мол). Неделя ушла, чтобы понять, что работа со строками - это 5 строчек кода в каком-то одном невзрачном методе. Всё остальное было накручено для солидности и красоты

  • @ДмитрийМакеев-с6м
    @ДмитрийМакеев-с6м 3 หลายเดือนก่อน

    Отличная тема! Увидеть бы реализацию простейшего нейрона с нелинейной функцией активации, и то, как это решает задачу нелинейной классификации.

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      В литературе обычно присутствует пример линейно неразделимой задачи о функции XOR. Да, в планах есть такое

  • @МихаилВеликанов-г3й
    @МихаилВеликанов-г3й 3 หลายเดือนก่อน

    +, давай еще!

  • @ДмитрийЛобанов-г6ж
    @ДмитрийЛобанов-г6ж 3 หลายเดือนก่อน

    Чудесный голос! Спасибо!

  • @nikolaykozlov4888
    @nikolaykozlov4888 3 หลายเดือนก่อน

    Огонь! На выходных обязательно повторю! Спасибо

  • @qwertdim
    @qwertdim 3 หลายเดือนก่อน

    то что вы рассказали, не является нейросетью. Это обычная линейная регрессия.

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Персептрон с одним входным узлом и смещением, одним выходным узлом с линейной функцией активации не считается нейросетью? "Нейронная сеть представляет собой совокупность нейроподобных элементов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых весовыми коэффициентами" (Круглов В.В., Борисов В.В. "Искусственные нейронные сети. Теория и практика" 2002 г.). k и b являются весовыми коэффициентами. Но в материале не только линейная функция присутствует.

    • @qwertdim
      @qwertdim 3 หลายเดือนก่อน

      @tripledistillation1755 у нейрона обязательно должна быть нелинейная функция активации. Если вы сделаете сеть линейных нейронов, то это тоже не будет считаться нейросетью это просто суперпозиция линейной функции.

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Строго говоря, да. Тут я с вами согласен, но такой шаг сделан для наглядности. Акцент на алгоритме обучения. В следующем видео функцией активации нейронов будет сигмоид

    • @ДмитрийМакеев-с6м
      @ДмитрийМакеев-с6м 3 หลายเดือนก่อน

      ​@@tripledistillation1755 для наглядности можно показать нейрон с пороговой функцией активации, либо с ReLU. Их хоть и сложнее обучать, но легко реализовать, и на них легко показать как нейронная сеть реализует логику исключающего ИЛИ, без которой нейросеть не нейросеть.

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Только написал сверху про XOR), затем дошел до вашего комментария. Для пороговой функции и ReLU интересна ситуация с дифференцированием

  • @edgarpalynski5397
    @edgarpalynski5397 3 หลายเดือนก่อน

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

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Блок присутствует на поле, если он не 0. Посмотрите на процедуру отрисовки поля. Возможно, цвет в вашем коде зависит от конкретного значения в блоке

  • @rv_an0
    @rv_an0 3 หลายเดือนก่อน

    В тг сообщества не будет?

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      В планах до текущего момента не было, но поскольку возник такой вопрос, то займусь

    • @rv_an0
      @rv_an0 3 หลายเดือนก่อน

      Было бы очень хорошо, т.к не у все есть возможность в вк сидеть. А по поводу контента - просто супер, большое спасибо за труд!

    • @tripledistillation1755
      @tripledistillation1755 2 หลายเดือนก่อน

      t.me/tripledistillation

  • @yokoshizu9839
    @yokoshizu9839 3 หลายเดือนก่อน

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

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Спасибо за комментарий. Вы правы, разобраться в материале трудно. Этот ролик, помимо прямого назначения, был снят в рамках своеобразного эксперимента. На канале есть другое видео, вышедшее "в паре" с данным. Это ролик о чтении bmp-файлов. Целью эксперимента было выяснить - какая подача материала лучше, влияют ли так сильно на восприятие слова-паразиты, что будет, если сделать речь слишком "сухой". Показатели удержания аудитории в некотором роде дали мне ответ. Структуры определяются исходя из того, какая информация об объекте нужна. Как можно описать игровое поле, например? Указать длину и ширину, а также массив из блоков, которые расположены на поле. Далее задаем вопрос: "а что такое блок?". Это тоже объект, которому соответствует своя структура. Что в этой структуре должно быть? Если мы поместим туда число, то по его значению можно определить - есть ли блок на поле, какого цвета блок (допустим) и т.д.. Как можно описать фигуру? Фигура, очевидно, состоит из набора блоков. Помимо этого, фигура может перемещаться по полю, следовательно, у нее должны быть координаты в довесок к массиву блоков. Чистая логическая модель - это готовый отдельный исходник со всеми структурами и методами, необходимыми для функционирования игры. Этот исходник можно легко доработать "под себя", а также присоединить его к любому проекту. Как интерпретировать данные структур игровой модели - это уже предмет вашего творчества.

  • @ДмитрийЛобанов-г6ж
    @ДмитрийЛобанов-г6ж 3 หลายเดือนก่อน

    Огромное спасибо, ценный ролик. Если бы такой контент был когда я обучался в университете, обучение было бы гораздо легче

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Спасибо за внимание и поддержку

  • @bsprspktvnk
    @bsprspktvnk 3 หลายเดือนก่อน

    как настроили компрессию на своем микро?

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      В этот раз Attack: 0.217 ms; Release: 270 ms; Knee: 12 dB; Ratio: 3; Threshold: -12 dBFS; Makeup gain: 0 dB. Есть недочеты? Если есть, то подскажите - что улучшить

    • @Dennycoding
      @Dennycoding 3 หลายเดือนก่อน

      ​@@tripledistillation1755мне кажется, всё отлично

    • @YTit69
      @YTit69 3 หลายเดือนก่อน

      @@tripledistillation1755 дааааа, ппц очень тихоооооооо! На посте если мможно поднавали на +40-50%!

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Ок, понял

  • @kizik85
    @kizik85 3 หลายเดือนก่อน

    Отличный ролик! Спасибо! Но подача информации не для новичка.

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      Пожалуйста. Что в плане подачи могли бы посоветовать?

  • @m0r1k
    @m0r1k 3 หลายเดือนก่อน

    не, не говнокод, функция содержит один единственный ретурн, чтобы всегда можно было дебажить всё, что вернет ф-я.. нет, не тот случай, ваши проблемы, ставьте дебаг перед каждым моим ретурн'ом.. выравнивание по горизонтали??? о чём вы??? я люблю гусенку, так и водишь глазами влево вправо влево вправо как истинный программист.. мог бы предположить, что некий абстрактный е"аный конь, экономит на том, чтобы помещать команды в тело {}.. if () dolbayeb()l; { // не будет ошибкой } // кроме того, если мне нужно будет расширить команды для if, я буду вынужден вставлять {} скобки за него.. просто потому, что он дол"аёб поленился вставить из сам.. так что, как говорится, очнись, ты гадишь..

    • @yastepan
      @yastepan 3 หลายเดือนก่อน

      ???

  • @leonisM.
    @leonisM. 3 หลายเดือนก่อน

    автор, зачем ты ставишь лишние точку с запятой после каждого закрытия фигурной скобки? 2. Зачем используешь защиту от повторного дублирования в файле tetris.c?

    • @tripledistillation1755
      @tripledistillation1755 3 หลายเดือนก่อน

      1. Ранее сталкивался с неопределенностью, возникшей из-за этого, поэтому с тех пор так. Конечно же не всегда стоит её ставить. 2. Это стить оформления исходников из книги по Borland С++.

  • @ukolove
    @ukolove 4 หลายเดือนก่อน

    Блин, наконец-то! Знаешь, сколько я перелопатил, чтобы узнать, как грамотно по разным директориям разносить файлы? На удивление только у тебя нашёл толковое объяснение. Все статьи пишут одно и то же, но как будто бы в отрыве от реальности и только для учебных проектов. Спасибо огромное и +100500 в карму! =)