maeglor: (Робот. Книжку вот чтает...)
[personal profile] maeglor

В проект добавлен функционал аскольдокарт. Карты программируются на скриптовом языке Mvel.


Примитивная карта болезни с временным принципом работы будет выглядеть примерно так:

player.post("katar","У вас начались проблемы со зрением"); // Показать статус игроку.
player.postDelay("katar","У вас серьезные проблемы со зрением, вы теряете возможность читать",60*60*1000); // через час
player.postDelay("katar","Вы перестали видеть",2*60*60*1000); // через 2 часа
QrReader.subscribe( // Подписываемся на сканер QR кодов
def (qrString) { // Если отсканирован QR код
if (qrString == "hill_katar")
 player.removeAllPosts("katar"); // и он содержит строку "hill_katar" вылечиваем болезнь.
});





Этот код не совсем верен (не учтена возможность перезагрузки устройства), но показывает принцип.


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

Также есть возможность работы с сетью (через подписку ретрофита). Можно, например, по QR коду получить дополнительную скрытую вводную с сайта, и показать ее пользователю.

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

Date: 2016-09-24 01:07 pm (UTC)
From: [identity profile] slaanesh.livejournal.com
Heal.
Hill - это "холм" :)

Date: 2016-09-28 08:44 am (UTC)
From: [identity profile] ksotar.livejournal.com
Есть кстати способ хорошо проектировать такую логику, лучше чем постить отложенные события, которые потом могут не пригодиться. Если интересно, можем сконтактироваться.

Date: 2016-09-28 08:58 am (UTC)
From: [identity profile] subbotenok.livejournal.com
Интересно. Можно писать сюда, или на почту bi-tz@ya.ru.

Я постарался воспроизвести в урезаном варианте RX-java в интерфейсах. Здесь этого не видно но основа в виде обсерверов и подписок вынесена в скриптовый язык.

Кстати давно хотел тебя спросить. У тебя вроде был какойто модуль для связи лазертага с телефоном? Блютус?

Date: 2016-09-28 09:03 am (UTC)
From: [identity profile] ksotar.livejournal.com
Напишу

С телефоном есть варианты, есть и блютус, да.

Date: 2016-09-28 09:05 am (UTC)
From: [identity profile] subbotenok.livejournal.com
Хорошо. Скинь если не сложно протокол.

Интегрирую его в приложение.

Date: 2016-09-28 09:21 am (UTC)
From: [identity profile] ksotar.livejournal.com
Как такового протокола нет, UART мессаги сыпятся некоторые да и всё. Это нужно конкретно под конкретные задачи обсуждать.

Date: 2016-09-28 09:30 am (UTC)
From: [identity profile] subbotenok.livejournal.com
угу. Тогда стукнусь, когда (если) оформится техническое задание по лазертагу.

March 2017

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 23rd, 2017 04:55 am
Powered by Dreamwidth Studios