Tetris с нуля на языке C

preview_player
Показать описание
Это видео специально для тех, кто хотел бы получить чистую логическую модель игры и разобраться в ней, не притягивая какую-то специальную среду разработки (IDE) или спецэфическую библиотеку, без которой "ничего не работает". Для первого теста достаточно стандартной библиотеки языка C. Повторить проект сможет каждый, кто написал хотя бы одно консольное приложение. Прикрепить данный код к своему проекту не составит труда, так как вся модель игры тетрис реализована в рамках отдельного модуля. Видео затрагивает вопросы, связанные с организацией игрового цикла и не только. Так, например, с помощью процедуры nanosleep запрограммирована обработка фиксированного числа кадров в секунду, а способ взаимодействия с игроком позволяет достаточно просто осуществить запись или воспроизведение действий этого самого игрока или смоделировать принятие решений соперником. В материале присутствует пример использования данной модели с библиотекой ncurses. Из последней взяты функции рисования разноцветных символов и обработки клавиатурного ввода.
Рекомендации по теме
Комментарии
Автор

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

jiictpu
Автор

Отличные материал и подача! Спасибо огромное за ваш труд!

vladilslavdurnev
Автор

Спасибо, очень крутое видео! Можно ещё такого же контента?!

hanaksi
Автор

Спасибо огромное!!! Действительно, очень редкий контент!!! Начал изучать язык Си, много воды по началам программирования, но очень редко попадаются видео, где обучение идёт на примерах, а особенно на русском. Лично меня интересует как консольная псевдо-графика, так и (особенно) 2д или 3д графика, ну и разработка оконных приложений (к примеру есть интересные материалы по X11 (создание окна, отработка событий и т.д.), OpenGL и GTK4). У Вас всё по полочкам разложено и очень хорошо преподнесён материал!!!

mrdixioner
Автор

Спасибо тебе большое, добрый человек, за такой полный и грамотный курс. Можешь ли порекомендовать какой-нибудь материал для развития такого навыка мышления как у тебя? Чтобы так по полочкам грамотно выходило одно из другого, литература, практика, всё что угодно, буду благодарен)

beastdope
Автор

30:00. У меня вопрос, а можно было реализовать ротацию вот так, используя два счетчика?

for(int i = 0, k = t->size-1; i < t->size, k>=0; i++, k--)
{
for(int j = 0, l = 0; j < t->size, l < t->size; j++, l++)
{
t->blocks[i*t->size+j].b =
};
};
return t;

defaulterror
Автор

Может кто-то подсказать почему копия мейка из проекта выдает ошибку: make: *** No rule to make target 'src/tetris', needed by 'SimpleTetris'. Stop.

fuyuzed
Автор

Для геймдева лучше Си/Си++, ну может еще раст, чем другие языки. Та же Java имеет свой рантайм, который нужно знать, жрет много памяти и менее производительна. Согласны?

eprst
Автор

меня постоянно бесило, что я не мог поменять высоту символов, чтобы они стали квадратными

lemmenmin
Автор

Ncurses уже значит не чистый С)) Чистый С это запись в фреймбуффер линукса напрямую, без помогалок)

ryohqtu
Автор

Добавлен исходник на tripledistillation.ru

tripledistillation
Автор

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

wbwjiby
Автор

Никогда не думал что какой то тетрис это просто пистец 😂😅

mrhfptr
Автор

Мне кажется уже не актуально писать на C, т.к. сейчас преобладает объектно-ориентированная парадигма, а в играх всё ещё сложней и строится на компонентной системе или ещё лучше - ECS. Видео интересное, подача тоже, но процедурный подход уже слишком сильно устарел...

gowrnmh