gifts2017

Симулятор 1С-ника

Опубликовал Кирилл Серов (Serovkir) в раздел Программирование - Практика программирования

Цель игры - дорасти до самых высот, начиная с простого фрилансера.

Описание


Игра относится к т.н. жанру "кликеров". Суть игры - накликать себе как можно больше капитала, при этом открывая новые уровни развития. Каждый новый открытый Вами вид заработка занимает больше времени для реализации и требует больше ресурсов для его развития, но и приносит больше прибыли. 

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


Внутренности

 

Игра написана полностью на языке 1С и представлена в виде внешней обработки. Конструировал и проверял работоспособность на интерфейсе "Такси". Желательно в нём и запускать, потому что на управляемых формах ведет себя нестабильно. Вся работа обработки происходит на клиенте (имеется только одна серверная процедура "ПриСозданииНаСервере").

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

&НаКлиенте
Процедура ПроцессРеализацииУровень1()

   СостояниеУровень1 = СостояниеУровень1 + СкоростьУровень1;
   Если СостояниеУровень1 < 100 Тогда
      ПодключитьОбработчикОжидания("ПроцессРеализацииУровень1", 0.1, Истина); 
   Иначе
      Капитал = Капитал + ПрибыльУровень1;
      НастроитьДоступность();
      Элементы.РеализацияУровень1.Доступность = Истина;
      СостояниеУровень1 = 0;
   КонецЕсли;

КонецПроцедуры

 

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

 

P.S.


Целью игры не стоит реалистичность, поэтому прошу отнестись ко всем названиям в игре с юмором. Тестировал обработку на платформе 8.3. На других не пытался вовсе. 

Скачать файлы

Наименование Файл Версия Размер
Симулятор 71
.epf 209,26Kb
27.02.15
71
.epf 1.1 209,26Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Алексей Рожнятовский (spetzpozh) 27.02.15 13:29
Какого такого фрилансера. Начинают часто с развоза ИТС )
2. Сергѣй Батанов (baton_pk) 27.02.15 13:46
Похоже, работа в пятницу закончилась... :(
fzt; Shadow_Runer; AllexSoft; Evil Beaver; Shmell; kalaratra; necropunk; +7 Ответить 1
3. Ololo Anonim (ololoanonim) 27.02.15 13:54
4. Сергѣй Батанов (baton_pk) 27.02.15 13:56
Не хватает показателей, сколько денег приносят источники за единицу времени.
5. Кирилл Серов (Serovkir) 27.02.15 14:00
(4) baton_pk, Дааа, с этим как раз проблемы и возникли. Дело в том, что обработчик ожидания работает всегда по разному, поэтому время нельзя посчитать точно. Ещё заметил такую штуку, что если неистово жать на любую точку формы то все обработчики ожидания начинают работать быстрее. Это Вам чит))
6. Сергѣй Батанов (baton_pk) 27.02.15 14:00
ААА! Прорисовка адово затупила!
7. Сергѣй Батанов (baton_pk) 27.02.15 14:04
Всё, сдохло. Снял задачу. Видимо, задерзил на рынке и пацаны пришли.
8. Кирилл Серов (Serovkir) 27.02.15 14:07
(7) baton_pk, Такое тоже было один раз, я тогда упростил состав формы (убрал группы лишние), вроде помогло. Смог дойти до конца игру. На какой платформе пробовали? Такси или УФ?
9. Юрий Гончарук (yukon) 27.02.15 14:09
10. Сергѣй Батанов (baton_pk) 27.02.15 14:17
11. Xer shi (Xershi) 27.02.15 14:32
На такси сдохла форма, на УФ пока все ок.
12. Сергѣй Батанов (baton_pk) 27.02.15 14:34
Зачем там восемь(!) обработчиков ожидания, которые делают почти одно и то же?!

PS. АААА! И каждый доступность элементов меняет!
13. Кирилл Серов (Serovkir) 27.02.15 14:48
(12) baton_pk, "Во-вторых, будут ли стабильно работать около 10-ка обработчиков ожидания, запущенные одновременно." - это из статьи. А так сначала было в планах засунуть в один обработчик, но получилось так массивно, что всё тормозило. Поэтому и разделил. А с доступностью элементов я немного не понял, я не встречался с тем, что изменение доступности как-то тормозило. Да и сервер не вызывается при изменении. Просветите пожалуйста)
14. Сергѣй Батанов (baton_pk) 27.02.15 14:56
(13) Serovkir,
просто, просто куча-кучу ненужных действий.

PS. запустил на управляемых. авось тут дойду до конца.
15. Макас (makas) 27.02.15 15:47
.... ах, да, вспомнился по данной теме Анекдот :)
16. Сергѣй Батанов (baton_pk) 27.02.15 16:03
УФ, 7 уровень, полёт нормальный, ничего не лагает. правда, форму пришлось в конфигураторе подрихтовать (только внешний вид, не читил!)
17. Андрей Торопчин (fjay69) 27.02.15 16:21
Когда я был в двух шагах от Штата программистов, всё сломалось. Повторный запуск не помог. 8.3.5.1383 Такси.
18. Xer shi (Xershi) 27.02.15 16:21
На УФ стабильно все купил щелкает на ура конфа БСП платформа 8.3.5.1248. На БП3 в "Такси" начинаются глюки с отрисовкой, а затем вовсе виснет.
19. Сергѣй Батанов (baton_pk) 27.02.15 16:38
Всё! Нанял БГ на работу! УФ, 8.2.19.83.
20. Сергѣй Батанов (baton_pk) 27.02.15 16:38
Такси проиграла этот стресс-тест!!!
21. Юрий Гончарук (yukon) 27.02.15 16:49
(13) Serovkir,
А так сначала было в планах засунуть в один обработчик, но получилось так массивно, что всё тормозило.

Ничего не массивно:
Процедура Процессинг()
	Для Каждого Уровень из ДанныеУровней Цикл
		ДанныеУровня = Уровень.Значение;
		ИмяУровня = Уровень.Ключ;
		
		Если ДанныеУровня.Выполняется Тогда
			ПроцессингУровня(ДанныеУровня);
			ЭтаФорма["Состояние"+ИмяУровня] = ДанныеУровня.Состояние; 
		КонецЕсли;
	КонецЦикла;
	УправлениеФормой();
	
	ПодключитьОбработчикОжидания("Процессинг", 0.1, Истина);	
КонецПроцедуры
...Показать Скрыть
22. Антон Стеклов (asved.ru) 27.02.15 21:40
А на 8.3.6 стабильнее работает или так же?
23. Вадим Миляев (PrinzOfMunchen) 28.02.15 17:41
(22) asved.ru, так же. Потестил, тоже форма полетела уровне на 5 (Такси). Но идея прикольная. Автор молодец.
24. Екатерина Тутубалина (kalaratra) 02.03.15 08:43
25. Екатерина Тутубалина (kalaratra) 02.03.15 08:45
(5) Serovkir, Очень классная игра) Особенно когда начальство не дремлет, а делать нечего)
Всегда можно оправдаться нагрузочным тестированием)
dj_serega; +1 Ответить
26. Сергей Галюк (dj_serega) 03.03.15 16:20
За идею плюс. Скачать еще решаюсь :)
27. Программулькин (Программулькин) 04.03.15 09:24
За идею и реализацию - плюс, сделай что-нибудь с показателями заработка за единицу времени.
Как нуралиева нанять? денег миллиард уже, а кнопка нанять не активна.
28. Программулькин (Программулькин) 04.03.15 09:41
29. for_sale for_sale (for_sale) 04.03.15 12:58
вы бы описали в статье, что за игра, что надо делать, скриншотов > 3 выложили бы. А то качать кота в мешке - не очень.
30. Den (Dvornik) 04.03.15 13:40
Когда считается, что ты прошел/победил?
31. DAnry (DAnry) 04.03.15 19:31
В 1С работать надо. А играть (для разрядки, отдыха и т.д.) надо в нормальные профессионально сделаннные игры. Хотя учитывая специфику работы програмиста (или пользователя) 1С, лучшим отдыхом считаю активный.
baton_pk; cleaner_it; Lyolik; +3 Ответить 1
32. Сергѣй Батанов (baton_pk) 05.03.15 14:47
(31) DAnry,
лучшим отдыхом считаю активный

а ещё лучше экстремальный - нервишки сталью покрывает.
33. Сергей Григорьев (flintic) 06.03.15 06:27
Скачал, немного подправил форму, и... забил на работу!!!