Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3

Игра "SUPER MARIO" или "SOLDIR OF MARIO"

28.01.2025, 13:58. Показов 20302. Ответов 211
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие мои братья и сёстры!

Игра "SUPER MARIO" или "SOLDIR OF MARIO"

Да да!

Добавлено через 19 минут
Господь сподобил меня Своей милостью, я, когда-то, писал вот эту игру - она была написана, когда я окончил школу и поступил в ВУЗ, летом.

Видео процесс игры и работа в редакторах кирпичиков, ролик сети 'You Tube', длительность ролика около 9 минут.
Кликните здесь для просмотра всего текста


И, что хочу вот сказать: перед тем, как Господь поднял меня, это было рано, в пятницу 13 февраля 1998 года, я являлся в то время лаборантом на кафедре вычислительных машин. К.г.(*), я написал игру под названием "SOLDIR OF MARIO" - "Солдат Марио", как смесь игры Super Mario (c TV приставки "Dendy") и игры Soldier of Fortune ("Солдат Фортуны") с небольшого ZX-Spectrum компьютера (памяти у него было всего 64 килобайт) в 96-97 годах, летом, почти в то время не спал и не ел, потому что меня накрыла настолько сильная волна поддержки, у меня было постоянно состояние эйфории, пока я, практически не отрываясь от экрана монитора занимался программированием "Soldir of Mario"

И, вот, разработка этой игры очень здорово помогает понять и как устроен и задуман наш мир.

https://github.com/wiz3267/mario

Добавлено через 4 часа 52 минуты
Программистам, которые занимались разработкой игр, лучше, как мне кажется, легче понять, что мир, в котором мы живём, очень интересно устроен. Никаких случайностей, тут, конечно нет. Прежде, чем реализовать проект, Господь размышлял - а какой это будет мир, ад или рай. Если рай, тут одна цветовая гамма, все цветы радуги, небо было необходимо создать голубоватого цвета, траву - зеленого, облака - белыми, хлеб - белый. Но этого мало. Нужно ещё разработать все живые организмы - какова будет взаимосвязь всех животных и существ экосистемы. Нужно создать некоторые вещества, без которых невозможна жизнь любого организма - вода H2O и кислород - просто О2. Также, кроме всего прочего, это вещество должно будет обладать рядом важных для жизни свойств - при 0 градусов оно должно начинать закристаллизироваться и становится жестким, твёрдым веществом, однако свойства у него будут таковы, что оно не будет тонуть в воде. Почему так - в таком случае зимой водоёмы с водой будут покрываться корочкой льда, и можно в таком случае ходить по воде (всем людям). Ну и так далее. Один организм должен будет питаться другим. Главный герой или персонаж этого мира - человек. Человек должен состоять не только из костей и мяса, но как венцу творения у Человека будет бессмертная душа, "Я", сознание и память. Человек будет способен своим сознанием быть в высших сферах подсознания и общаться с Бесконечным Богом.

Каковы должны быть размеры этого мира, продолжительность дня и ночи, продолжительность года, как и вокруг какой оси должен вращаться этот мир, скорость движения вокруг Солнца (основной светильник), какое должно быть расстояние от Солнца до Земли, мощность Солнца, чтобы была возможность жить на планете людям и другим живым существам - короче говоря, чтобы мы, жители планеты Земля, не поджарились летом на Солнце и не замерзли зимой.....и т.д. и пр. и пр., будет ли вокруг этого земного мира вращаться ещё один - планета Луна - если да, то какова должна она быть, радиус планеты Луна, скорость вращения вокруг Земли, скорость вращения вокруг оси и наклон оси, рельеф местности.

Ну и, самое главное, а каков будет сам-то Человек, Венец Творения? Как он должен выглядеть? Потом, по истории строительства нами Вавилонской башни, когда древние люди решили построить башню до неба - Господь расстроил их планы, произвёл разделение языков у строителей Вавилонской башни. До селе, они говорили на одном самом первом древнем первоязыке, а тут они заговорили, вдруг, внезапно, на самых разных языках и наречиях, они перестали понимать друг друга, остановили на время строить башню, заморозили строительство, как бы сказали сейчас, спустились с неё и разбрелись по лицу всей Земли. Всё это написано в книге "История нашей Вселенной - от создания до падения", где самым подробным образом описана история Землян, что случилось с Землянами: почему они, начав за "здравие", окончили уже за "упокой", переубивали друг друга, разрушили сами себя, превратили свою планету в самый настоящий ад. Увы. Чтобы люди на будущее знали, как не следует поступать и жить, смотря на эту трагическую гибель нашего с вами Земного мира - планеты Земля Солнечной Системы Галактики Млечный Путь.
3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2025, 13:58
Ответы с готовыми решениями:

Super Mario
Привет Ребята! Помогите, пожалуйста, найти ошибку! #include <SFML/Graphics.hpp> using namespace sf; int ground = 400; ...

Super Mario на C++ и OpenGL
Всем привет. Решил написать марио на opengl. Пока это все без текстур. Проблема в том, что уже который день не получается написать...

Персонаж super mario не видит коллизию
помогите пожалуйста с кодом,уже всю голову сломал, персонаж не видит коллизию,проваливается сквозь блоки,прикладываю класс игрока package...

211
-308 / 7 / 0
Регистрация: 06.08.2023
Сообщений: 338
05.03.2025, 19:07
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от zorxor Посмотреть сообщение
картинка увеличится.
именно то же самое что и хокус покус - просто наверное у вас криншот с маломощного пк, там графика хорошая, так и в кролике, в сонике не знаю - не видел. но сюжет вроде там похож по описанию, хотя я в сонике не читал, но видел скриншеты

Добавлено через 5 минут
Цитата Сообщение от zorxor Посмотреть сообщение
Дело в том, что автор кода этой игры являюсь я, и могу ответить на любой Ваш вопрос по поводу игры - а что делает такая-то функция или класс, как работает это или это
это как раз не особо интересует, а вот что я писал выше - что то типа очков за обмен пираток, депремирование рейтинга производителей других игры, в виде сайта или сервиса. вводишь игру - смотришь и торгуешься или жмешь что вообще не понравилось, что хочешь обменять например на передачу популярности другой игре. вот например так я хочу обменять очки от игры в марио на очки в игру хокус покус, и через коэфициент годов и процентных ставок ей начислятся например 80% очков от марио, а у марио вычтутся очки за скачивание пираток, например у марио станет -10 очков, а у хокус покус +8 - вот такой сервис по моему необходим, но смотря насколько он дорогой, так как цель - отнять кредитную лояльность банков у производителей марио и передать ее производителям хокус покус, вот такой сервис я предлагаю вам создать вместо игры - он хотя бы будет приносить пользу обществу - будет экологичнее производство игр
0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
05.03.2025, 19:50  [ТС]
b1anco, просто это форум программистов, Вы, главное, не отчаиваетесь, если у Вас пока что-то ещё не получается с занятиями программирования машин. Правда, хотел бы Вас предупредить, что когда я эту игру писал-рисовал, а после остановился над дальнейшей работой над игрой, в другие игры мне уже не захотелось играть: дело в том, что сам процесс создания и программирования игры становится намного мне интересней, чем просто играть...ну как-то так...Но после этой игры я уже не играл больше ни во что. Мне это стало просто не интересно.

Добавлено через 25 минут
Цитата Сообщение от b1anco Посмотреть сообщение
это как раз не особо интересует, а вот что я писал выше - что то типа очков за обмен пираток, депремирование рейтинга производителей других игры, в виде сайта или сервиса. вводишь игру - смотришь и торгуешься или жмешь что вообще не понравилось, что хочешь обменять например на передачу популярности другой игре. вот например так я хочу обменять очки от игры в марио на очки в игру хокус покус, и через коэфициент годов и процентных ставок ей начислятся например 80% очков от марио, а у марио вычтутся очки за скачивание пираток, например у марио станет -10 очков, а у хокус покус +8 - вот такой сервис по моему необходим, но смотря насколько он дорогой, так как цель - отнять кредитную лояльность банков у производителей марио и передать ее производителям хокус покус, вот такой сервис я предлагаю вам создать вместо игры - он хотя бы будет приносить пользу обществу - будет экологичнее производство игр
Вы уж меня простите, но я таким не занимаюсь. Это не моё.

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

Я не люблю банки и прочие мыльные МММ пузыри, мне это не надо всё. Тем паче, я живу в таком государстве, где мне могут заморозить, обнулить мои сбережения - хотя мне лично всё равно, у меня всё равно нет денег за душой, в банке на карте. 13 тысяч рублей, что дают 5 числа, пенсию, расходятся очень скоро. .... modify, please... я могу понять, почему российский учёный-математик, ведущий аскетический образ жизни, отказался от всех этих миллионов, которые ему захотели подарить в качестве премии. Я с ним полностью согласен - его спокойная жизнь до селе, прекратилась бы. Тем паче, он же не глупый человек - если бы это всё сделали в тайне - это одно дело, а если тут объявили бы по ТВ, что Перельман получил миллион денег, что тогда бы надо было сделать ему, трястись потом от страха, чтобы к нему не подошли какие-нибудь бандюги местные и отобрали бы у него эти деньги? А ему это всё надо, отшельнику? Он без этого счастлив намного больше, ему не нужны эти деньги. Нет их - нет и переживаний об этом, голова не занята мыслью, как эти деньги сохранить или не потерять. Если отшельник много времени молчит и ни с кем не общается, он знает в таком случае силу молчания и спокойствия. Ну, как-то так.

И, возможно, эта игра избавит Вас или ещё кого-то от игровой зависимости. Разберётесь, как устроена игра, из чего она состоит, из каких частей, напишите Сами игру, подобную этой или ещё др. и всё. возможно больше Вы играть не захотите, Вы избавитесь от игровой зависимости.

У меня же постепенно угасают в последнее время интересы, наверное, из-за антидепрессантов - мне всё равно на всё. Безразличие. Я практически не испытываю никаких эмоций (иногда бывает радость, это очень хорошо)

Добавлено через 14 минут
Вот, понимаете, Вы должны понять меня правильно: я просто на самом себе объясняю, до чего может довести длительное занятие программированием. Не обязательно игры - посмотрите на главной странице этого сайта - сколько разных технологий существует. Но, внимание! Занимались всей этой разработкой не один, конечно, а тысячи и тысячи программистов, в том числе из Индии и Африки и Японии. Африканские программисты ценятся, также и Индийские программисты. Японские тоже (да таже игра Magikal Kid Wiz - это японская игра, японские программисты и музыканты трудились). Ну и занимала она, наверное, 32 Кб - там можно даже было картриджи вставлять на тех машинах из детства, MSX - 2. 32 килобайта.

Вы один, единица, что может сделать один человек?
0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
08.03.2025, 08:38  [ТС]
sorry...
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
08.03.2025, 13:55
Цитата Сообщение от zorxor Посмотреть сообщение
sorry...
всё нормально.

Это чёртова "логика" — смысл только внутри логики,
выход за её пределы в открытую безразмерность ведёт к депрессии.

сапиенсы любят "логику", потому что она, как оазис в нечеловечной пустыне безумия,
в котором(оазисе) можно предаваться сладким синтетически логичным иллюзиям...
1
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
12.03.2025, 19:30  [ТС]
XLAT, здравствуйте, добрый день!

XLAT, поймите меня правильно: я написал очень большое число программ и компьютерных игр. Пожалуй, игра в "змейку", с которой у нас, детей - выкидышей из СССР, и началось знакомство c Японской Машиной Yamaha MSX-2. Машина была удивительная (и отличалась большой добротой. Таких добрых машин больше я в своей жизни уже не видел никогда), на неё установили 128 Kb RAM, 128 kb VRAM. На таких машинах можно было писать игры, основанные на поддержке уже железа: это удивительная звуковая микросхема (3 канала генерации звука и один канал - шума) и удивительная на то время видео микросхема, с аппаратной поддержкой спрайтов и разных видеорежимов, при помощи таких возможностей железа, его внутренностей, для этой машины написаны игры с фоновой музыкой, так как, поскольку, за вывод звука отвечает отдельная внутренность, это звуковой чип. Основной, центральный микропроцессор в этом участие не принимал, да и частота тактового генератора была совсем не большой, 3 миллиона Гц. Есть очень даже неплохие, игры, например Zanac - это, конечно, удивительное достижение было на то время. Шок. Ребёнок становился зависимым сразу же после первый игры на компьютере - становился цифровым наркоманом. Больше уже он без него жить не мог: потому что та доза дофамина, серотонина и норадреналина, выбрасываемая в кровь ребёнка оказывало такое эйфоризирующее воздействие и трансовое (или предтрансовое) состояние у рёбенка. Это начало цифровой наркомании. Возраст 10 лет. А сейчас, мне кажется, почти с пелёнок у дитятка в руках смартфон - тут не далеко уже и до цифровой диверсии и цифрового отравления сознания ребёнка. Это псих- и нлп-технологии.



Одна и таже незатейливая мелодия могла играть многие и многие часы, поражая воображение и психику, мозги, детям и подросткам. Это, кстати говоря, одна из технологий перевода человека-игрока в несколько иное психофизическое состояние (состояния транса и эйфории) - мы же были дети тогда, было нам совсем ещё немного лет в то время. Измененное состояние сознание у нас, 10 летних детей в то время, отличалось удивительной эйфорией и состоянием, вызванной воздействием на нас 15-ью машин - это состояние транса или близкое к нему предтрансовое состояние. НО! Что потом из этого получается - дети и подростки, ребёнки, вместо того, чтобы проживать те годы больше на улице, на природе, общаясь в нормальной компании или занимаясь сами чем-то полезным для себя - сидели и сидели многие и многие часы-дни-месяцы-годы просто за прохождением тех игр, типа Mario из Dendy и пр. Почти наркотическое привыкание после первого же знакомства с машиной - ты ждал, когда же наступит тот день, раз в неделю, когда у нас проводили занятия. Японцы гении. Японские музыканты и японские программисты!

Сама по себе повторяющаяся мелодия может ввести человека в состояние транса, подобно мантре, когда много раз повторяется какой-то набор слов, смысл которых человек может даже и не знать, например, призывание на помощь Кришны (мантра "Харе Кришна" - это обращение к Кришне - Слава Тебе, Кришна, Ты очень добрая и хорошая, Ты Самая лучшая, лучше Тебя ни Кого больше нет, помоги). Но я сам не люблю разговаривать и общаться с Кришной, Она мне не нравится. Сама о Себе Кришна говорит, что Она на половину - Бог, (полубог), и обладает огромным числом Энергии и огромным быстродействием, это поражает воображение: я не связываюсь и не обращаюсь к Ней за помощью. Чтобы Кришна поскорее от Вас отстала, Ей просто нужно сказать, что Она самая лучшая и хорошая, лучше Её на свете нет. Этого будет достаточно, Она будет удовлетворена этими словами.

После окончания применения этой технологии на нас, 5-классников эпохи СССР, мы выходили из здания счастливые и довольные и разбредались затем по городу, каждый идя сам к себе домой...

Добавлено через 1 час 27 минут
В итоге то что - машина, в итоге, полностью поражала психику ребёнку и высасывала из него всю психическую энергию - ребёнок становился ментальным калекой.
0
Модератор
 Аватар для long399
2886 / 1848 / 933
Регистрация: 16.10.2013
Сообщений: 5,254
Записей в блоге: 15
13.03.2025, 05:29
Цитата Сообщение от zorxor Посмотреть сообщение
Есть очень даже неплохие, игры, например Zanac - это, конечно, удивительное достижение было на то время. Шок. Ребёнок становился зависимым сразу же после первый игры на компьютере - становился цифровым наркоманом. Больше уже он без него жить не мог: потому что та доза дофамина, серотонина и норадреналина, выбрасываемая в кровь ребёнка оказывало такое эйфоризирующее воздействие и трансовое (или предтрансовое) состояние у рёбенка.
У меня было в детстве что-то подобное. Мне очень нравились игры по сериалу CSI. Там тебе нужно было расследовать разные преступления, собирать и анализировать улики, вести допросы, изучать в морге трупы жертв и т.д.
Кликните здесь для просмотра всего текста

Но это все прошло со временем. Цифровым наркоманом я не стал. Сейчас самому лень проходить игры. Разве что на ТыТрубе глянуть прохождение - вот мой предел.

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


Цитата Сообщение от zorxor Посмотреть сообщение
В итоге то что - машина, в итоге, полностью поражала психику ребёнку и высасывала из него всю психическую энергию - ребёнок становился ментальным калекой.
Видимо, это крайний случай. Один из ста, один из тысячи...
1
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
14.03.2025, 19:41  [ТС]
Здравствуйте long399!

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

Просто это очень и очень важно. Почему? Ну, в первую очередь потому, что родителям легче "подсунуть" своему ребёнку гаджет или компьютер. Пусть играет или смотрит ролики. А понимают ли родители, к чему всё это в конечном итоге может привести их деток? Не думаю. Ребёнок их уставился в компьютер с открытым ртом и находится в трансовом или, близким к нему, предтрансовом состоянии..Мать рада, может своими делами позаниматься. Ну это почти то же самое, что и "отстань, я мою посуду". Ну не знаю. Я не знаю. Я не знаю. Это как электронная соска для ребёнка. Однако последствия такого могут быть самыми печальными. У самого меня детей нет, почему это другой вопрос (потому что это и ментальное заболевание мозга, и длительное употребление самых разных психотропных средств и пр. причины, типа не желания вообще со всем этим связываться - мне уже 45 лет), но зато у меня есть младший меня на 8 лет брат, и когда он был ещё совсем маленьким ребёнком, он с большим удовольствием играл в спектрум и в его 8-битные игры.

А вообще, когда я обучался в ВУЗе, на одном из профильных предметов (по электронике и.м.х.о.) преподаватель нам рассказывал о такой цифровой диверсии, что в СССР прислали целый вагон документации по уже не актуальному микропроцессору и системе ЭВМ. Тем самым осуществили цифровую диверсию. Срок Союза ССР уже подходил к концу тогда. Это было сделано специально для того, чтобы учёные СССР изучали эту уже отставшую машину, а не делали что-то своё, свою разработку, в которой 100% уверены и в которой 100% нет никаких закладок, чтобы какой-нибудь дядька скрудж не нажал у себя на пульте управления кнопку, после чего спутник подаст сигнал, и процессор просто напросто отключится после этого. Есть такой Игорь Ашманов, специалист по ИИ и аддикциям, связанными с электронными гаджетами и о возможностях использования гаджетов, о которых предпочитают не говорить (типа постоянной слежки через камеру и микрофон и пр.). Так вот он заявлял как-то, что сейчас достаточно, чтобы вражеский спутник, пролетая над территорией Российской Федерации, подал команду на отключение смартфонов, после чего они станут мёртвыми кирпичами. Это называется цифровой диверсией. + ещё такая вещь, когда специалисты обнаружили, по-сути, отдельную микроЭВМ (бэкдур) на одном кристалле с основным процессором, которая работала даже когда компьютер выключен, и которая имеет, естественно, выше приоритет (ну, как программа-монитор), чем основной микропроцессор, и плевать она хотела на все ограничения защищенного режима, её пофиг на это, она может считывать и записывать любую физическую ячейку памяти и может отсылать по сети скрытно любые данные - у них волосы дыбом стали. Я сам в начале не поверил, но информация на серьёзных ресурсах (типа хабр) подтверждала, что это не фейк. Но я сам лично не проверял всё это, просто поверил на слово, как информации с серьёзного и ответственно ресурса.

Добавлено через 1 час 29 минут
И, пусть у меня это будет бредом и паранойей, но, исходя из собственного жизненного опыта, у меня, почему-то, складывается ощущение, что вся эта, простите, байда с этой всей электронной техникой нужна лишь для одного - полного разложение и растление нашего народа и нашего подрастающего поколения. Сейчас они ещё дети, подростки, но, пройдет ещё не много времени, и мы станем стариками, а они - будут занимать места в системе. Пожалеют ли они нас? Не отправят ли, простите, "на мыло"?
0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
15.03.2025, 11:55  [ТС]
Так выглядит код реализации меню:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
int  SUPERMARIO::MenuConfiguration(void)
{
    Keyb.clear();
    scr.clear();
    scr.update();
 
    Timer.Restart(60);
 
    int y=8;
    double t=0;
 
    
    int N=4;    //число элементов меню
    char far * txt[]=
    {
         "1. ЗВУК (ЕСТЬ)",
         "2. МУЗЫКА (ЕСТЬ)",
         "3. ПЕРЕНАЗНАЧЕНИЕ КЛАВИШ",
         "4. ВЫХОД"
     };
 
    int TitleNew=-1;    //т.к. перед использованием TitleNew увеличивается
    int nm=0;
    int py=y;
    double levelx=0,speed_levelx=2.5;
 
   while ( !Keyb[KEY_ENTER] )
   {
    SCREEN &Screen=scr;
 
    //**** построение изображения *****
    Screen.setcolor(15);
    Screen.setbkcolor(0);
    Screen.rectangle(0,0,320,200,0);
 
    //вывод строк меню на экран
    for (int k=0; k<N; k++)
    {
        double  
                x1=(320-8*strlen(txt[k]))/2,
                y1=k*26+y*4;
 
        if (k == nm)
        {
            scr.rectangle(int(x1),int(y1),8*strlen(txt[k]),24,3);
        }
 
        //string str(&BigFont,txt[k]);
        //str.Show(x1,y1);
        scr.locateXY(int(x1),int(y1));  
        scr.putText(txt[k]);
 
        //вывод указателя
        int px=20;
        Sprite.Show(int(x1-20),int(y1)-1,SPRITE_POINTER);
 
    }
 
    //если нажали клавишу ВВЕРХ
    if ( Keyb[KEY_UP] && py>y )
    {
        Keyb.Set(KEY_UP,0);
 
        py-=2;
        nm--;
        t=0;
    }
 
    //если нажали клавишу ВНИЗ
    if ( Keyb[KEY_DOWN] && py<y+(N-1)*2 )
    {
        Keyb.Set(KEY_DOWN,0);
        py+=2;
        nm++;
        t=0;
    }
 
    while (Timer.Counter <2);
    Timer.Counter=0;
 
    scr.color=rand()%256;
    scr.center(15, "Солдат Марио");
    
    static t=0;
    scr.color=t;
    scr.center(200-15, "(c) 1997-2008 Wiz");
    t++;
 
    scr.update();
 
    }
 
   Keyb.clear();
   return nm;
}
 
 
int  SUPERMARIO::MenuMain(void)
{
    scr.clear();
    scr.update();
 
    SPRITE zast(&scr,2);
    SPRITE::IMAGE im;
    int SPRITE_ZAST0=256;
 
    im.ID=SPRITE_ZAST0;
    im.Attribute=0;
    zast.LoadSpriteform("graph\\zast.sp0",im);
 
    //перенастраиваем счетчик случайных чисел
    //random();
 
    for(UINT i=0; i<GetTickCount()%100; i++) rand();
 
    Level.Load(rand()%10);
    
    Timer.Restart(60);
 
    #define GAMENAME "SUPER JACKS"
 
    BIGSTRING s1(&BigFont,GAMENAME);
 
    ANIM Title(&BigFont);
    PERSON Mario(&Sprite);
 
    //определяем границы перемещения
    {
        MOVEOBJ::Lim.Left=-24;
        MOVEOBJ::Lim.Right=324;
        MOVEOBJ::Lim.Bottom=224;
        MOVEOBJ::Lim.Top=-24;
        MOVEOBJ::WindowX=0;
        MOVEOBJ::WindowY=0;
    }
 
    int N=7;    //число элементов меню
    char far * txt[]=
    {
         "1. ОДИН ИГРОК",
         "2. ДВА ИГРОКА",
         "3. ТРИ ИГРОКА",
         "4. КОНФИГУРАЦИЯ",
         "5. РЕДАКТОР УРОВНЕЙ",
         "6. РЕДАКТОР СПРАЙТОВ",
         "7. ВЫХОД"
         
     };
 
    int TitleNew=-1;    //т.к. перед использованием TitleNew увеличивается
    int nm=0;
    double levelx=0,speed_levelx=2.5;
 
    while ( !Keyb[KEY_ENTER] )
    {
    SCREEN &Screen=scr;
 
    //**** построение изображения *****
    Screen.setcolor(15);
    Screen.setbkcolor(0);
    Screen.rectangle(0,0,320,200,0);
 
    if (levelx>0)
    {
        double levely=Level.MaxY-30+30*sin(levelx/90);
        Level.Show(int(levelx),int(levely));
    }
    
    levelx+=speed_levelx;
    
    if (levelx>320*4) 
    {
        speed_levelx*=-1;
        Level.Load(rand()%10);
    }
    
    if (levelx<0) 
    {
        speed_levelx*=-1;
        Level.Load(rand()%10);
    }
 
    //вывод заставки
    //zast.Show(90+rand()%3,0,SPRITE_ZAST0);
 
    //вывод строк меню на экран
    for (int k=0; k<N; k++)
    {
        const int HEI_STRING=20;
        double x1,y1;
        //x1=(320-8*strlen(txt[k]))/2;
        x1=90;
        y1=k*HEI_STRING+40; //у координаты вывода меню
 
        if (k == nm)
        {
            scr.rectangle(int(x1),int(y1),8*strlen(txt[k]),HEI_STRING-5,3);
        }
 
        //STRING str(&BigFont,txt[k]);
        //str.Show(x1,y1);
        scr.locateXY(int(x1),int(y1));  
        scr.putText(txt[k]);
 
        //вывод указателя
        int px=20;
        Sprite.Show(int(x1-20),int(y1)-1,SPRITE_POINTER);
 
    }
 
    //нажали вверх
    if ( Keyb[KEY_UP])
    {
        nm--;
        if (nm==-1) 
        {
            nm=N-1;
        }
        Keyb.Set(KEY_UP,0);
    }
 
    //если нажали клавишу ВНИЗ
    if ( Keyb[KEY_DOWN])
    {
        nm++;
        if (nm==N)
        {
            nm=0;
        }
        Keyb.Set(KEY_DOWN,0);
    }
 
    Title.Animate();
    Mario.Animate();
 
    //если все надписи прошли, показывать надпись 'SUPER MARIO'
    if (TitleNew == 4) s1.Show(20,35);
 
    while (Timer.Counter <2);
    Timer.Counter=0;
 
    scr.color=15;
    scr.center(15, "Солдат Марио");
    
    scr.color=15;
    scr.center(200-15, "(c) 1997-2008 Wiz");
 
    scr.update();
 
    if (Keyb[KEY_1]) return 1;
    if (Keyb[KEY_2]) return 2;
    if (Keyb[KEY_3]) return 3;
    if (Keyb[KEY_4]) return 4;
    if (Keyb[KEY_5]) return 5;
    if (Keyb[KEY_6]) return 6;
    if (Keyb[KEY_7]) return 7;
    if (Keyb[KEY_8]) return 8;
    if (Keyb[KEY_9]) return 9;
    if (Keyb[KEY_0]) return 0;
 
    }
 
   return nm+1;
}
2
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
16.03.2025, 15:09  [ТС]
Ну и что бы ещё, дорогие мои друзья, я хотел бы сегодня отметить - главное в этой жизни - это не унывать и не терять веру. Хоть в светлое коммунистическое будущее, хоть в Бога и вечную жизнь за пределами гробовой доски, да хоть просто - вера в то, что завтра будет непременно лучше, чем вчера, только нужно научиться терпеть. Хоть вера в науку. Вера - это главное, что есть у человека. Лишившись веры человек запросто может самоубиться.

А размышлять о играх, писать игры и играть в игры - ну это кому как нравится. Я за всю свою жизнь не взял ни одной копейки за разработанные игры и программы (разве только что за лаб. работы и курсовики, которые я продал некоторым студентам). У меня принцип - я не беру деньги за свои программы и игры - пожалуйста, играйте сколько хотите, переделывайте исходники так, как считаете это нужным. Я за открытый исходный код.

Добавлено через 3 часа 19 минут
+ а зачем подыхать от депрессии, если можно сходить в аптеку и купить для себя таблетку от депрессии и продолжать жить и дальше?
0
Модератор
 Аватар для long399
2886 / 1848 / 933
Регистрация: 16.10.2013
Сообщений: 5,254
Записей в блоге: 15
17.03.2025, 06:05
Цитата Сообщение от zorxor Посмотреть сообщение
родителям легче "подсунуть" своему ребёнку гаджет или компьютер. Пусть играет или смотрит ролики. А понимают ли родители, к чему всё это в конечном итоге может привести их деток?
К хорошему будущему, как вариант. Ребенок вдохновится, решит стать разработчиком игр. И появится у нас новый Хидео Кодзима какой-нибудь. Или Сэм Лейк.

Уж лучше пусть играют в компьютерные игры, спортом занимаются (одно другому не мешает), чем колются своей коноплей и в квадроберством занимаются.

Цитата Сообщение от zorxor Посмотреть сообщение
Это как электронная соска для ребёнка.
Это "соска электронная" развивает ребенка, нейронные связи у него формируются. Не спорю, есть игры бестолковые, но есть и такие, где надо мозгами пораскинуть. Да и игра - это хорошая история зачастую. Аналог книги или фильма.

Цитата Сообщение от zorxor Посмотреть сообщение
Однако последствия такого могут быть самыми печальными.
Так-то последствия и простой прогулки в парке могут быть самыми печальными. Ужалит ребенка оса, например, случится у него анафилактический шок и он умрет. Или пойдет в магазин и на него кирпич упадет. То есть такие рассуждения выглядят несколько странно.

Цитата Сообщение от zorxor Посмотреть сообщение
у меня, почему-то, складывается ощущение, что вся эта, простите, байда с этой всей электронной техникой нужна лишь для одного - полного разложение и растление нашего народа и нашего подрастающего поколения.
Электронная техника спасает миллионы жизней (системы жизнеобеспечения, ИВЛ, etc).
0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
17.03.2025, 09:08  [ТС]
Не по теме, 18+.

Кликните здесь для просмотра всего текста

Не по теме:

long399, здравствуйте! Ну что Вы хотите сказать, что гаджеты и компьютеры это всё хорошо и прекрасно, пусть ребёнок с малолетства зырит в гаджет и становится зомби? Да, есть огромное число плюсов, да, кого-то спасает, да ивл и т.д. Но а минусы? Вы знаете, например, что сеть "в контакте" используется, также, кроме всего прочего, и для архивирования информации о детях и подростках, чтобы потом европейцы могли покупать понравившихся им детей и подростков, чтобы их насиловать, а потом убивать и съедать, разрезать их на несколько частей, сливать из них кровь и изготавливать из неё наркотические препараты, чтобы вырезать внутренние органы наших детей и подростков и продавать чёрным трансплантологам? Юрий Евич говорил, что уже таким образом убили и съели более 250 тысяч детей и подростков, без вести пропавших в результате развязывания полномасштабной войны с 24.02.2022 года. Вы не слышали об этом? Когда Игорь Ашманов спрашивал на конференции у админа vk.com, почему до сих пор не удалена порнография из сети vk, тот админ дрожащим и заикающимся голосом что-то там лепетал, что ведётся по этому вопросу дискуссия, что все материалы для взрослых извращенцев и маньяков будут удалены. И что же? Думаете удалили? Никак нет. Достаточно зайти в сеть vk и лично убедиться - ничего там не удалено.

Добавлено через 12 минут
+ это очень удобный ход в информационной войне против нас, так как (далее т.к.), фильтр безопасности для защиты информации от детей и подростков не может персонально блокировать часть материалов сети vk, если блокировать - то только сеть целиком. Но как же без vk можно сейчас обойтись, правильно? Это то же самое, что и, ну а как же сейчас можно обойтись без сети "ютуб"? Тоже самое это. Я, к примеру, забил на vk. Я перестал туда уже заходить. У меня уже возникали мысли, чтобы вообще удалить свою анкету из этой сети.



Добавлено через 34 минуты
Многого мы просто ещё не знаем, многого мы никогда не узнаем. Нам необходимо немедленно измениться, как говорил говорящий, снять с себя розовые очки, и понимать - где мы сейчас находимся, и по ком звонит сейчас колокол и воет сейчас сирена. Пока там воет. Но воет она по нам.
0
17.03.2025, 11:17

Не по теме:

Цитата Сообщение от zorxor Посмотреть сообщение
зырит в гаджет и становится зомби
Почему вы ставите импликацию между "зырит в гаджет" и "становится зомби" ? Я не вижу тут связи.
В СССР в ящик зырили - тоже зомби становились?
А в книгу смотрит - тоже зомби становится?

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



Не по теме:

Цитата Сообщение от zorxor Посмотреть сообщение
Вы знаете, например, что сеть "в контакте" используется, также, кроме всего прочего, и для архивирования информации о детях и подростках, чтобы потом европейцы могли покупать понравившихся им детей и подростков, чтобы их насиловать, а потом убивать и съедать, разрезать их на несколько частей, сливать из них кровь и изготавливать из неё наркотические препараты, чтобы вырезать внутренние органы наших детей и подростков и продавать чёрным трансплантологам?
Поменьше смотрите подобных роликов на ютубе.



Не по теме:

Цитата Сообщение от zorxor Посмотреть сообщение
Юрий Евич говорил, что уже таким образом убили и съели более 250 тысяч детей и подростков
И он конечно же приводит железобетонные тому подтверждения?



Не по теме:

Цитата Сообщение от zorxor Посмотреть сообщение
почему до сих пор не удалена порнография из сети vk
А зачем вы ее ищете? Мне это неинтересно, я не страдаю от наличия этого контента в ВК. На крайний случай можно кинуть жалобу на контент, пускай модераторы разбираются.



Не по теме:

Цитата Сообщение от zorxor Посмотреть сообщение
Но как же без vk можно сейчас обойтись, правильно?
Легко. Я туда из-за музыки только захожу по большей части. Лента уже давно в помойку превратилась. Система подбора контента работает через одно место.

0
17.03.2025, 11:42  [ТС]

Не по теме:

Я вот, к примеру, знаю на 100%, что если разрушат мой дом, тот небольшой личный уголок, где я могу спрятаться от всех друзей, близких и родственников прежде всего, а от врагов и посторонних во вторую очередь - я стану самым несчастным в мире человеком. Это место, где я могу заниматься творчеством, писать программы и игры, музыку, заниматься многочисленными возможностями, предоставляемыми на сегодняшней день гаджетам - да даже тот же самый Android изучать, мне уже много-много лет назад говорил мой бывший начальник Андрей, говорит - изучай, может и денежку научишься зарабатывать - а воз и ныне там...Я хотел, как-то, написать хоть самое простое приложение для OS Android - но мне столько потребовалось устанавливать софта для этого, что я, просто напросто плюнул на это. Ну и так далее. Я хочу сказать - что всё это можно в миг потерять. Ведь всё то богатство, что есть у каждого конкретно человека, это индивидуально всё и даётся всё это Богом даром для каждого человека - но что это - на сегодняшний день, постараюсь поподробней расписать - у человека, у каждого, есть его "Я", это его индивидуальность, и всё остальное, что есть - это само тело человека, к которому прикреплено его "Я", его родители, братья и сёстры, храм и приходской священник и люди в храме, родственники и семья, квартира и район где он проживает, окружающая его обстановка и вещи в квартире, инфраструктура, соседи, метро, магазин, работа и коллеги по работе, домашние животные, которые человек выращивает (я, например, с детства выращивал домашних животных, вначале это были небольшие и декоративные хомячки, потом я выращивал домашних декоративных крыс, кошек и пр.) или, например, я выращивал японских мышек, всё это даруется человеку даром от Бога, и все способности самого конкретного человека - даром, это дар Божий. Бог дал, но также Бог может всё это забрать назад. Таланты, кстати, это ведь раньше так называлось определенный вес золота или серебра. Это сейчас мы под талантами понимаем способности психики и тела.



Котенок Каспер:


https://www.youtube.com/watch?v=KV1E3o1R67g (тут кролик и крысы)
https://www.youtube.com/watch?v=eAgfRAGfYrE

Так что же я хочу в итоге сказать: если лично меня лишить всего этого, отобрать всё это мое богатство, например, нам, жителям города, скажут - необходимо объявлять о начале подготовки к эвакуации и быть на готове. Ну и что же я могу с собой взять? Пианино, синтезаторы, компьютеры не смогу - они слишком громоздкие. Достаточно уже и кролика по имени "Кролик", кота по имени "Котёнок" и кошки по имени "Фью". Ну, что ещё - компы громоздкие, максимум из них я вытащу память и накопители информации - это жёсткие и SDD диски, и так далее. Совсем не много. Возможно, что город будет разрушен в результате прямого попадания в город ядерной боеголовки и возвращаться попросту говоря будет больше некуда. А это очень даже может быть, т.к. город стратегического назначения и уже даже давно в сети ходил документ, где было расписано, куда уже нацелена ракета, конкретное место в нашем городе

0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
18.03.2025, 21:39  [ТС]
Не по теме и 18+. Ответ long'у 399.

Не по теме:

Кликните здесь для просмотра всего текста
Цитата Сообщение от long399 Посмотреть сообщение
А зачем вы ее ищете? Мне это неинтересно, я не страдаю от наличия этого контента в ВК. На крайний случай можно кинуть жалобу на контент, пускай модераторы разбираются.
Здравствуйте long399! Ну так речь идёт не о Вас или мне (если уж мне возникнет, вдруг, необходимость в просмотре порнографии, я, разумеется, не в контакте буду ее искать, а на лучших, профессиональных студиях сделанная, с участием красивых актёров и актрис, а не бомжей каких-нибудь в местном подвале. Чтобы хотя бы получить эстетическое удовольствие. хотя я всё равно, конечно против порнографии, а сейчас, тем более, пост - в это время верующие муж и жена воздерживаются от этих отношений, ну уж и материалы для взрослых также запрещено смотреть - в пост особенно) Речь о подростках, которые находятся в этой сети с установленным родительским контролем - он в таком случае оказывается полностью бесполезен. Т.к. vk работает, а там всё есть. Подсунуть им её стало проще простого. А если речь зайдёт о цифровой диверсии - так это массовая рассылка ссылок на низкопробную порнографию или замена контента, когда ребёнок смотрит мультик, а ему навязывают просмотр низкопробной порнографии, подменяя контент. Но это уже крайний случай - цифровая диверсия. Если даже родители закроют ребёнку родительским контролем все опасные сайты, но vk оставят - там в vk всё это есть. Фильтр безопасности в таком случае идёт мимо. Когда я был ещё 5 классником в средней школе, 10 лет нам было - мы и слыхать не слыхивали о таком. Это только когда в СССР стали появляться видеомагнитофоны (импортные имеется ввиду, конечно). Кассету с материалами для взрослых нужно было ещё где-то достать. А сейчас доступность такого рода материалов - в районе нескольких кликов мышки. А последствия знакомства с такого рода материалам в раннем возрасте сложно даже себе представить - это растление и уничтожение, омертвление и угасание души ребёнка.

Цитата Сообщение от long399 Посмотреть сообщение
К хорошему будущему, как вариант. Ребенок вдохновится, решит стать разработчиком игр. И появится у нас новый Хидео Кодзима какой-нибудь. Или Сэм Лейк.
Уж лучше пусть играют в компьютерные игры, спортом занимаются (одно другому не мешает), чем колются своей коноплей и в квадроберством занимаются.
Ну я вот, например, вдохновился, я очень много времени проводил за экраном телевизора на бытовой машине spectrum, потом на PC. А ведь это детство и подростковый возраст. В это время наоборот нужно больше проводить времени на природе, на улице. А я же сидел у себя дома, не очень высоко, на 3-ем этаже дома. Сверстники сидели в подвале подомной. Я с ними не общался, потому что уж очень они были какими-то бандитами. Мне с ними совершенно не о чем было бы говорить. Многие из них уже на "том свете". Однако, смотрите, некий парадокс - в то время, когда я занимался программированием, они в то же время занимались играми в карты, пили и курили, наверняка и наркотики употребляли, травку какую-нибудь курили, и потом ржали на весь дом. Так что так.

Но, тут, смотрите что получается - не смотря на то, что я Богом был огражден от всего этого на то время, разумеется я не пил и не курил и наркотики не использовал в то время. Но что случилось потом? Я оказался в психлечебнице, где и научился курить, пить алкоголь я не пил, если только по крайней необходимости на поминках. Но я стал курить, врач назначила мне употреблять психотропные таблетки с добавлением наркотика - это был тригексифенидил, психотропное средство, влияющее на никотиновые холинолитические рецепторы (н-холиноблокатор). Короче говоря (дальше к.г., буду сокращать). К.г. - не употреблял в детстве, зато стал употреблять уже позже, в лечебнице. Поэтому я в 1998 и далее, году, после лечебницы, мало что уже написал из программ. Да и интерес как-то угас. А сейчас я уже вообще забросил программирование, уже несколько лет, что-то совсем мне нет интереса ничего изучать из этой кучи технологий, что на главной странице этого замечательного cyberforum-ресура. Всему своё время, все-таки. Музыка осталось только, писать музыку



Добавлено через 29 минут

Не по теме:

Цитата Сообщение от long399 Посмотреть сообщение
Не по теме:
Юрий Евич говорил, что уже таким образом убили и съели более 250 тысяч детей и подростков
И он конечно же приводит железобетонные тому подтверждения?
Он находится на линии противостояния, и они находили на вражеских смартфонах жуткие кадры, которые, конечно, не подлежат публикации в интернете. Т.к. заснятое там, зверства - это информация (или, говоря по-другому, это воспоминания), не совместимая с жизнью нормального, обычного, рядогого (рядогово) человека. Я ненавижу войну, тем более - эту. Ненавижу. Не буду давать прямую ссылку на ролик, но он прекрасно ищется по поисковому запросу в сети ютуб: "юрий евич обращение к жителям приграничных областей", время выхода ролика - это конец лета 2024 года.

0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
22.03.2025, 08:33  [ТС]
К.г., чего вспоминать вчерашний день. Многое было, многого, что могло бы быть и могло бы произойти, не было и не произошло. Время для каждого человека и человечества течёт лишь в одну сторону - человек в частности, и человечество в целом стареет, деградирует и неумолимо приближается к своему концу: за что боролись, на то и напоролись, чего больше всего боялись - то и случилось.

Возвращаясь к теме, хотелось бы отметить следующее. В игру встроен не только редактор уровней, но и редактор так называемых (далее буду сокращать до т.н.) "спрайтов".

Вот так выглядит заголовочный фал SpriteEditor.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//SpriteEditor.cpp
#ifndef __SPRITEEDITOR__H
#define __SPRITEEDITOR__H
 
#include "Screen.h"
#include "Sprite.h"
//класс редактора спрайтов
class SPRITEEDITOR
{
public:
    SPRITEDITOR();
    //~SPRITEEDITOR();
    int Editor(SPRITE * spr, int current);
};
 
#endif
Как видно из исходного текста, класс SPRITEDITOR совсем простой, в нём присутствует лишь одна функция-член - это функция с именем "Editor".


Так выглядит файл SpriteEditor.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
//SpriteEditor.h
#include "stdafx.h"
 
#include "SpriteEditor.h"
#include "Sprite.h"
#include "Total.h"
#include <fstream.h>
 
/*SPRITEEDITOR::SPRITEEDITOR
{
}
 
*/
/*SPRITEEDITOR::~SPRITEEDITOR
{
}*/
 
static int SpriteIndex=0;
char * filename="graph\\levelbox.dat";
 
//редактор спрайтов
int SPRITEEDITOR::Editor(SPRITE * sprZZZ, int current)
{
    /*отображать название файла
    при встваке убрать надпись вставлено
    кнопку очистки поля рисования
    выбор файла со спрайтами
    при изменении спрашивать что изменилось
    не отображется плитка спрайтов
    */
 
    //размеры увеличения
    int onelen=6;
    int onehei=6;
    
    bool Reload=true;
 
    //текущий цвет
    BYTE CurrentColor=15;
    
    //высота полоски цветов
    int heiclr=16;
 
    SPRITE CurSprite(&scr);
    SPRITE::IMAGE img;
    img.Hei=24;
    img.Len=24;
    img.Attribute=0;
    img.ID=1;
    CurSprite.Create(img);
 
    SPRITE SpriteCopy(&scr);    //сюда поместиться спрайт для копирования и вставки  
    const int IDSPRCOPY=1;
    SPRITE::IMAGE imgsprcopy;
    imgsprcopy.Len=24;
    imgsprcopy.Hei=24;
    imgsprcopy.Attribute=0;
    imgsprcopy.ID=IDSPRCOPY;
    SpriteCopy.Create(imgsprcopy); //создаем спрайт
 
    try
    {
 
    bool Modify=false;  //было ли внесено изменения в файл
    while(1)
    {
        scr.clear();
 
        if (Keyb[KEY_F7])
        {
            if (Modify)
            {
                    Msg("Спрайт изменен! <C> для продолжения.");
                    if (Keyb.ReadScan() != KEY_C)
                    {
                        continue;
                    }
            }
 
            filename="graph\\sprite.dat";
            Keyb^KEY_PAGEUP;
            Reload=true;
            Modify=false;
        }
 
        if (Keyb[KEY_F8])
        {
            if (Modify)
            {
                    Msg("Спрайт изменен! <C> для продолжения.");
                    if (Keyb.ReadScan() != KEY_C)
                    {
                        continue;
                    }
            }
 
            filename="graph\\levelbox.dat";
            Reload=true;
        }
 
        if (Keyb[KEY_F9])
        {
            if (Modify)
            {
                    Msg("Спрайт изменен! <C> для продолжения.");
                    if (Keyb.ReadScan() != KEY_C)
                    {
                        continue;
                    }
            }
 
            filename="graph\\fontbig.dat";
            Reload=true;
        }
 
 
        if (Keyb[KEY_F1])
        {
            char *help=
            "F1 помощь\n"
            "F2 сохранить\n"
            "F7 выбор файла 'sprite.dat'\n"
            "F8 выбор файла 'levelbox.dat'\n"
            "F9 выбор файла 'fontbig.dat'\n"
            "<ESC> выход из редактора\n"
            "<CTRL>+<C>,F5 запомнить\n"
            "<CTRL>+<V> вставить\n"
            "<LEFT><RIGHT> изменить текущий цвет\n"
            "<PAGEUP><PAGEDOWN> изменить редактируемый спрайт\n"
            "<SPACE><LBUTTONMOUSE> рисовать точку\n"
            "<DELETE> удалить точку\n"
            "<ENTER><RBUTTONMOUSE> получить цвет точки под курсором\n"
            ;
 
            scr.clear();
            scr<<cur(0,0);
            scr<<help;
            scr.update();
            Keyb.WaitKey();
        }   
 
        //показываеm буфер обмена
        {
            int x=320-imgsprcopy.Len;
            int y=200-imgsprcopy.Hei-60;
            SpriteCopy.Show(x-1,y,IDSPRCOPY);
            scr.border(x-2,y-1,imgsprcopy.Len+2,imgsprcopy.Hei+2,15);
        }
 
        //SPRITE::IMAGE imgCur=CurSprite.GetImage(1);
        {
            //отображаем спрайт в увеличенном виде
            scr.border(0,0,onelen*img.Len, onehei*img.Hei,3);
            for(int x=0; x<img.Len; x++)
            for(int y=0; y<img.Hei; y++)
            {
                BYTE color=img.Read(x,y);
                scr.rectangle(x*onelen, y*onehei,onelen-1,onehei-1,color);  
            }
        }
 
        //отображаем спрайт один чтобы вокруг было пусто
        CurSprite.Show(320-img.Len-5, 200-115, 1);
 
        scr.locateXY(0,onehei*img.Hei);
        scr<<SpriteIndex;
 
        {
            //отображаем этот спрайт рядом плиткой
            for(int x1=0; x1<3; x1++)
            for(int y1=0; y1<3; y1++)
            CurSprite.Show(320-24*x1,y1*24,1);
        }
 
        scr<<cur(0,19)<<filename;
 
        if ((Keyb[KEY_LEFTCTRL] && Keyb[KEY_C]) || Keyb[KEY_F5])
        {
            SPRITE::IMAGE img_src=CurSprite.GetImage(1);
            SPRITE::IMAGE img_dst=SpriteCopy.GetImage(IDSPRCOPY);
 
            int src_len=img_src.Len*img_src.Hei;
            int dst_len=img_dst.Len*img_dst.Hei;
            if (src_len == dst_len)
            {
                memcpy(img_dst.Datacolor, img_src.Datacolor, src_len);
                //Msg(" СКОПИРОВАНО ",9);
                //Keyb.WaitKey();
            }
            else
            {
                Msg(" НЕРАВНАЯ ДЛИНА! НЕВОЗМОЖНО КОПИРОВАТЬ! ",9);
                Keyb.WaitKey();
            }
            
        }
 
        //F7
        //вставка
        if (Keyb[KEY_LEFTCTRL] && Keyb[KEY_V])
        {
            SPRITE::IMAGE img_dst=CurSprite.GetImage(1);
            SPRITE::IMAGE img_src=SpriteCopy.GetImage(IDSPRCOPY);
 
            int src_len=img_src.Len*img_src.Hei;
            int dst_len=img_dst.Len*img_dst.Hei;
            if (src_len == dst_len)
            {
                memcpy(img_dst.Datacolor, img_src.Datacolor, src_len);
                Modify=true;
                //" ВСТАВЛЕНО ",9);
                //yb.WaitKey();
            }
            else
            {
                Msg(" НЕРАВНАЯ ДЛИНА! НЕВОЗМОЖНО ВСТАВИТЬ! ",12);
                Keyb.WaitKey();
            }
 
        }
 
 
        if (Keyb[KEY_PAGEUP]) 
        {
            if (Modify)
            {
                    Msg("Спрайт изменен! <C> для продолжения.");
                    if (Keyb.ReadScan() != KEY_C)
                    {
                        continue;
                    }
            }
 
 
            Reload=true;
            SpriteIndex++;
            Keyb^KEY_PAGEUP;
        }
 
        if (Keyb[KEY_PAGEDOWN])
        {
            if (Modify)
            {
                    Msg("Спрайт изменен! <C> для продолжения.");
                    if (Keyb.ReadScan() != KEY_C)
                    {
                        continue;
                    }
            }
 
 
            Reload=true;
 
            if (SpriteIndex) SpriteIndex--;
            Keyb^KEY_PAGEDOWN;
        }
 
        if (Reload)
        {
            CFile file;
            if (file.Open(filename,CFile::modeRead))
            {
                file.Seek(SpriteIndex*24*24,0);
                file.Read(img.Datacolor,24*24);
                file.Close();
            }
 
            Reload=false;
            Modify=false;
            
        }
 
 
        
        //рисует строку цветов
        for(int i=0; i<256; i++)
        {
            scr.linedown(i,200-heiclr, heiclr,i);
        }
 
        //рисуем текущий цвет
        {
            int cxl=15,cyl=10;
            scr.locateXY(320-8*3,200-cyl-8);
            scr<<CurrentColor;
            scr.rectangle(320-cxl,200-cyl,cxl,cyl,CurrentColor);
 
            int x=CurrentColor, y=200-heiclr-1;
            scr.line(x,y,x,y-8,15);
            scr.line(x,y,x-3,y-3,15);
            scr.line(x,y,x+3,y-3,15);
        }
 
        //рисуем цвет над курсором
        {
            SPRITE::IMAGE img=CurSprite.GetImage(1);
 
            int x=Mouse.x;
            int y=Mouse.y;
 
            if (x<img.Len*onelen && y<img.Hei*onehei)
            {
                int curclr=img.Read(x/onelen,y/onehei);
 
 
                int yoff=30;
                int cxl=15,cyl=10;
                scr.locateXY(320-8*3,200-cyl-8-yoff);
                scr<<curclr;
                scr.rectangle(320-cxl,200-cyl-yoff,cxl,cyl,curclr);
 
            }
 
        }
 
        //рисуем курсор мышки
        {
            int x=Mouse.x;
            int y=Mouse.y;
            int c=15;
            scr.putpixel(x,y-1,c);
            scr.putpixel(x,y+1,c);
            scr.putpixel(x-1,y,c);
            scr.putpixel(x+1,y,c);
        }
 
        //рисуем курсор мышки
        {
            int x=Mouse.x;
            int y=Mouse.y;
            int c=15;
            scr.putpixel(x,y-1,c);
            scr.putpixel(x,y+1,c);
            scr.putpixel(x-1,y,c);
            scr.putpixel(x+1,y,c);
        }
 
        scr.update();
        Sleep(1);
 
 
        if (Keyb[KEY_F2])
        {
            Msg(" Записать. Уверены ? ");
            Keyb.clear();
            if (Keyb.ReadScan() == KEY_Y)
            {
                //запись в файл
 
                CFile file;
                if (!file.Open(filename, file.modeWrite))
                {
                    Msg ("НЕ МОГУ ОТКРЫТЬ graph\\sprite.dat!");
                    Keyb.getch();
                    continue;
                }
 
 
                file.Seek(SpriteIndex*24*24,0);
                file.Write(img.Datacolor,24*24);
                file.Close();
                Msg( "       ЗАПИСАНО !       ", 9 );
                Keyb.WaitKey();
 
                Modify=false;
            }
            Modify=0;
        }
 
        //выход из редактора
        if (Keyb[KEY_ESC]) 
        {
            Keyb^KEY_ESC;
            if (Modify)
            {
                Msg(" ВНЕСЕНЫ ИЗМЕНЕНИЯ, ВЫЙТИ ? ");
                if (Keyb.WaitKey() == KEY_Y) return 0;
            }
            else return 1;
        }
 
 
 
        //получение цвета над курсором
        if (Keyb[KEY_ENTER] || Mouse.Buttons & MOUSE::BUTTON_RIGHT)
        {
            SPRITE::IMAGE img=CurSprite.GetImage(1);
 
            int x=Mouse.x;
            int y=Mouse.y;
 
            if (x<img.Len*onelen && y<img.Hei*onehei)
            {
                CurrentColor=img.Read(x/onelen,y/onehei);
            }
 
        }
 
        //рисование
        if (Keyb[KEY_SPACE] || Keyb[KEY_DELETE] || Mouse.Buttons&MOUSE::BUTTON_LEFT)
        {
            SPRITE::IMAGE img=CurSprite.GetImage(1);
 
            int x=Mouse.x;
            int y=Mouse.y;
 
            BYTE clr=CurrentColor;
            if (Keyb[KEY_DELETE]) clr=0;
 
            if (x<img.Len*onelen && y<img.Hei*onehei)
            {
                img.Write(x/onelen,y/onehei,clr);
                Modify=true;
            }
 
            //выбор цвета
            if (x<256 && y>200-heiclr)
            {
                CurrentColor=x;
            }
        }
 
        if (Keyb[KEY_LEFT]) CurrentColor--, Keyb^KEY_LEFT;
        if (Keyb[KEY_RIGHT]) CurrentColor++, Keyb^KEY_RIGHT;
 
        //выбор цвета
 
    }
    }
    catch (...)
    {
        Msg ("Exception");      
        Keyb.ReadScan();
    }
 
    return 0;
}
1
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
24.03.2025, 15:03  [ТС]
Чтобы ещё, друзья, мне хотелось бы отметить, так это класс с именем "KEYBOARD".

Вот так выглядит заголовочный файл Keyboard.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//Keyboard.h
#ifndef __KEYBOARD_H
#define __KEYBOARD_H
 
...skeep ... skeep ... skeep
 
class KEYBOARD
{
//закрытые члены
//private:
private:
    static int CountObject;     //число созданных объектов
                                //вектор прерывания
    unsigned char ExtendedKey;  //была ли нажата расширенная клавиша
    char NextKey;
    int InputMode;          //режим ввода
    char Keys[256];         //массив хранящий информацию
                            //о нажатиях клавиш
 
    int  Check(unsigned char  key); //проверка, нажата ли клавиша
//открытые члены
public:
    bool kbhit();
    char getch();
    static char * KEY[];
    void clear();           //очистка буфера нажатий
    KEYBOARD ();            //конструктор
    ~KEYBOARD();            //деструктор
    char operator[] (char k) { return Keys[k]; }
    void operator^  (char k) { Keys[k]=0; }//просьба клавишу отпустить
                            //и нажать снова
 
    int AnyKey();           // возврат 1 - если нажата any key
                    //         0 - если ничего не нажато
 
    //обработчики нажатия клавиш
    void OnWM_KEYDOWN(int nVirtKey);
    void OnWM_KEYUP(int nVirtKey);
 
    char ReadScan();            //считывание Scan-кода клавиши
    void Set(char,char);
    char WaitKey(); //ждеат нажатия любой клавиши
};
 
extern KEYBOARD Keyb;
 
#endif
Как видно из процитированного исходного текста заголовочного файла, для удобства программиста в функциональность класса была добавлена возможность (через преимущество языка С++ над просто языком С) проверки нажатия клавиши, используя перегруженную операцию [] обращения к члену массива ("квадратные скобки").
C++
1
char operator[] (char k) { return Keys[k]; }

Поэтому, проверка нажатий клавиш становится очень удобной:
C++
1
2
3
4
5
6
7
8
9
       if ((Keyb[KEY_LEFTCTRL] && Keyb[KEY_C]) || Keyb[KEY_F5])
        {
            SPRITE::IMAGE img_src=CurSprite.GetImage(1);
            SPRITE::IMAGE img_dst=SpriteCopy.GetImage(IDSPRCOPY);
 
            int src_len=img_src.Len*img_src.Hei;
            int dst_len=img_dst.Len*img_dst.Hei;
... skeep ... skeep ... skeep ...            
        }
1
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
02.04.2025, 09:25  [ТС]
Хотелось бы ещё, дорогие друзья, отметить, что те игры с японской платформы MSX, были настоящими шедеврами по программированию, это были настоящие произведения искусств. Ну и писали их, конечно, профессионалы, опытные мужики программисты, художники и музыканты. Ведь всё должно быть сделано на самом высоком уровне, для игровой индустрии, а это огромные деньжищи. Все возможности железа должны быть использованы по максимуму учитывая ограничение в скорости работы микропроцессора Z-80 и ограничение объёма памяти. Думаю, что писали те игры на чистом ассемблере или С. Вот, например, ещё один шедевр программирования игр:



Плюс к этому, весь код должен был уместиться в картридж 32 кб, 64 кб, 128 Kb на каждом компьютере были два слота для установки картриджа.

Но в СССР иметь такой компьютер дома было для почти всех несбыточной мечтой. А так, компьютер этот был игровой. Если бы он был массового распространения в то время, тогда, я думаю, много бы игр мы могли написать. Но большинство моих знакомых и друзей имели в то время только ZX-Spectrum, и довольствоваться приходилось только телевизором в качестве монитора и магнитофоном, чтобы хранить записи на магнитных лентах. Я, например, когда писал тетрис, периодически делал save на ленту, т.к. в случае ошибки в ассемблерной программе компьютер мог запросто зависнуть.
0
Просто Икс
 Аватар для Mc X
692 / 234 / 47
Регистрация: 15.12.2009
Сообщений: 696
02.04.2025, 19:12
Цитата Сообщение от zorxor Посмотреть сообщение
большинство моих знакомых и друзей имели в то время только ZX-Spectrum
Это и есть Z80. То, что использовалась пленка вместо дискет, а вместо монитора был телевизор - это несущественно.

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

Цитата Сообщение от zorxor Посмотреть сообщение
были настоящими шедеврами по программированию
Цитата Сообщение от zorxor Посмотреть сообщение
писали их, конечно, профессионалы, опытные...
Цитата Сообщение от zorxor Посмотреть сообщение
для игровой индустрии, а это огромные деньжищи
Крайне спорное утверждение. На тот момент еще никакой "игровой индустрии" в принципе не существовало, а соответственно и неоткуда было взяться всему остальному.
Это были, бесспорно, талантливые люди, но как и в любой другой области, такие всегда были, есть и будут.
"Огромные деньжищи" и вовсе сравнительно недавняя история, а тогда и подавно ни о каких "золотых копях" даже речи не шло.
0
Нарушитель
569 / 114 / 0
Регистрация: 09.02.2020
Сообщений: 2,753
Записей в блоге: 3
03.04.2025, 10:47  [ТС]
Цитата Сообщение от Mc X Посмотреть сообщение
Это и есть Z80. То, что использовалась пленка вместо дискет, а вместо монитора был телевизор - это несущественно.
Только у MSX был и звуковой генератор (такой же ставили и на спектрум) и аппаратная поддержка спрайтов.

Добавлено через 6 минут
Еще по поводу той зловещей надписи на машине учителя, при загрузке игр по сети, "игры - зло". Кто-то уже в то время понимал, что такое зависимость от компьютера (для программиста) и компьютерных игр (для игрока). Массу времени человек проводит за компьютерами, дома, а не на улице в реальном мире. И какие болячки потом он может иметь. Да и вообще, ну что за жизнь за экраном компьютера? Ведь настоящий мир очень прекрасен и интересен.
0
Просто Икс
 Аватар для Mc X
692 / 234 / 47
Регистрация: 15.12.2009
Сообщений: 696
03.04.2025, 19:27
Цитата Сообщение от zorxor Посмотреть сообщение
Только у MSX был и звуковой генератор...
У ZX Spectrum 128 тоже был AY-3-8912, но ок
В любом случае не могу согласиться с таким "пренебрежительным" отношением, что вот мол у всех были всего лишь Spectrum.
Спекки был массовым, "народным", компьютером и огромное количество клонов создавалось даже энтузиастами "на коленке",
поэтому конфигурации различались, но это не те возможности, которые бы что-то кардинально меняли.

MSX не пользовался, но параллельно ему уже начинала свой путь Famicom\NES, которая уже в 90-ых нам стала более известна, как Dendy.
Она определенно обладала еще большими техническими возможностями и игры запускались сразу,
но даже на ее фоне ничего не мешало получать не меньшее эстетическое удовольствие от игр на нем.
Даже опуская, что ZX предоставлял большие функциональные возможности, говорю исключительно про игры.
Это касаемо "аппаратной поддержки спрайтов".

Если говорить в общем о играх того времени, то за исключением отдельного пиксель арта, там графика была большей частью функциональной.
Музыка и звук имели еще меньшее значение - нужно было чтобы были какие-то звуки и они были.
Больше-меньше тональность - это не симфонический оркестр, как ни поверни и особого звукового окружения из этого не получится.
Это можно сравнить с немым кино, аккомпанементом которого было живое исполнение без существенного влияния и значения.
Или более позднее изобретение - смех за кадром.

Основное, что у них действительно было - это различие механик, чем они особенно выделялись от тех же игр на денди.
Хотя уже позже видел, что какие-то из игр выходили и на приставках тоже, но из того что обычно лежало на полках создавалось впечатление большей однообразности их.
Ну и я бы еще выделил, пока достаточно скромные, но поглядывание в сторону литературы.
До определенной степени, можно сказать, что игры были более взрослые, а у "дендиков" целевая аудитория была значительно моложе

Серьезное же движение в сторону "игры, как искусство" началось, примерно, в середине 90-ых. Это уже игры на ПК и параллельные ему приставки.
Тут уже появилась и более комплексная работа художников, аниматоров, композиторов музыки и звукового окружения, большее заимствование из литературы и кинематографа.

Нисколько не принижаю самого значения тех игр, но лишь единицы действительно стали прародителями жанров.
Опять же возвращаясь к немому кино, есть Чарли Чаплин и есть "Прибытие поезда на вокзал Ла-Сьота" или "Выход рабочих с фабрики Люмьер".
Последние, безусловно, неотделимая часть истории кинематографа, но это лишь первые "детские" шаги в его формировании, как искусства.

Цитата Сообщение от zorxor Посмотреть сообщение
Если бы он был массового распространения в то время, тогда, я думаю, много бы игр мы могли написать. Но большинство моих знакомых и друзей имели в то время только ZX-Spectrum
И на ZX Spectrum отлично писалось. Может просто не сильно хотелось?
Информации правда было мало и приходилось ходить в библиотеку и сидеть в читальном зале выписывая в тетрадку всякое разное т.к. книжки на руки не давали :\
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.04.2025, 19:27

Nintendo отмечает 20-летие игры Super Mario Kart
Японский издатель компьютерных игр и разработчик игровых консолей Nintendo отмечает 20-летие с момента выхода первой из серии игр Super...

Игра в стиле Mario (SFML)
Решил попробовать написать игру в стиле марио. Это моя первая игра на с++ если что. Писал в VS 2013, для написания игры решил...

Поиск пути в массиве для фигуры 2х1(или попытка в ИИ для игры Dr.Mario)
Давно в 1990-х была такая игра на приставку Dendy. Вот задумал написать реализацию на делфи,а чтобы было не скучно,сделать режим...

Mario
Всем привет! Я студент первого курса, и в данный момент выполняю курсовую работу в виде игры &quot;Марио&quot;. Большая часть работы...

Mario c++
Здравствуйте, преподаватель задал написать всеми известную игру &quot;Марио&quot; на чистом с++, без использования каких-либо библиотек. Видел в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru