Как стать автором
Обновить

Как написать игру за 1 день или Очередной сопливенький пост-наполовину мануал о том, как быстро освоить C#

Время на прочтение5 мин
Количество просмотров9.2K
Всего голосов 25: ↑7 и ↓18-11
Комментарии22

Комментарии 22

Статья про программирование без кода.
Код добавлю чуточку попозже :)
В надежде, кто что-то будет ждать и вернётся почитать? Не надо было спешить с выкладыванием статьи в таком случае.
Тоже помню, как на зачетной неделе ночью написал несколько лаб, выучил английский и готовился по другим предметом. Было очень тяжело, но очень классно :)
Даа, такое не забывается :) Не скажу, что это очень полезно или продуктивно, но это, скажем так, специфика высшего образования. У каждого студента раз в жизни такое бывает, и, на мой взгляд, такой опыт весьма полезен в жизни
Ну, ни для кого не секрет, что студенты в сессию горы сворачивают (у самого подобные истории случались), но стоит ли так «писать» игры на самом деле?
Нет, разумеется, нет, ни в коем случае. Этот пост — лишь иллюстрация того, что не стоит бояться браться за, на первый взгляд, непосильные задачи. Если даже люди без особого опыта работы и с не самым глубоким знанием Шарпа смогли сделать такое, то те, у кого рука набита, смогут сделать гораздо большее. Эту статью ни в коем случае нельзя расценивать как руководство по написанию игр, цель другая — подбодрить людей и помочь им поверить в свои силы. Ведь сколько раз я видел такую ситуацию — и задача проще, чем описанная, и времени хватает — но человек отказывается только лишь потому, что боится.
Главная проблема — это двумерный массив. WCF не работает с двумерными массивами.

А как же бинарная сериализация в WCF? И как итог: работа не только с массивами, но и с чем угодно ;)
На фоне данного факта кстати забавно смотрится и следующая цитата:
Зато сейчас мы почти спецы по WCF.
НУ так ведь почти, а не уже :) Нет предела совершенству… За эту ночь мы действительно узнали гораздо больше, чем нам давали по программе.
Как-то в 3 часа ночи мы об этом не вспомнили :) И правда, согласен
Никогда не понимал таких людей, которые начинают все делать в последний момент. Заранее не судьба была? Кстати, курсовой проект — не только программа, но и всякая макулатура под нее — введение, цель работы, аналитическая часть, практическая, заключение, список литературы придумать… И еще все оформление под стандарты подгонять, которые у каждого ВУЗа часто свои.
В ВГУ мои одногруппники писали(скачивали) только «макулатуру», а вот программа было только в «фотошопе»(просто кидали необходимые компоненты на формы в делфи, для скринов).

>И еще все оформление под стандарты подгонять, которые у каждого ВУЗа часто свои.
А на счет запятых, это да, придирались, видимо ничего другого не умеют…
Ого, программы, «написанные» в фотошопе — это, конечно, нечто!
А стандарты оформления — это да, ой, как я их «полюбил», когда писал первый диплом…
Нет, макулатуры у нас не было. Вернее, единственное, что требовалось — записка в вольной форме, не более. У нас либерально относятся к курсовым, а вот к дипломам…
Плюс ко всему при смене направления танк замирает на полсекунды на месте и только потом двигается куда надо.

У вас срабатывает повторное нажатие клавиши. Если нажать и держать клавишу, то через некоторое время (зависит от настройки винды) будут генерироваться события KeyDown).
Ну да, наверное… А как это обойти? Кроме таймера?
Отрабатывать события KeyDown/KeyUp с помощью которых устанавливать флаг направления движения или остановку, а в отдельном потоке (как вариант в таймере) обрабатывать этот флаг.
Кстати, если использовать битовый флаг то проблема с ездой по диагонали тоже решится.
На вскидку можно сделать так:
по событию KeyDown устанавливать нужные влаги (биты) направления (но обрабатывать взаимоисключающие), а по KeyUp сбрасывать их.
Нет, тут нужно что-то другое. Обрабатывать KeyUp не вариант, т.к. пользователь может просто зажать клавишу. По KeyUp сбрасывается флаг, но больше сюда прилепить, по-моему, нечего. Вот я больше склоняюсь к обработке движения в таймере.
Что смутило:
1. "Написать". Судя по посту игру вы не делали, а упёрли. Благо лабиринт с сервером сами сделали, за это плюс.
2. "За 1 день". Тут без комментариев.
3. "Мануал о том, как быстро освоить C#". А где, собственно, мануал-то?
4. "WCF полна подводных камней, на которые мы наткнулись во время работы". Ну поделились бы, то что вы перечислили выходит больше из обычного непонимания самой WCF, чем из её подводных камней.

Зашёл в ожидании увидеть как и с чего народ начинает быстрое изучение языка, а в итоге прочитал обычный рассказ из темы «Как мы с Вовой пиво пили».
Спасибо за критику.
1) Ну, идею-то мы сперли, и честно в этом признались. Но игру писали полностью от начала и до конца, все алгоритмы — наши.
3) Так вот он, перед Вами :) так и изучать — брать задачу и реализовывать, даже не имея опыта или достаточного количества знаний.
4) Двумерный массив — это подводный камень. Хотя на мсдне четко сказано, что их передавать нельзя, но эту строку, как правило, никто не читает до тех пор, пока не сталкивается с подобной проблемой. Атрибуты — тоже. Ладно, тут 50/50, но некоторые из них тоже работают не всегда так, как ожидаешь. Хотя, может, у меня сложилось такое впечатление из-за некоторого недопонимания вначале.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории