Battle City на 1С
Данная обработка представляет из себя реинкарнацию популярной в 90-е годы XX-го века игры на игровых консолях Dendy, Nintendo и пр.: "BattleCity"©Namcot (Танчики ). Воспроизведен оригинальный геймплей, уровни и аудиовизуальный контент. Никаких внешних компонент не использовано. Написано на "голом" 1С82 в неуправляемых формах. Добавлен мультиплеер.
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Всегда удивляли такие программисты (в хорошем смысле этого слова). Которые на голом энтузиазме пишут подобные штуковины. Сколько ушло времени на эту разработку!!!))) Можно было написать пару заказных отчётов и заработать N-сумму денег! Нееет... Он пишет игруху из 90-х! Достойная вещица! Респект Вам и уважуха!
(3) 1v7, Спасибо, рад что понравилось)))
Да нет, не волнуйтесь времени после того, как я наткнулся на ресурс со спрайтами этой игры прошло чуть больше 2х недель)) Причем основу я написал дня за три - там кода-то всего ничего, потом неделю искал средство увеличить скорость ну и на причесывание (затупливание АИ ботов и проверка столкновений) еще неделя ушла. Не в ущерб отчетам, короче)))
Да нет, не волнуйтесь времени после того, как я наткнулся на ресурс со спрайтами этой игры прошло чуть больше 2х недель)) Причем основу я написал дня за три - там кода-то всего ничего, потом неделю искал средство увеличить скорость ну и на причесывание (затупливание АИ ботов и проверка столкновений) еще неделя ушла. Не в ущерб отчетам, короче)))
(9) спасибо вам огромное! Вы - волшебник!
Сейчас объясню. Люди "старой формации", ну те самые, которые начинали свой путь в 1С на 1С 6.0 и на 1С 7.7, со времен появления 8 -ки (и типовых решений для нее), стали время от времени впадать в задумчивость относительно бурного роста в ней числа объектов, свойств, методов, (и, что самое печальное, астрономического роста числа строк, цикломатической сложности и прочих метрических показателей, включая число ошибок на 1000 строк кода).
Парадоксальность ситуации состоит в том, что бухгалтерия соседней конторы осталась работать на 7 -ке. и прекрасно себя чувствует, выдавая во вне точно такие же отчеты, за меньшие деньги, за меньшее время, за меньшие трудозатраты, при меньших расходах на компьютерные ресурсы.
Спрашивается, кто и чего ради трудился "во глубине 1С руд"?
На что ушли человеко-месяцы, человеко- годы, человеко-десятилетие?
Как там у классика? "1С, куда ж несешься ты? дай ответ. Не дает ответа. Чудным звоном заливается колокольчик; гремит и становится ветром разорванный в куски воздух; летит мимо все, что ни есть на земли, и, косясь, постораниваются и дают ей дорогу другие прикладные системы бухгалтреско- экономического направления."
И вот явились Вы и совершили чудо. "Проявили пленочку". Теперь мы видим четкое и ясное изображение вместо сплошной серой заливки.
Вот же оно!
Во-первых, нам стало ясно кто - видимо, на рубеже 2000-х руководством 1С было решено подразделение разработчиков экономического софта "укрепить" специалистами из подразделения софта для "игр и развлечений". Которые оттеснив на задний план старую гвардию, привнесли и в платформу, и в типовые решения много занимательного из своей области.
Во-вторых, нам стало понятно чего ради - а для того, оказывается, чтобы, не выходя из рамок 1С среды программирования, можно было написать игру.
Поздравляем дружный коллектив с победой в этой гонке с ...... А с кем они соревновались-то?
Сейчас объясню. Люди "старой формации", ну те самые, которые начинали свой путь в 1С на 1С 6.0 и на 1С 7.7, со времен появления 8 -ки (и типовых решений для нее), стали время от времени впадать в задумчивость относительно бурного роста в ней числа объектов, свойств, методов, (и, что самое печальное, астрономического роста числа строк, цикломатической сложности и прочих метрических показателей, включая число ошибок на 1000 строк кода).
Парадоксальность ситуации состоит в том, что бухгалтерия соседней конторы осталась работать на 7 -ке. и прекрасно себя чувствует, выдавая во вне точно такие же отчеты, за меньшие деньги, за меньшее время, за меньшие трудозатраты, при меньших расходах на компьютерные ресурсы.
Спрашивается, кто и чего ради трудился "во глубине 1С руд"?
На что ушли человеко-месяцы, человеко- годы, человеко-десятилетие?
Как там у классика? "1С, куда ж несешься ты? дай ответ. Не дает ответа. Чудным звоном заливается колокольчик; гремит и становится ветром разорванный в куски воздух; летит мимо все, что ни есть на земли, и, косясь, постораниваются и дают ей дорогу другие прикладные системы бухгалтреско- экономического направления."
И вот явились Вы и совершили чудо. "Проявили пленочку". Теперь мы видим четкое и ясное изображение вместо сплошной серой заливки.
Вот же оно!
Во-первых, нам стало ясно кто - видимо, на рубеже 2000-х руководством 1С было решено подразделение разработчиков экономического софта "укрепить" специалистами из подразделения софта для "игр и развлечений". Которые оттеснив на задний план старую гвардию, привнесли и в платформу, и в типовые решения много занимательного из своей области.
Во-вторых, нам стало понятно чего ради - а для того, оказывается, чтобы, не выходя из рамок 1С среды программирования, можно было написать игру.
Поздравляем дружный коллектив с победой в этой гонке с ...... А с кем они соревновались-то?
Спасибо, друзья, за столь лестные отзывы! Зашел и прям настоящее пятничное настроение))))
На счет уничтожения друг друга - это чтоб побольше мяса было (ну экшн все же))
Чтобы было как в классике, надо строки с 1300 заменить с
заменить на
На счет уничтожения друг друга - это чтоб побольше мяса было (ну экшн все же))
Чтобы было как в классике, надо строки с 1300 заменить с
Если Найти(НайдТанк[0].Type,"П") тогда
//Просто пуля
ИначеЕсли Найти(НайдТанк[0].Type,"Н") тогда
//Это ништяк
ИначеЕсли НайдТанк[0] = Actor тогда
//это тот же объект
ИначеЕсли НайдТанк[0].Whose = Actor.НомерСтроки-3 тогда
//это пуля этого танка
ИначеЕсли НайдТанк[0].НомерСтроки-3 = Actor.Whose тогда
//это пуля этого танка
Иначе
возврат Новый Структура("Что,Х,У","POS:"+СокрЛП(СтрЗаменить(НайдТанк[0].НомерСтроки,Символы.НПП,"")),й,ы);
КонецЕсли;
Показатьзаменить на
Если НайдТанк[0] = Actor тогда
//это тот же объект
ИначеЕсли НайдТанк[0].Whose = Actor.НомерСтроки-3 тогда
//это пуля этого танка
ИначеЕсли НайдТанк[0].НомерСтроки-3 = Actor.Whose тогда
//это пуля этого танка
ИначеЕсли Найти(НайдТанк[0].Type,"Н") тогда
//Это ништяк
ИначеЕсли Найти(НайдТанк[0].Type,"П") тогда
//Это пуля
возврат Новый Структура("Что,Х,У","POS:"+СокрЛП(СтрЗаменить(НайдТанк[0].НомерСтроки,Символы.НПП,"")),й,ы);
Иначе
возврат Новый Структура("Что,Х,У","POS:"+СокрЛП(СтрЗаменить(НайдТанк[0].НомерСтроки,Символы.НПП,"")),й,ы);
КонецЕсли;
Показать
(16) Alex_E, По ходу, да))) Все это было написано на 8.3 на конфе в режиме эмуляции 8.2.13. Я без задней мысли и указал это.И везде где проверял, запускались уже обновленные платформы. Но я исправился!
И написал-таки под "голый" 8.2 , плюс оптимизировал сам графический вывод, поэтому сейчас на моем тестовом компе - 32 FPS и все работает под 8.2.19.130. Пришлось даже начальную скорость ограничить, т.к. боты не давали пройти даже первый уровень.
И написал-таки под "голый" 8.2 , плюс оптимизировал сам графический вывод, поэтому сейчас на моем тестовом компе - 32 FPS и все работает под 8.2.19.130. Пришлось даже начальную скорость ограничить, т.к. боты не давали пройти даже первый уровень.
(29) WellMaster,
Игрок 1,клавиатура:
Клавиша "Enter" - выстрел, выбор пункта меню
Клавиша "Вверх" - движение танка вперед
Клавиша "Вниз" - движение танка назад
Клавиша "Влево" - движение танка влево
Клавиша "Вправо" - движение танка вправо
Игрок 2, мышь
- Движение мыши в специальной области экрана по виртуальным
кнопкам "U"D"L"R" повторяет действия на клавиатуре,
остановка - перемещение мыши в центр этой области
- нажатие левой кнопки мыши - выстрел
Игрок 1,клавиатура:
Клавиша "Enter" - выстрел, выбор пункта меню
Клавиша "Вверх" - движение танка вперед
Клавиша "Вниз" - движение танка назад
Клавиша "Влево" - движение танка влево
Клавиша "Вправо" - движение танка вправо
Игрок 2, мышь
- Движение мыши в специальной области экрана по виртуальным
кнопкам "U"D"L"R" повторяет действия на клавиатуре,
остановка - перемещение мыши в центр этой области
- нажатие левой кнопки мыши - выстрел
Аплодирую стоя!
А выстрел в позицию полтанка вбок работает? Чо-т в упор стрелял - не убил :(
ЗЫ: Максимально-точный термин!!! :D XDXDXD
А выстрел в позицию полтанка вбок работает? Чо-т в упор стрелял - не убил :(
ЗЫ: Максимально-точный термин!!! :D XDXDXD
Ништяки = Новый Массив();
Ништяки.Добавить(Спрайты.lopat.Картинка);
Ништяки.Добавить(Спрайты.granat.Картинка);
Ништяки.Добавить(Спрайты.star.Картинка);
Ништяки.Добавить(Спрайты.kaska.Картинка);
Ништяки.Добавить(Спрайты.tank.Картинка);
Ништяки.Добавить(Спрайты.freezer.Картинка);
ПоказатьВопросы с вознаграждением
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|