stalkself

stalkself

На Пикабу
поставил 90 плюсов и 835 минусов
отредактировал 67 постов
проголосовал за 75 редактирований
25К рейтинг 20 подписчиков 7144 комментария 66 постов 3 в горячем

С++ и муки проникновения

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

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

Интереса ради, решил хотя бы составить хотя бы первичное приблизительное представление о таком всем известном монстре, как С++, и для начала рискнул перевести на него имеющийся мини-проект пазлов, реализованный в старом добром Дельфи.

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

Неделя страданий и вуаля:

С++ и муки проникновения Разработка, Программирование, C++, Delphi, Программист, IT, Длиннопост

Имею два идентичных ехешника разного размера, скачать которые можно по ссылкам:


С++ вариант:

https://mega.nz/file/ZEEzGLJQ#3htC3RMzhlbw0-xS9DZ0SwtyqPOhXV...

Delphi:

https://mega.nz/file/RVl1wKQI#frhBOl5nGsrT_dVGbPYM3e7dOg4rMp...


Каких-то особых отличий в эффективности и скорости и не заметил. По-моему вариант на Delphi более стабилен и работает чуть быстрее. С другой стороны С++ вариант весит меньше, но не критично.

Осталось еще попробовать зафигачить алгоритм на Яве, чтобы сделать браузерный вариант игры.


Сам перевод с одного языка не оказался прям уж сложным, но в паре мест, пришлось даже обратиться за помощью к старшим товарищам, которые сходу стали предлагать многокилометровые варианты решений.

Ну и собственно немного размышлений на тему.

Первое впечатление - C++ это неудобный и отвратительный язык, непонятно зачем существующий. Он не является достаточно низкоуровневым, и при этом неудобен для конечного пользователя.

При переводе с обычного Паскаля на си, возникло множество явных трудностей, начиная с невозможности напрямую обращаться ко многим используемым в библиотеках объектах, и заканчивая идиотским компилятором (ну это скорее вопросы к Эмбаркадеро), который запросто пропускает недостачу знака "=" в результате чего алгоритм начинает работать просто непредсказуемым образом.

Что выбесило:

Опять же, невозможность использовать многие нужные классы и методы напрямую, только через указатели, причем опытные сиплюсплюисты рекомендовали использовать умные указатели, из-за которых код начинает превращаться в какой-то маловразумительный гипертекст

Отсутствие динамических массивов - не, ну так-то по факту они есть, но объявляются опосредованно, по типу:

int a[lenght]; где lenght требуемая длина из переменной, но по факту это все то же самое статическое объявление в процедуре, поскольку не зная конкретно значение, объявить массив глобальным, доступным для других процедур не получится. Для Дельфи - это вообще не проблема. Можно объявлять когда угодно и где угодно.

Исключение векторы - но с ними опять же заметно усложняются самые простые вещи.

Массив, тем более многомерный, вообще является одним из основных элементов любого языка, поскольку на практике приходится их часто использовать в самых разных задачах.

Такое отношение к нему считаю недопустимым.

Далее циклы:

Тот же for по сути является все тем же while, для которого просто вынесена в заголовок операция изменения условия (счетчика цикла).

Цикл от нуля до десяти:

for (i==0;i<=10;++i) {}

это все то же самое

while (i<=10) с заранее заданным значением i, у которого операция со счетчиком осуществляется внутри тела.

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

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

Если разделить целое i на вещественное j, есть шанс получить округленное значение (в моем случае до нуля). Приходится сначала приводить целое к вещественному типу, а только потом уже делить его.

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

А еще повсюду указатели, указатели на указатели, указатели указателей, разыменование указателей с указанием разыменованного указателя, указание разыменования с указанием указателя на указатель и так до бесконечности...

Короче, С++, давай до свидания. Чувствую не выйдет из меня айтишника. Уже подумываю о покупке вебки.

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

Запрещенные знаки

Создатели игры видать что-то такое знали или предчувствовали?

Запрещенные знаки Call of Duty: Modern Warfare, Игры, Танки, Абрамс
6

Паззлы на дельфи V2

Всем привет. Выкладывал ранее программку, написанную на Delphi, но решил улучшить ее, выбрав совсем другой алгоритм нарезки паззлов из любой произвольной картинки. Получилось вот такое:

Паззлы на дельфи V2 Программирование, Delphi, Дельфи, Разработка, Gamedev, Инди игра

Что исправил:

Внешний вид паззлов можно настраивать, изменяя их до неузнаваемости.

Более простое меню, достаточно поочередно нажать три картинки:

Паззлы на дельфи V2 Программирование, Delphi, Дельфи, Разработка, Gamedev, Инди игра

Работает намного быстрее - теперь не нужно утомительно ждать, пока программа начертит паззлы, все занимает буквально 3-4 секунды, за счет отказа от использования медленных функций GDI.

Пофиксил ошибки, связанные с переполнением памяти и неправильной обработкой картинок.

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

Скачать, если кому интересно можно здесь:


https://cloud.degoo.com/share/CUc-RIcDNG2xxySI4ZtQXg


Отсутствует реклама, донат и попрошайничество. Все полностью бесплатно и свободно.

Единственное - у меня нет сертификата издателя для Delphi, поэтому могут ругаться некоторые антивирусы. Если есть сомнения - всегда можно проверить антивирусом.

Если найдутся баги, всегда буду рад их исправить.

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

Да что у вас там происходит вообще?

Да что у вас там происходит вообще?

По старым следам

Бывает такое, что смотришь какой-нибудь не сильно актуальный ютубовский ролик, и думаешь такой, ну какое же оно... и пишешь такой всратый коммент. И тут же, находится твой же коммент, оставленный 3-4 года назад, и о чудо, он такой же точно, прямо слово в слово. И ты такой:

По старым следам YouTube, Хорошо, Декаданс

Немного о гиперболах

Добрый день. Не очень силен в математике, но интересует такой вопрос:


Как определить гиперболу, вписанную в определенный угол, например так:

Немного о гиперболах Математика, Геометрия, Кривые, Кривые Безье

или вот так:

Немного о гиперболах Математика, Геометрия, Кривые, Кривые Безье

интересует для произвольного угла, и вообще существует ли решение?

от чего будет в данном случае зависеть формула кривой, если известен угол наклона (диапазон 0-90 градусов к примеру).

Вопрос сугубо практический, делаю игру, и не пойму, как строить алгоритм в данном случае.

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

Святая простота

Шумные дети и соседи снизу

Полтора месяца назад мы переехали в новую квартиру после её капитального ремонта.

Дом серии П-3. Сняли старые лаги (ну такие, досочки сантиметров по 5) и паркет, залили бетонную стяжку, положили ламинат, плитку и линолеум в детской. Звукоизоляцию не делали.

Ну и вот сегодня пришёл сосед и сказал, что «мне очень не хочется ссориться, но я на вас подам в суд и выиграю, потому что вы сняли лаги, нарушили звукоизоляцию, и я всё слышу».

Слышит он детей 4 и 1,5 лет, их крики, топот, плач. Дети действительно громкие, но с 9 вечера до 7 утра у нас тишина. С 13 до 15 (в сон младшего) тоже обычно тишина.

Назвал мне номер какого-то СНИПа, который мы нарушили. Про суд повторил раза три. Типа: снимайте все полы и делайте лаги, иначе придётся в суд.

Вопросы: он правда может выиграть такой суд? Какой СНИП мы нарушили? Что делать-то вообще? На новый ремонт у нас денег нет совсем.


Честно утянул отсюда:

https://malyshi.livejournal.com/67563634.html


Вот надо мной, когда был обладателем квартиры, тоже жила семейка подобных упырей. И подозреваю, они сделали все ровно то же самое. Можно, кстати, перечитать мои старые записи, где изливал свою боль и негодование.

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

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

Если бы молодость знала

Вспомнил свои музыкальные предпочтения, когда было 18 и ужаснулся. Вместо того, чтобы слушать нормальную музыку, постоянно крутил богомерзкий блатняк, навроде Круга и Кучина. Иногда даже размышляю о том, как вернулся бы в прошлое, и удивил круг друзей и знакомых новыми музыкальными предпочтениями, случая Арию, КИШ, Агату Кристи или хотя бы Сплин.

Хз отчего так, возможно с годами приобретаешь какой-никакой вкус, но скорее всего играет роль конформизм.

39

Игра на Delphi

Решил сделать несложную игру на любимой Дельфи. Что-то вроде разновидности тетриса, по мотивам игры "Веселый водопроводчик" из олдскульной Денди.

Игра на Delphi Разработка, Игры, Компьютерные игры, Инди игра, Инди, Gamedev, Delphi, Программирование

Задача собрать замкнутую конструкцию из труб, чтобы заработать очки:

Игра на Delphi Разработка, Игры, Компьютерные игры, Инди игра, Инди, Gamedev, Delphi, Программирование

Что постарался реализовать:

Выбор размеров игрового поля (ширина и высота)

Выбор размеров блоков (эти параметры зависят друг от друга)

Выбор фона игры

Звук он/офф

Количество цветов труб (от одного до четырех)

Предельно простое управление - всего 4 клавиши, влево/вправо, вниз чтобы блок упал быстрее, и вверх для вращения блока.

Есть граната и бомба для расчистки игрового поля.

Ну и собственно все.


Ссылка для скачивания, если кому интересно:

https://cloud.degoo.com/share/XtGpqTJepbNsCiAsBgXi-Q


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

И еще: при загрузке на программу может ругаться антивирус или защита виндовс, это все из-за отсутствия сертификата издателя для Дельфи.

Самая дешевая версия сертификата будет стоит достаточно много, как для простого хобби денег, поэтому "продукт" предоставляю как есть.

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

Служба безопасности

Опять позвонили мошонники, как раз покупал хлеб в магазине.

Диалог был такого типа:

- Добрый день, бля-бла-бла, вас беспокоит ПриватБанк.

- Здравствуйте, а кому вы звоните?

- Вам.

- А кто я?

- А вы не знаете, кто вы?

- Я-то знаю, а вы, знаете?

- Ну знаете ли...

- Ахах, вечер в хату, арестанты...

- Гудки...

Даже продавщицы в магазе заинтересовались, и поделились своими историями.

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

Отличная работа, все прочитано!