Игры на c
Ну и время тоже. Автор поста нацелил свои курсы на базовые игры. Но, в основном, да. Чуть более сложные чем консольные. Хотя когда я, продвинувшись дальше, начал все переделывать, с блэкджеком и шлюхами графикой и прочими плюсами движков, особых сложностей встретил не много. Но все же, как я уже сказал, было бы желание. Ведь на одном энтузиазме далеко не уедешь. Да и тот быстро угасает. Невероятно сложна, но у нее отличная механика. Почему я должен такие простые истины объяснять на пальцах? Все же знают как это работает, именно поэтому, как вы уже сами сказали, в каждой первой книге делают также, да всё потому что это работает!! А методы на второй паре он объяснял со слова сигнатура. И пусть я все еще не дошел до плюсов, а сижу на шарпе, но, все же, точно знаю, что следует сначала понять типы данных и их различия. Вдруг мне системное понравится больше прикладного. Делая игрульки на шарпе с XNA на втором курсе еще не знаешь до конца. И, говоря "не дошел", я имел ввиду "не дошли руки". Давно хочу, но все никак. Единственное, что для C нужен. NET а это не всегда возможно. Поэтому контроллеры на нем программировать скорее всего не получится. Так же тут уже не раз сказали, что программирование игр - это далеко не лучший выбор для обучения программированию. Ну, вот оно уж так, и ничего с этим не поделать - тройной тулуп тоже не лучшее начало для фигурного катания. Результат должен быть быстрым, не через 4 года обучения, и даже не через неделю чтения книг, а вот прям сразу, иначе он не будет приносить удовлетворения и желания продолжать заниматься. Вы же, блин, педагог, неужели вас не учили этому? Даже такая просто игра - это результат, работающий результат, и ученик видит и понимает, что его можно улучшать, у него появится желание продолжать заниматься. Как у нас в институте говорят: У автора свой подход - он подает материал в виде создания игры, пусть простой, но игры. Проблема в том, что многие кто самостоятельно начинает обучение программированию забрасывают это дело, так как у них пропадает стимул. Они читают, читают, читают, но результата в виде программы которая действительно что-то делает - нет. Поэтому до конца обычно доходят лишь те, кто уже имел какие-то результаты еще до начала обучения. До начала обучения, Карл! Вот он в чем секрет, оказывается, те самые " маньяки " писали программы еще до того как ознакомились с теорией! Подписываюсь под словами выше, а также добавляю: После того, как вы создали файл исходников с расширениес. Если бы вы создали исходники. Даже больше скажу , автор не раскрыл что же такое "функция". А вот тут согласен с автором если так и задумывалось Сначала нужно с функциями знакомиться. PS я проходил форматированный вывод почти! Лично я на него как-то спокойно перешёл, и меня больше удивила реакция окружающих на такие "новшества". А по поводу функций: Та же директива include встречается в самом начале обучения, но описывается как "нууууу представьте что текст из подключаемого файла дословно копируется в то место, где это написано". Я хотел бы задать один вопрос если можно. Хотел узнать на чем пишутся платформеры вроде каких-нибудь Salt and Sanctuary или Deadlight. Я понимаю, конечно, что это уже очень высокий уровень до которого мне, вероятно, никогда не дотянуть , я просто привел их как пример и хочу узнать что именно нужно учить для написания подобных игр. Я бы сказал, что когда дело касается плюсов, то ты ещё не достал бумагу, не взял карандаш, а уже нихера не понимаешь. Управление памятью и сборка под разные платформы есть, а вот множественное наследование Да ладно, шарповый проект без микрософтовских либ убог, моно конечно тянут, но все равно убого. Да и со сборкой отличной от винды там проблемы. Нет смысла объяснять типы данных, функции итд, если читатели понятия не имеют в каком порядке выполняется код. Я когда еще студентом был, помогал с лабами половине группы, мне приходилось объяснять им даже такие простые вещи. Не все могут представить что вообще такое поток выполнения, и поэтому я считаю, что автор пока всё делает правильно. Я знаю какие бывают игры, и даже самая простая из них мало подходит для обучения программированию. Угадывание номера на игру не тянет, обычный стандартный блочок простенького кода, геймификация которого заключается в основном в кастомизации выводимых сообщений. Подход стандартный и совершенно не новый - в каждой первой книге по программированию он есть. Что же тогда подходит для обучения программированию? Неужели мне надо повторяться и снова вам объяснять, что одна лишь теория без закрепления положительным результатом - бесполезна. А судя по стилю написания читатель даже этого знать не должен. Одно дело брать и бездумно использовать, другое дело - понимать как это устроено. Если человек запускает Unity3D, перетаскивает на сцену систему частиц огня, даже близко не понимая что это, при этом безумно радуется и считает себя великим программистом, то это его выбор. Для того, чтобы понять сложные вещи, нужно понимать из чего они состоят, хотя бы в общем виде. И главное, как решить эти задачи, исходя из уровня "printf - просто, std:: Я знаю откуда идёт библиотека stdio. Буду благодарен если вы меня направите, если можете. Больше не придумал к кому обратиться. Игры высокого уровня пишутся на движках высокого уровня: А движки высокого уровня могут быть написаны на различных языках программирования, использовать различные языки программирования и быть использованы с помощью различных языков программирования: Это звучит как "Не столь важно с какого языка программирования начинать обучение": В будущем будет более понятно что к чему и зачем: У меня есть некоторый опыт с С. Правда разбираться приходится по гайдам и английским базам. Я раньше играл, но сейчас просто не готов морально: Похоже, препод наш - балбес, раз сначала типы данных объяснял на 1-м курсе, а не сразу в методы пошел. Миксины бы решили проблему, а так приходится обращаться к агрегации. Вообще это очень полезная фича, её придумали умные люди для таких же умных людей. Проблема в том, что некоторые говнокодеры используют эти фичи для прикручивания костылей, так как теперь это стало еще легче. Автор дает представление о потоке выполнения, о том в каком порядке будет выполняться код, и для демонстрации этого показывает простейший пример, пусть и непонятный пока. Что такое миксины не совсем понял, через define можете переопределить все что угодно, дублирование кода только если вы сами сделали неправильную архитектуру. К сожалению, использование интерфейсов в стиле Java и расширений C всё равно весьма далеко от возможностей плюсов. С играми вообще оказалось все сложнее, чем я думал, но буду разбираться. Еще раз спасибо, что направил. Спасибо за пост, думаю будет полезно, как новичку. Не вижу никакой прямой связи между начинанием с колченогих и противоречивых постов на пикабу и возникновением опыта и портфолио. Не взлетит, чтобы писать игры, надо читать умные книжки, написанные специалистами. Как минимум год до этого писать вещи по-проще. Кучу раз уже тут такое пытались сделать, ничего толкового так и не получилось, этот пост - не исключение. Классы A, B и C полностью независимы друг от друга. Классы A1, B1, C1 -- их потомки, расширяющие функционал. К сожалению оказалось, что у них есть общие части p и q. Нет, почему, так тоже хорошо. В принципе так все уроки обычно и выглядят. Просто те умники, что постят свои посредственные уроки могли бы задуматься над контентом и оформлением. Они очень простые и если вдруг, то сразу можно взять и повтррить. Тем более для интересующизся в начале поста можно дать ссылки на обучающие основам ресурсы. Через месяц после начала обучения, из простого набора функций, типа printf и базовых мат. Научиться всегда можно быстрее, было бы желание. Игра это очень широкий термин, игры бывают не только трехмерные, но простые текстовые, без графики. Простые игры это первый шаг к созданию более сложных. Не будьте наивны и не ждите от учебных статей на пикабу результата в виде Скайрима или Ведьмака. Назвать это "игрой" можно только с очень и очень большой натяжкой, она по сути не отличается от любого минималистичного примера кода.
|