Бред

Ответить в тред Ответить в тред
Check this out!
Аноним 17/10/21 Вск 13:18:19 2562791761
ji6MCmuPNkw.jpg 250Кб, 1600x720
1600x720
bclAa86ax8.jpg 212Кб, 1600x720
1600x720
Ваши комментарии того, чем мы занимаемся на программировании?
17/10/21 Вск 13:19:43 2562792582
Тебе что-то мешает учить её самому делая то, что тебе угодно?
Аноним 17/10/21 Вск 13:42:40 2562803453
Кто тебе мешает сделать всё в классах с наследованием и без ёбаных goto? Ты сам себе суешь в жопу палку и кричишь от боли
Аноним 17/10/21 Вск 13:45:26 2562804964
Стикер 0Кб, 512x512
512x512
Ой ну и понаписывал, сычуш
17/10/21 Вск 13:46:56 2562805705
Emg2nnWMAE1GUN.jpeg 82Кб, 567x665
567x665
>>256279176 (OP)
удачи добавить туда больше типов оружия и врагов
17/10/21 Вск 13:47:22 2562806026
Аноним # OP 17/10/21 Вск 13:49:09 2562807167
почему все хуесосят goto?

у меня препод увидел это - сказал что за эти гоуту будет бить нас палками почему то
17/10/21 Вск 13:49:56 2562807628
PBKRXjtcLws.jpeg 180Кб, 707x1000
707x1000
>>256280602
нпц услышал, что гоуту плохо из статьи пятидесятилетней давности и теперь бездумно ретранслирует это
Аноним 17/10/21 Вск 13:50:16 2562807769
>>256279176 (OP)
>ostatok
Проиграл. Вас специально там таким неймингам учат?
Аноним # OP 17/10/21 Вск 13:50:52 25628081710
Аноним 17/10/21 Вск 13:58:36 25628125311
image.png 469Кб, 1091x214
1091x214
Аноним 17/10/21 Вск 13:59:31 25628130512
>>256280716
томущо спагетти обсфускация. читать сложна. ведь проще:

XOD();

void XOD()
{
//some_shit
}
17/10/21 Вск 14:02:37 25628148713
RlKhACI.jpg 82Кб, 1366x768
1366x768
>>256281305
И что, предлагаешь опу теперь передавать всё его состояние программы через аргументы функции, лишь бы у него в коде goto не было? Ты дурак? Получится то же самое спагетти. Проблема опа изначально в том, что он ad hoc говно без каких либо структур данных пишет, goto - это следствие.
Аноним # OP 17/10/21 Вск 14:02:43 25628149414
Аноним # OP 17/10/21 Вск 14:03:42 25628154715
Аноним 17/10/21 Вск 14:04:19 25628158516
>>256279176 (OP)
Занимайся на здоровье, что тут ещё сказать.
Аноним 17/10/21 Вск 14:05:26 25628164917
балуюсь.PNG 53Кб, 1220x662
1220x662
>>256279176 (OP)
Я только начал изучать погрирование.
Аноним 17/10/21 Вск 14:08:14 25628181318
>>256281487
я ничего не предлагаю, кек
у опа там и using в мейне

>>256281547
ничего. no return
Аноним 17/10/21 Вск 14:10:03 25628192019
>>256279176 (OP)
Конечно это залупа.
Но это норм для начальных попыток. Потом будешь изучать новую хуйню разную
и писать более поддерживаемые и адекватный код.
мимо .NET Senior dev 450к/мес
17/10/21 Вск 14:11:37 25628199920
E5KJZSLWQBIscnS.png 379Кб, 550x560
550x560
>>256281813
ничего не предлагаю, но высру свои ниибаться полезные поверхностные советы, как будто, если он уберёт using или заменит метки на функции, то сделает его код менее говном
17/10/21 Вск 14:13:02 25628207121
>>256281999
>свои ниибаться полезные поверхностные советы
хуя фантазер
Аноним 17/10/21 Вск 14:14:56 25628216522
>>256280716
Почитай чистую архитектуру Роберта Мартина, там очень хорошо об этом написано в начале книги
17/10/21 Вск 14:16:20 25628223923
photo2020-08-08[...].jpg 37Кб, 640x640
640x640
>>256282071
дебс, я уже объяснил тебе, почему совет "запихни всё в функцию" не сработает, опу по-хорошему надо было начать писать свою хуйню с создания своих типов и операций над ними, он же не сможет банально добавить больше врагов, если продолжит писать в таком шизостиле

но нет, надо посоветовать добавить юзинг, лишь бы высраться, лишь бы сойти за вумного
Аноним 17/10/21 Вск 14:16:25 25628224424
>>256281920
Анончик, подскажи, хорош .net сейчас для вкатывальщиков в России или нужно ждать пока платформа повзрослеет? Я поридж, все вокруг вкатываются на frontend и java с python
17/10/21 Вск 14:19:58 25628244825
>>256282239
я ответил на вопрос опа, почему за гото бьют палками и привел пример. какие ты тут советы увидел, я хз. да и зачем я вообще с тобой разговариваю?
Аноним 17/10/21 Вск 14:23:06 25628259626
>>256282244
Уже давно повзрослела. Одинаково с джавой. Фронтенд с питоном если любишь сидеть на бутылке.
Аноним 17/10/21 Вск 14:24:03 25628263927
>>256279176 (OP)
> Ваши комментарии того, чем мы занимаемся на программировании?
А что не так то?
Аноним 17/10/21 Вск 14:27:11 25628278428
>>256282596
>Уже давно повзрослела
Я имею ввиду объедненный дотнет 5+, ему же пару лет всего. А крупный бизнес обычно не использует молодые технологии. Я видел вакухи для джунов в дс, но там старье на .net framework с виндовс сервером и их бд
17/10/21 Вск 14:28:11 25628282729
fe16fc3855faf5a[...].png 1055Кб, 1080x1440
1080x1440
>>256282448
ты аутист? ты свой говнопример написал очевидно как противопоставление кода, который высрал оп, у функции имя сделал такое же, как имя метки у опа, и нихуя не сделает код опа лучше замена goto на функции

а если закрыть глаза на это, то твой пример вообще нихуя не показывает, почему программа с goto хуже читается, чем программа, разбитая на функции, просто показал синтаксис объявления и вызова функции
Аноним 17/10/21 Вск 14:28:32 25628283930
>>256279176 (OP)
Полное говно. На веь код 2-3 примитивнейшие конструкции, которые зачем-то повторяют много раз, причем однообразно. Не показывают примеры, как можно улучшать читабельность кода и сокращать его размеры при помощи этих же самых ифов и вайлов, как правильно каунтеры считать. Т.е. вы просто топчитесь на одном месте очень долго, а могли бы просто почитать любую книжку по плюсам и уже чуть-чуть шарить в стд и классах.
Аноним 17/10/21 Вск 14:28:57 25628285831
Аноним 17/10/21 Вск 14:29:41 25628289032
>>256280762
Мелкобуква как всегда дебил.
Наверное все стандарты кода тоже 50 лет написали, раз они начинаются с фразы о том, что за готу тебе процессор нужно сжигать?
Аноним 17/10/21 Вск 14:30:47 25628294733
>>256282784
Много проектов на .net core уже
Аноним 17/10/21 Вск 14:31:00 25628295734
>>256282239
>продолжит писать в таком шизостиле
обычный код для первокурсника, в общем-то, вкатуны после курсов что-то подобное и высирают.
Аноним 17/10/21 Вск 14:31:36 25628298435
Аноним 17/10/21 Вск 14:32:43 25628302736
Аноним 17/10/21 Вск 14:33:44 25628307737
>>256279176 (OP)
пиздец

вычисление резистов вынести в класс ( ф-цию )
сделать стейт машину для вычисления разных типов резистов
потом приходи
Аноним 17/10/21 Вск 14:38:30 25628329938
>>256282827
а почему ты не ответил на вопрос опа, м? в следующий раз начинай именно с этого, а не со срача в комментах)
17/10/21 Вск 14:38:53 25628332139
sample-5f8726bd[...].jpg 103Кб, 1066x1000
1066x1000
>>256283077
какая в пизду стейт машина для вычисления резистов, ты дебич? анус свой вынеси в класс

функции достаточно же, которая бы, например, вычисляла конечный урон здоровью, стейт машина тут для самого процесса битвы с врагами нужна
17/10/21 Вск 14:43:56 25628355040
EWr7IPfu400x400.jpg 31Кб, 400x400
400x400
>>256282890
да-да, во всех-всех стандартах кода, как же
https://www.kernel.org/doc/html/v4.10/process/coding-style.html#centralized-exiting-of-functions

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

когда надо выйти из вложенного цикла наружу, то тоже, видимо, надо хуйню какую-то городить с переменной-флагом и ифом во внешнем цикле, лишь бы goto не было
Аноним 17/10/21 Вск 14:44:21 25628357041
Учите тупой ненужный язык для задротов и дедов?
Аноним 17/10/21 Вск 14:45:58 25628365042
>>256279176 (OP)
ебать говнокод ваши кресты
то то мой любимый джаваскрипт...
Аноним 17/10/21 Вск 14:46:32 25628368243
>>256283570
двачую, на кой хуй в 2021 плюсы вообще?
Аноним 17/10/21 Вск 14:47:04 25628370444
унылая хуйня это ваше погромирование. всю жизнь просидеть уткнувшись в разноцветные буковки с циферками. какой ужас.
Аноним 17/10/21 Вск 14:49:22 25628383945
>>256283704
то то на заводе, или продаваном...
Аноним 17/10/21 Вск 14:49:30 25628384546
Аноним 17/10/21 Вск 14:51:45 25628397947
>>256283077
>>256283321
Вы оба ёбнутые какие-то, сами вчера только закончили поди. Ему бы сперва Главный Цикл читабельно оформить на функциях. Какие конечные автоматы нахуй? Рано ещё.
Аноним 17/10/21 Вск 14:54:10 25628410848
>>256283704
>просидеть уткнувшись в разноцветные буковки с циферками
Да как на дваче примерно.
Аноним 17/10/21 Вск 14:54:38 25628413349
>>256283550
> когда надо выйти из вложенного цикла наружу, то тоже, видимо, надо хуйню какую-то городить с переменной-флагом и ифом во внешнем цикле, лишь бы goto не было
Пердиксы не знаю про break?
Аноним 17/10/21 Вск 14:56:33 25628422550
>>256284133
ну брейкнись из вложенного цикла
Аноним 17/10/21 Вск 14:56:46 25628423651
>>256283550
В этом мире кого-то ебет, как пишут красноглазые недоучки?
Аноним 17/10/21 Вск 14:57:18 25628427052
>>256284108
так на дваче я же не по 8 часов сижу.
>>256283845
неа, я понимаю когда погромирование задачи в науке и технике решает, а когда очередной говносайт пилят, это же убожество
>>256283839
на заводе куда интереснее работать.
Аноним 17/10/21 Вск 14:57:31 25628428553
>>256283550
>когда надо выйти из вложенного цикла наружу, то тоже, видимо, надо хуйню какую-то городить с переменной-флагом и ифом во внешнем цикле
Да, разумеется.
Аноним 17/10/21 Вск 14:58:14 25628431554
>>256284270
>так на дваче я же не по 8 часов сижу
Так и код никто по 8 часов не пишет.
Аноним 17/10/21 Вск 14:58:54 25628435355
>>256280345
Делал я ваши классы в жс для браузерной игрушки, сафари вообще не ест нормальный опп после переделывания получилось что то вроде человека с сердцом снаружи
Аноним 17/10/21 Вск 15:00:32 25628443356
>>256284236
так тебе и в 99% и так нахуй не понадобится goto, если ты не красноглазый шиз, любитель няшной сисечки, и пишешь адекватный код
Аноним 17/10/21 Вск 15:00:47 25628444657
>>256284270
>унылая хуйня это ваше погромирование
>я понимаю когда погромирование задачи в науке и технике решает
>унылая хуйня
>погромирование
>задачи в науке и технике решает
>погромирование

я же говорю что ты тупой, сам себе противоречишь
Аноним 17/10/21 Вск 15:01:06 25628446358
>>256284353
>сафари
Проблемы долбоёбов. Ты бы ещё на Интернет Эксплорер 8 жаловался.
Аноним 17/10/21 Вск 15:02:06 25628451959
>>256284463
Скажешь это своему боссу который будет выговаривать что у 1/3 клиентов не работает твой сайт и доходы падают
Аноним 17/10/21 Вск 15:03:07 25628457460
>>256284446
где я противоречу? все погромисты в нии работают? большинство же пилят никому не нужную поебень.
Аноним 17/10/21 Вск 15:03:47 25628461461
>>256284433
клоун, new во всех браузерах поддерживается, сахар с классами через babel конвертируется
Аноним 17/10/21 Вск 15:04:13 25628464162
>>256284574
раз пилят и им за это платят, то наверное всё-таки кому-то нужную, мань?
признай, от тебя просто тёлка ушла к зажиточному программиста
17/10/21 Вск 15:06:44 25628478063
Аноним 17/10/21 Вск 15:08:04 25628484864
Аноним 17/10/21 Вск 15:08:13 25628485865
>>256279176 (OP)
ебу чем вы в байтоблядстве занимаетесь, я беру данные из одной базы и кладу в другую и свои 300к имею.

жаба бекенд
Аноним 17/10/21 Вск 15:09:07 25628491966
>>256284780
я несу истину, просвещаю невежественных хуесосов, освобождаю их от оков, сдерживающих писать говнокод
Аноним 17/10/21 Вск 15:10:23 25628497767
>>256280762
А тебе самому то норм так писать? Не чувствуешь что как то неудобно
17/10/21 Вск 15:10:54 25628500868
Аноним 17/10/21 Вск 15:12:06 25628507969
>>256284519
> у 1/3 клиентов не работает твой сайт
Там максимум 1\10 будет, мань.

>Скажешь это своему боссу который будет выговаривать
Да мне похуй - пусть закладывает время на доработку под этот поехавший браузер.
Аноним 17/10/21 Вск 15:13:57 25628520570
>>256284977
я сам гото не пользую, потому что если нормально писать, то он и не нужен никогда в 99.999% случаях, меня просто бесят хуилы, которые как попугаи повторяют то, что услышали от кого-то вумного

да и вообще код почти не пишу, только в интернете всех нахуй посылаю
Аноним 17/10/21 Вск 15:14:09 25628522071
Вы в пту учитесь? Я тоже в вашем возрасте программировал игры, только на паскале и не такую хуйню. В начале определял собственные типы данных, в которые добавлял все свойства игровых объектов, потом писал процедуры, обрабатывающие переменные этих типов таким образом, чтоб получалась игра.
Алгоритм сражения с орком неинтересен и бесполезен, даже с образовательной целью. По-моему самая доступная для реализации игра это змейка, так там алгоритм перемещения змейки по полю интереснее и полезнее, чем то, что на скриншоте. Мне этот ваш хелловорлд напоминает "калькуляторы" вкатышей, выполняющие действия всего над двумя операндами. Смысл таких программ?
Аноним 17/10/21 Вск 15:14:31 25628524272
Аноним 17/10/21 Вск 15:15:17 25628530173
>>256285220
Мне вообще кажется что графическая игра даже проще делается чем эта ебля с переменными, то есть текстовые ролки пиздец сложно писать а змейку можно за день
Аноним 17/10/21 Вск 15:16:28 25628537774
>>256285008
ты ещё просто не дорос, мой юный ученик

но времени терять не будем, подставляй свою попу, буду рассказывать тебе о том, что наследование - хуйня
17/10/21 Вск 15:17:36 25628545475
>>256285220
> Смысл таких программ?
Очевидно же - научиться новому. Не все же программы в релиз уходят.

>>256285377
Ебошь полный бак.

мимо-5-лет-в-гейдеве
Аноним 17/10/21 Вск 15:18:13 25628548076
>>256283704
так эти буковками и циферками создана платформа, на которой ты находишься и балдеешь. ещё можно другие разные приколы делать развлекушные. а вот формочки стряпать на фреймворке в коммерчсеской разработке уныло, да
Аноним 17/10/21 Вск 15:18:37 25628550077
>>256279176 (OP)
>sword_attack = 0 + rand() % 100
В чем прикол прибавлять 0?
Аноним 17/10/21 Вск 15:20:41 25628562178
Бродяги, всё яд и всё лекарство как говорится. Любую штуку опасно использовать бездумно, если не можешь обосновать необходимость её использования для решения конкретной задачи. Иногда и антипаттерны приходится использовать, если ты отдаёшь себе отчёт и понимаешь все его издержки, понимаешь что в текущий момент плюсы перекрывают минусы. А goto это или что-нибудь другой - не важно. Но стоит помнить, что если вы осознаёте все плюсы и минусы какого-либо подхода применимо к текущей задаче - далеко не факт что тот, кто будет поддерживать ваш код в дальнейшем тоже всё понимает. Используя сомнительные практики вы усложняете работу другим людям, делаете код неявным. Если всё-же костылируете - пишите развёрнутые комментарии, описывайте какую именно проблемы вы подпёрли костылём и почему. А вообще писать код нужно так, будто после вас его будет поддерживать маньяк с бензопилой, который знает где вы живёте. Всех благ.
Аноним 17/10/21 Вск 15:24:37 25628588879
>>256285301
То что мы видим на скриншотах хуйня даже по сравнению со змейкой. Сложно назвать игрой нагромождение иф'ов, проверяющих случайное значение, занесенное в переменную.
Аноним 17/10/21 Вск 15:41:39 25628713080
Аноним # OP 17/10/21 Вск 16:07:59 25628909881
Аноним 17/10/21 Вск 16:11:57 25628935682
>>256289098
Так ты бы его тогда хоть в переменную с понятным названием выделил что ли, а то этот захардкоженный 0 так и просит его стереть нахуй или вообще вынес генерацию в отдельный метод, раз есть какая то логика кроме вызова базового рандома
Аноним 17/10/21 Вск 16:15:10 25628959383
420962-.jpg 178Кб, 801x875
801x875
Аноним 17/10/21 Вск 16:16:56 25628973484
17/10/21 Вск 16:49:31 25629202685
Аноним 17/10/21 Вск 17:15:21 25629358486
>>256285301
> Мне вообще кажется что графическая игра даже проще делается чем эта ебля с переменными
Только с точки зрения геймдизайна.
> а змейку можно за день
А змейку за час можно сделать.
Аноним 17/10/21 Вск 17:17:16 25629373787
>>256279176 (OP)
Пока не прикрутишь полноценный цикл приложения и не сделаешь разные виды врагов и функции к ним через общие интерфейсы, не можешь называться даже вкатышем.
Аноним 17/10/21 Вск 17:24:42 25629427588
>>256289356
Тыб еще каждый оператор в отдельную функцию вынес, долбаебина.
17/10/21 Вск 17:32:19 25629480989
>>256283550
анимедебил обезумел, сможете ли вы совладать с ним
Аноним 17/10/21 Вск 18:10:39 25629750290
>>256294275
Ты слушай что тебе умные люди говорят, а то так и будешь всю жизнь консольные приложения в своей путяге писать
Аноним 17/10/21 Вск 18:28:31 25629859591
Стикер 536Кб, 250x250
250x250
17/10/21 Вск 19:15:52 25630159692
>>256285205
Все профи знают, что гото - признак лоускилла
Аноним 17/10/21 Вск 19:20:03 25630188293
>>256279176 (OP)
>чем мы занимаемся на программировании?
Портите глаза, сидя в темной теме в нормально освещенном помещении.
Проигрываю с пту, в которых нет кафедры охраны труда, где малолетним уебанам объясняют разницу между "черным по белому" и "белым по черному"
Аноним 17/10/21 Вск 19:22:49 25630204494
>>256283550
>и обязательно надо оглядываться на стайлгайды каких-то хуесосов, свой собственный опыт выбросить на помойку
Лол, нет, конечно.
Ведь стайлгайды дебилы пишут. Один ты, со своим собственным опытом, умный, и знаешь, как лучше.
Так держать!
Аноним 17/10/21 Вск 19:29:36 25630243095
>>256279176 (OP)
>Смесь древнего C-стайла и плюсов
>Строки длиннее 80 символов
>goto вместо того чтобы разбить код на функции
Говно/10
Аноним 17/10/21 Вск 19:31:44 25630255796
>>256283550
>#centralized-exiting-of-functions
Потому что это C, где надо вручную за собой говно чистить. С деструкторами потребность в этом резко падает.
Аноним 17/10/21 Вск 19:32:50 25630262797
>>256302430
>Смесь древнего C-стайла и плюсов
Вот на это не гони. Это практически вершина языка, а то, во что сейчас превратили С++ - промудохуеблядская пиздопроеботина
Аноним 17/10/21 Вск 19:35:35 25630280998
>>256279176 (OP)
Продолжим
>30, 31, 32 строки
Это что блядь вообще такое? Ты зачем во все переменные 5 присвоил?

>16 строка
С несколькими объявлениями и присвоениями в одном выражении можно с указателями обосраться.
Аноним 17/10/21 Вск 19:37:30 25630293099
>>256302627
Продолжай намешивать goto и плюсы и рано или поздно получишь undefined behaviour с хуёво раскрученным стеком.
Аноним 17/10/21 Вск 19:38:36 256302998100
>>256302809
>С несколькими объявлениями и присвоениями в одном выражении можно с указателями обосраться.
Как известно, чем меньше строк, тем лучше код.
Все молодые и шутливые вообще все в одну строку пишут.

Ты просто старый дед-пердед, который, небось, еще и за деньги программирует, фу таким быть!
Аноним 17/10/21 Вск 19:43:59 256303345101
>>256279176 (OP)
>IF A
>GOTO
>IF B
>GOTO
>IF C
>GOTO
Сука, тебя обычному функциональному программированию не обучили? Нахуй ты серешь метками и if-ами в простейшем условном ветвлении, где хватило бы даже switch? Ебать какой же каловый салат из говнокода нахуй, некоторым это просто не дано.
Аноним 17/10/21 Вск 19:45:20 256303427102
>>256302998
перебор с жирнотой, ну. попробуй чуть тоньше, а то я с тобой играть не буду
Аноним 17/10/21 Вск 19:47:28 256303560103
17/10/21 Вск 19:48:08 256303591104
image.png 379Кб, 1280x720
1280x720
>>256279176 (OP)
>Ваши комментарии того, чем мы занимаемся на программировании?
>
Аноним 17/10/21 Вск 19:59:35 256304281105
Раз тред еще не потонул, поделюсь своей игрулькой сокобан. Мне за нее не так стыдно на фоне произведения ОПа. Надеюсь разметка не распидорасит текст
Аноним 17/10/21 Вск 19:59:59 256304314106
program sokoban;
uses crt;
type
TMap = array[1..37] of array[1..50] of char;
Coord = record
x, y: integer;
end;
TCheckPoints = record
count: integer;
arr: array of Coord;
end;

procedure initMap(var map: TMap);
var i, j: integer;
begin
for i:=1 to 37 do
for j:=1 to 50 do
map[i, j] := ' ';
end;

procedure addToCheckPoints(var chckP: TCheckPoints; i: integer; j: integer);
begin
inc(chckP.count);
if length(chckP.arr) < chckP.count then
setlength(chckP.arr, length(chckP.arr)*2);
with chckP.arr[chckP.count] do begin
y := i;
x := j;
end;
end;

procedure initCheckPoints(var chckP: TCheckPoints);
begin
chckP.count := 0;
setlength(chckP.arr, 6);
end;

function FindInCheckPoints(var chckP: TCheckPoints; x: integer; y: integer): boolean;
var i: integer;
begin
FindInCheckPoints := false;
for i:=1 to chckP.count do
if (chckP.arr.x = x) and (chckP.arr.y = y) then begin
FindInCheckPoints := true;
exit;
end;
end;

procedure renderChckP(var chckP: TCheckPoints);
var i: integer;
begin
for i:=1 to chckP.count do begin
gotoXY(chckP.arr.x, chckP.arr.y);
write('.');
end;
end;

procedure renderMap(var map: TMap; var chckP: TCheckPoints);
var i, j: integer;
begin
for i:=1 to 37 do
for j:=1 to 50 do begin
if findInCheckPoints(chckP, j, i) and (map[i,j] <> '$') then
continue;
gotoXY(j, i);
write(map[i,j]);
end;
end;

procedure renderActor(var actor: Coord);
begin
gotoXY(actor.x, actor.y);
write('@');
end;

procedure moveObject(var map: TMap; obj: Coord; x: integer; y: integer);
var c: char;
begin
c := map[obj.y, obj.x];
map[obj.y, obj.x] := ' ';
map[y,x] := c;
end;

function isOver(var map: TMap; var ChckP: TCheckPoints): boolean;
var i, j, count: integer;
begin
isOver := false;
count := 0;
for i:=1 to 37 do
for j:=1 to 50 do
if map[i, j] = '$' then begin
if FindInCheckPoints(ChckP, j, i) then begin
inc(count);
end;
end;
if count = chckP.count then
isOver := true;
end;

function isCargoMoveable(var map: TMap; x: integer; y: integer): boolean;
begin
isCargoMoveable := true;
if (map[y, x] = '#') or (map[y, x] = '$') then
isCargoMoveable := false;
end;

function checkCollision(var map: TMap; var Actor: Coord; x: integer; y: integer): boolean;
begin
checkCollision := false;
if map[y, x] = '#' then
checkCollision := true
else if map[y, x] = '$' then
if not isCargoMoveable(map, x+(x-Actor.x), y+(y-Actor.y)) then
checkCollision := true;
end;

procedure moveActor(var map: Tmap; var Actor: Coord; x: integer; y: integer);
var
obj: Coord;
begin
if not checkCollision(map, actor, x, y) then begin
if map[y, x] = '$' then begin
obj.x := x; obj.y := y;
moveObject(map, obj, x+(x-Actor.x), y+(y-Actor.y));
end;
Actor.x := x;
Actor.y := y;
end;
end;

var
i, j, level: integer;
c: char;
actor: Coord;
map: TMap;
f: text;
flag: boolean;
chckP: TCheckPoints;
begin
initMap(map);
level := 1;
initCheckPoints(chckP);
assign(f, 'sokoban.txt');
reset(f);
i:=1; flag := true;
while flag do begin
j:=1;
while not Eoln(f) do begin
c := ' ';
read(f, c);
if c = '!' then begin
flag := false;
break;
end;
if c = '@' then begin
actor.x := j;
actor.y := i;
end
else if c = '.' then
addToCheckPoints(ChckP,i,j)
else
map[i, j] := c;
inc(j);
c := ' ';
end;
readln(f);
inc(i);
end;

repeat
clrscr;
renderChckP(chckP);
renderMap(map, chckP);
renderActor(Actor);
c := ReadKey;
case c of
'w': moveActor(map, Actor, Actor.x, Actor.y-1);
's': moveActor(map, Actor, Actor.x, Actor.y+1);
'a': moveActor(map, Actor, Actor.x-1, Actor.y);
'd': moveActor(map, Actor, Actor.x+1, Actor.y);
end;
until (c = 'q') or isOver(map, chckP);
clrscr;

end.
Аноним 17/10/21 Вск 20:02:07 256304461107
>>256304314
Эх, пробелы проебались
Сам уровень. Взят из Gforth'a. Не успел запилить смену уровней
#####
# #
#$ #
### $##
# $ $ #
### # ## # ######
# # ## ##### ..#
# $ $ ..#
##### ### #@## ..#
# #########
#######!
Аноним 17/10/21 Вск 20:02:55 256304518108
Аноним 17/10/21 Вск 20:19:56 256305520109
по факту опу только на функции переписать + структурки для описания сущьностей игры + простейшую стейт машину для реализации логики игры, этого ему бы этого хватило для обучения первое время
если препод в его шараге нормальный, то примерно так и скажет и попросит переписать код, но сильно сомневаюсь что преподу есть до этого хоть какое то дело
мимо безработный 10 лет программист-заучка
17/10/21 Вск 20:27:57 256305994110
>>256303345
> обычному функциональному программированию не обучили
В голос. Ты бы сперва разобрался, что есть функциональное программирование и чем оно отличается от структурного, а потом лез со своими советами.
Аноним 17/10/21 Вск 20:28:38 256306035111
Аноним 17/10/21 Вск 21:08:12 256308721112
>>256305994
Хуелос. Всю парашу, что он закодил через гоуту можно вынести в отдельную матмодель и целиком вычислять в вынесенной функции, просто передавая туда параметры из свитча. Любая текстовая рпг пишется на матмодели, вафельная ты ослица, а вторая часть про доебки непосредственно к коду к этой мысли не привязана.
Аноним 17/10/21 Вск 21:38:53 256310682113
>>256303345
и чем свитч лучше ифов, лол, точно такое же говнище получится
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов