oldSchoolx286

На Пикабу
поставил 410 плюсов и 116 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
10 лет на Пикабу
2005 рейтинг 33 подписчика 1 подписка 23 поста 0 в горячем

Wasteland 2. Что ты знаешь о RPG?

Не знаю как вам, а мне не хватает старых RPG, не хватает мне ДжанкТауна и Наварро. Не хватает мне реиграбельности, вызова.
Понимаете, Wasteland 2 не для большинства из вас. В ней нет графики приличной, нет упругих грудей главных героинь, нет эпичности , нет ярких огней, которые то тут то там показывают разработчики.
Так что в ней есть? В Wasteland 2 есть жизнь.
Для меня, человека игравшего в Ultima, Eye of Beholder, Fallout, Wasteland, Bards Tale (не ремейк) этого более чем достаточно. Полная свобода и выбор - вот отличительный знак Wasteland 2. Для новичка игра будет, мягко говоря, сложна и непонятна. И да, вы будете страдать, распихивать поинты, ругаться, подыхать, загружаться и опять подыхать. Игра не прощает, игра заставит вас думать с самого начала игры, каждое действие в игре откликается во всем мире гулким эхом. Я не хочу спойлерить, но сюжетные повороты, ввиду выбранных вами стат меняются, выбираете просточка - 1 ветка диалогов, выбираете парламентера группы - другая ветка. И этих веток десятки, начинать играть сначала, каждый, КАЖДЫЙ раз интересно, я сейчас приведу пример из фаллаут два, просто, чтобы не спойлерить:
В Кламате, есть персонаж Торр который любит МУУУ и просит защитить МУУУ от скорпионов.
Если скинуть инту < 3 вы начинаете понимать Торра и очень забавно разговаривать с ним.
В Wasteland 2 таких вариаций как минимум 5. Каждый диалог может тянуть за собой другой диалог, и если у вас все хорошо со статами вы можете получить совершенно различные развязки, предметы, информацию, историю... в тексте. В игре огромное количество текста.
Wasteland 2 это не всякие Шеппарды, не Драгон Ейджи, не Диабло. Пустоши - это огромный живой мир, доверху набитый диалогами, историями, выбором и смертью и самое главное это НЕ ЗАКАНЧИВАЕТСЯ. Серьезно, я наиграл около 30 часов, и этому конца и края нет. Игра втягивает тебя в себя, кажется отыгрывать, погружаться в роль дальше не куда, но есть куда ещё как есть.
Для меня это не Planescape: Torment. Но почти....
Так что я хотел этим то сказать?
Да тем, кто хочет вернуться на Пустоши есть куда вернуться, есть ещё место где можно выбрать свой путь, вдохнуть радиоактивное облачко полной грудью.
PS Мне жаль людей которые купили ранний доступ.
PPS Специально для пикабу.
PPPS Я очень надеюсь что ремейк Elite будет настолько же суров как его оригинал.
Всем Спасибо! Играйте в хорошие игры.
Показать полностью

Привет, хочу познакомить вас со своим старым другом. Его зовут Блейн Моно.

Билеты покупать не надо. Моему другу так не хватает теплоты ваших сердец.
Привет, хочу познакомить вас со своим старым другом. Его зовут Блейн Моно. Билеты покупать не надо. Моему другу так не хватает теплоты ваших сердец.

Программирование для тех кто хотел бы его изучить часть 4. Погружение в ад. Регулярные выражения. Ч3

Лень матушка обуяла меня. Да и дал, вам, читателям, время для плодотворного изучения регулярных выражений.
Теперь быстро по комментариям:
Регулярные выражения замедляют работу приложений. Это действительно так. Но есть тысячи НО и тысячи ЕСЛИ.
Из частых вопросов на форумах
Так за сколько я смогу выучить регулярные выражения?
Мне хватило 2 дня чтобы разобраться, сейчас я не могу сказать, что я "дока" в регулярках, но в 90% случаев совершенно не требуется знать действительно хорошо регулярные выражения.
Как правильно формировать код в программе.
Во первых, чтобы выражение читалось лучше не используйте сокращенные записи (часто они ведут к ошибкам)
Комментируйте свои регулярные выражения. Программисты, в 90% случаев не будут проверять ваш шаблон, а перепишут его.
Если вы запихиваете регулярнки в функцию, то извольте выводить все в список.
Не тыкайте регулярные выражения не к месту.
Теперь быстро об условиях.
Строка:
Котейка, рокот, рокочет, котейкин, котейчик, котюнчик.
давайте выведем Котейка котейкин котейчик котюнчик
[Кк]от[а-я]*(?:ка|ин|чик)
| - условие "или" ()- группировка
Переведем с языка регулярных выражений:
Я попросил, выводить все слова в которых есть Кот(кот) потом буквы и окончание на ка или ин или чик.
ссылка на синтаксис
http://www.softtime.ru/dic/id_dic=134&amp;id_group=3
регулярные выражения
http://www.pcre.ru/eval/
Специально для пикабу!
Не ругайте за ошибки, я не Панда.

Жестокость в ретрогейминге

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

Программирование для тех кто хотел бы его изучить часть 4. Погружение в ад. Регулярные выражения. Ч2

Я надеюсь вы готовы и попробовали себя в регулярных выражениях, находили слова, пробелы, меняли строку. Погружаемся в регулярные выражения по грудь.
Итак начнем из комментариев:
- ни когда не мог понять как можно программно все это реализовать, и примеры смотрел и читал литературу, не мог просто и все...регулярные выражения худо-бедно мог составлять, а дальше как о стену...-
Регулярные выражения, это чистая математика. Существует дисциплина, Теория Автоматов. Теория Автоматов повсеместно применяется в вычислительной технике. И любой ПК по сути является конечным автоматом. Более того, ТА используют для написания компиляторов, парсеров, языков программирования (перл очень любит регулярки, Ларри Уолл сейчас должен икать, если он ваш сосед, проверьте как он там), итд. Естественно регулярные выражения тоже автомат. Но только более простой чем скажем ПК.
Чтобы объяснить регулярные выражения, я прошу представить строку в виде ленты с дырочками разного размера и формы, по этим дырочкам скользит считывающая головка (слышен смешок из 5 Б), считав дырочку, нам на дисплее показывается буква или символ. Естественно, мы управляем головкой путем передачи ей определенных правил. К сожалению, нам приходится управлять, если бы машина могла бы сама управлять собой, то я бы прислал открытку с соболезнованиями всем Сарам Конор.
Наши команды - это правильно написанные шаблоны, наша строка бумажная лента. Наше дело правое и мы добьемся от машины того чего хотим.
Циклы.
К сожалению программистам ввиду лени неудобно описывать каждый символ, делать из него шаблон итд. Поэтому другие ленивые программисты придумали циклы. Т.е. мы говорим через управляющую клавиатуру сколько однотипных команд должна сделать считывающая головка.
символы цикла:
+ - хотя бы 1 удовлетворяющее шаблону верно
* - 0 удовлетворений.
Эти циклы можно писать и вот так:
{1,} - соотвественно +
{0,} - соотвественно *
можно явно указать количество итераций (количество раз) которое должна пройти головка,
например {1,4}
ВНИМАНИЕ: Некоторые языки программирования/софт не поддерживают {1,} конструкции.
Строка:
Котейка на когтеточке выдавал нам песни группы Ария

Что мы можем делать с циклами? В прошлом посте мы брали все слова. если бы мы написали [а-яА-Я] без цикла, то мы бы получили 43 символа, с + мы получили 7 подстрок в строке.

теперь давайте найдем слова в строке:
Котейка, когтеточец, терракоторый котлета

как я писал выше, давайте найдем слово "терракоторый"
[а-яА-Я]+кот[а-яА-Я]+
Что я сейчас сделал? Я "попросил" найти слово которое будет искать сначала любые буквы до символов "кот" и, найдя его допишет остаток слова. Результат удовлетворяющий моему шаблону программа выведет на экран.
[Кк]от[а-я]+
Выведет Котейка, когтеточец, котлета
Тут я "попросил" найти слова которое будет искать большую или малую [Кк] в начале, далее строгое соотвествие на "от" и дописывать остаток слов.
Постарайтесь поиграться с циклами.
Специально для пикабу.
http://www.pcre.ru/eval/ - он лайн регулярные выражения
PS За ошибки не ругаем я не Даль.
Показать полностью

Программирование для тех кто хотел бы его изучить часть 4. Погружение в ад. Регулярные выражения. Ч1

Доброго дня пикабушники!
Давайте научимся писать регулярные выражения. Многим покажется это странным, ведь "эй чувак, я не писал кода а ты уже с регулярками! Это нечестно!". Не волнуйтесь, и успокойтесь. Вдохните и выдохните. Регулярные выражения помогут сис. админам, и программистам. Более того, другой программист с 50% случаев нихрена не поймет что вы написали и вы сможете гордо выкрикнуть "БДЫЩЬ! МАГИЯ!".
Для чего нужны регулярки?
Для поиска и замены текста, например, можно составить шаблон на основе слова и мыслеформы. Например: "кот", выкинув такие слова из поиска, как котлета, котлован, терракотовый. Оставив "котейка", "котенок", "котофей", "котейкин", можно заменить всякие слова котами, итд.
Принцип регулярных выражений:
Вообще, трудно объяснить регулярки людям которые не знают алгебру-логику и не решали задачки на Машины Тьюринга. Если вы представляете как работает перфолента (та что с "дырочками"), то вы легко войдете в мир регулярных выражений.
Так что если вы технарь пропускайте смело несколько абзацов и начинайте читать примеры кода.
Если вы ничего не знаете о перфолентах и алгебре-логике, то сейчас лучше бы вам сконцентрироваться.
Применение регулярок на практике, где я могу их использовать?
простые выражения используются для проверки E-mail на web страницах, проверки команд через терминал konsole (в KDE), автозаполение формы поиска, так же регулярки используют для парсинга текста, автозамены текста, проверок записей в БД (базы данных) от ВНЕЗАПНЫХ ошибок.
Почему?
Почти все актуальные языки поддерживают регулярные выражения, регулярные выражения свободны от так строковых переменных, у громоздких языков, например у С# достаточно большие проблемы со строками (сложение строк, вычитание, сортировка в строке итд итд). Можно извращаться циклами, stringbuilder-ами, а можно быстро написать регулярку.
для чего НЕ используются регулярные выражения?
*Для парсинга HTML - во первых это плохой стиль. Во вторых за вами придет сатана, когда вы в будете беззащитны (например засыпать у себя дома в своей любимой пижамке), он подкрадется к вам и сделает что-то ужасное.
*Для очевидных решений - если вы ЗНАЕТЕ что интересующая вас подстрока в строке начинается с какого то там символа, и вы абсолютно уверены в количестве символов в подстроке. Например взять слово "кот":
Мой кот пытался поймать мышку
Мой кот сожрал мои наушники
тут слово "кот" начинается после 4 символа (пробелы считаются) и слово в 3 символа.
То есть вам надо вытащить 3 символа после 4 символа т.е. слово "кот".
Начинаем безумие.
ВНИМАНИЕ!
Нельзя вот так взять и написать 1 регулярку для всего-всего. Скорее всего вам понадобится дюжина выражений.
Выборка слов.
Итак есть строка:
Котейка на когтеточке выдавал нам песни группы Ария
Вывод всех слов [а-яА-Я]+ (исключая пробелы и др символы), или так S+ (укороченная запись, не рекомендую пользоваться ей, сломаете себе голову при отлаживании)
[а-яА-Я] - множество символов которые имеются в нашем слове, черточка - означает "от и до".
+ - означает, что соотвествие должно быть хотя бы одно.
Переведу на руссий язык:
Пожалуйста, найди мне слова в предложении:
Котейка на когтеточке выдавал нам песни группы Ария
где есть символы "строчные русские буквы" и "большие русские буквы", группируй символы до тех пор, пока не встретится спец.символ "пробела".
соотвественно [a-zA-Z]+ уже английские символы [0-9]+ цифры.
Подождите? А что если мне нужны только символы, которые встречаются не по порядку, а скажем например мне нужны символы, а и я? решение просто просто пишите [ая]+ без черточек. что если мне нужен пробел? [ ]+ числа от 0 до 9 и пробел? [ 0-9]+
Выделение слова:
Допустим нам надо найти слово Ария
Котейка на когтеточке выдавал нам песни группы Ария
А[а-я]+
Мы знаем, что первая буква А, далее мы просто читаем все оставшееся до символа "пробел" или до конца строки (если буква я - последняя в строке)
Итак попробуйте простые регулярные выражения:
он-лайн http://www.pcre.ru/eval/ (для языков программирования могут быть внесены ограничения, которые немного урезают регулярки)
В следующем уроке, я постараюсь объяснить выражения, рассказать о циклах, спецсимволах, и группировании символов.
Все вопросы в комментариях.
Специально для пикабу.
PS За ошибки не ругаем я не Маяковский.
Показать полностью

Программирование для тех кто хотел бы его изучить часть 3. Что дальше?

Итак, допустим, мы определились с языком, и выбрали операционную систему. Так же у нас есть идея, красивая идея. Которая поможет многим людям в этом мире (да! Вы придумали программу, которая откроет портал Гераша, и даже лунных камней не понадобиться).
Давайте зададимся вопросом, а что собственно делать дальше?
1. Запись идеи на бумагу.
Не знаю как вам, мне лично помогает записать идею левой рукой на листок бумаги (я не испытываю дискомфорта, у меня 2 руки развиты одинакового). Я стараюсь выводить каждую букву, и думать над идеей.
Конечно, ввиду опыта, я практически сразу оцениваю свои силы и, возможно, откажусь от реализации на данном этапе. НО! Это не значит, что я отказался от идеи.
Старайтесь вырисовывать идею, отвлекаться, но оставаться в теме (я рисую человечков на полях, придумываю разные каракульки, которые показывают на неважность или важность написанного мной предложения)
2. Разбивайте идею на задачи.
Я просто приведу пример:
При написании "шпионского языка" (шифр морзе, Большая Буква означает тире, маленькая буква означает точку), я бы разбил задачу на то, следующее:
1 - теоретическая часть (поставил бы себе время, за которое я выполнил бы остальные пункты)
2 - UML схему (это доступно, ещё можно рисовать человечков)
2.1 нарисовал бы блок схемы
2.1.1. Начал бы дробить схемы на подсхемы, на подподсхемы, чтобы мне в дальнейшем, было комфортно программировать шаг за шагом.
2.2 подумал бы насчет пользовательского интерфейса (это для меня отдельная боль)
2.3. Посчитал бы время, за которое бы я сделал первую работоспособную версию
2.4. И добавил 1,5 времени времени от корявой но более менее работоспособной версии до готового решения в графических трусиках и маечке.
3. Выждать время!
Для хобби программирования, и ОСОБЕННО в программировании графики, очень важно выждать время от записанной идеи до её реализации. Для меня это очень важно и я выдерживаю идею около недели. За неделю, я выкидываю 20% "НЕОЦЕНИМЫХ И ИНТЕРЕСНЫХ" функций, и вписываю 5% функции действительно важных и удобных для пользователя. Будет очень обидно, что после реализации идеи на бумаге и 2 мес разработки, вы поймете что 50-80% классов и функций (это нормально для новичка, не стоит волноваться) бесполезны.
4. Не носитесь с идеей.
Записанная идея, сама себя не расширит, если вы работаете, едите в бистро, или паркуете машину. Расширение идеи в моей голове вспыхивают часто, но после 5-8 минутного размышления о них, я их отметаю, но если их записать, они будут терроризировать меня. Хотя все это индивидуально.
5. Не стесняйтесь обсуждать идею с вашими друзьями. Нет, не с теми с которыми вы тусуетесь и бухаете, а с друзьями которым это интересно. Если вы показываете свою идею в интернете - помните, показывайте идею на тематическом форуме. Показывайте все, не волнуйтесь, многие программисты ленивы, и с радостью дождутся ВАШЕЙ реализации, чем "похитят мысли" и начнут писать что-то своё. За 17 лет программирования я не украл ни одной идеи, но часто пользовался реализацией когда то прочитанной идеи. Если мне что-то не нравится я пишу в создателю приложения.
Специально для Пикабу
Всем бесконечной оперативной памяти и механических клавиатур.
PS За ошибки не ругаем, я не Толстой.

Показать полностью

Программирование для тех кто хотел бы его изучить часть 2. С чего начать?

Перво наперво должна быть идея, без идеи программирование перейдет из разряда "интересно" в разряд "пытка", быстрее чем вы скажете слово "Миссисипи".
Итак давайте разбираться по поводу идей.
Первое, идея должна быть простой, и вы должны понимать, что идея простая (чем больше вы программируете, тем больше вы будете оценивать идеи по силам). Идеи могут быть разные так что вот вам несколько примеров:
1 - автоматический тестировщик сайтов по пограничным значениям
2 - автоматический подбор контента, хотя на picabu
3 - мониторинг погоды с различных ресурсов
3 - http://habrahabr.ru/post/167459/
Какой язык программирования выбрать?
Рано или поздно, программист вырабатывает стойкое отвращение к 1 из языков программирования в то же время обожествляя другой язык (С - Паскакаль, PHP-ASP.net, Ruby-Phyton, C-C++-C#, Assembler - любой язык в принципе, включая тот же ассемблер (Tasm Masm и прочие)).
мой вам совет: НЕ ВЕДИТЕСЬ. Будьте объективны и доброжелательны к любым языкам и с пониманием относитесь к людям и их выбору, мнению, возможно вам придется с ними работать.
Краткий перечень языков с моей колокольни:
Phyton 2.7- простой и красивый язык. Подходит для задач, по автоматизации тестирования и просто выдирания контента с сайтов, мне очень приятно было разрабатывать такие небольшие программки (скрипты) по : опросу теплосчетчиков / электросчетчиков/ датчиков давления в реальном времени. Так же я использую пайтон для того чтобы объяснить племяннику программирование.
С - базука среди языков программирования, я достаточно много выстреливал себе в ноги и уважительно отношусь к нему и ко всем адептам , тем кто хотя бы раз ставил указатель на указатель. Последний раз я использовал язык С для реализации системы определения задымления внутри стойки.
C# - для прикладных задач под windows, где не так важна скорость самого приложения, но необходимо написать огромное количество кода для последующей сдачи на сборку.
С++ - тоже самое под Linux
Assembler - программировал электронные часы, делал пищалку, программировал графику на ZX. Понял что Assembler очень хорошо перестраивает голову в "нужном" ключе.
Pascal- Basic - На basic рисовал домики, круги, движение символа влево и вправо (да мне было 10 лет (1995 год), что вы хотите? движок Doom?) Паскаль был для меня наказанием, когда я слышу слово Паскаль - то в голове возникает преподаватель и его излюбленное "пишем лабораторную на паскале, никаких СИ!"
Есть фортраны, cobol-ы, браинфаки, если вы на них пишите, то вам эта статья покажется бесполезной и "детской" (да я пишу её для людей, которым кажется что программирование - магия и они бы хотели тоже научиться этой "магии").
Какую ОС выбрать?
Без разницы. Вы программист, просто выберите яд по вкусу. Главное не рассказывать всем как "винда сосет, а линукс рулит", главное пользователи, ведь лучше потратить время на доводку программы, чем ругаться на форумах. Или я не прав?
Какую IDE выбратиь?
Можно писать хоть в блокноте, главное чтобы было комфортно.
Моя программа не работает/некомпилируется/ПОЧЕМУ ЭТА ПРАААИСХОДИТ?
Во первых вам надо успокоиться, во вторых ВЫ должны понять, что 99% ваших ошибок сделаны ВАМИ же. Чем больше вы практикуетесь тем меньше ошибок вы будете совершать в дальнейшем. И чем дальше вы будете идти в программировании тем менее уловимыми будут ваши же ошибки (проблема четности, переполнения списков, израсходованная память, потерянные адреса, почему у меня работает а у тебя нет).
Какие бывают программисты?
Промышленные - это программист который весь рабочий день пишет код. Я работал в большой компании и честно слабо себе представлял что из моих классов в конце концов составит сборщик (специалист который соединяет код от программистов в 1 целое). Что ты пишешь? Зачем и почему? Неизвестно, известны только ТВОИ задачи. По мне лучший способ научиться программировать. Кстати, если у вас есть девушка или личная жизнь - забудьте о всех этих посторонних вещах.
Вынужденное программирование - чем сейчас занимаюсь я. Если есть возможность что-то автоматизировать - я начинаю придумывать. Чтобы все работало без моего участия, а данные обрабатывал кто-то другой (да я ленивая жопа), но эти данные я предоставляю в человеческом виде, а не абы как на "отвали".
Хобби программирование - на данный момент я хочу скопировать систему повреждений Dwarf Fortress. У меня нет начальника, нет сроков, я не заставляю себя, но и не ленюсь и стараюсь выделять своему хобби время.
Как писать хороший код?
Я не знаю. Некоторые говорят что мой стиль очень даже хороший, некоторые его терпеть не могут. Просто стараюсь сделать хорошо.
Почему пользователи козлы?
Если вы так думаете козел лично ВЫ. Пользователь дает нам, программистам, работу, деньги, и использует написанное нами ПО. Разве это не похвала за наш серый и невидимый труд? Когда ко мне не приходят баг репорты, я начинаю нервничать, думая, что моя программа никому не нужна и я зря потратил время.
Долго ли учиться, чтобы стать хорошим программистом?
Всю жизнь и ещё чуть чуть.

Литература для того чтобы научиться думать как программист:
http://e-maxx.ru/bookz/files/golub_cord.pdf
любой справочник по С-С++
Специально для Пикабу.
P.S. Не ругайте за ошибки - я не Пушкин.
Показать полностью
Отличная работа, все прочитано!