Използване на битова маска за автоматизиране на играчи в Android Development

Опитвам се да автоматизирам играчите въз основа на избраните от тях критерии. Играчът може да бъде оценен на ниво 1, 2 или 3 за простота. Ако играчът е от ниво 3 и иска да играе само с други противници от ниво 3, как става това? Четох страница след страница от уроците и препратките на Google. Той гласи, че битовата маска може да се използва за задаване на критерии. В моите изпитания успях само да съпоставя играчи, когато битовите им маски са взаимно допълнение, както е посочено в документацията на Google.

exclusiveBitMask - Изключителни битови маски за заявката за автоматизиране. Логическото И на всяко сдвояване на автоматизирани заявки трябва да е равно на нула за автоматично съвпадение. Ако няма изисквания за изключителност за играта, тази стойност трябва просто да бъде зададена на 0.

Така че, ако двама играчи имат една и съща битова маска (т.е. едни и същи критерии), те НЯМА да бъдат съпоставени. Какво е решението? Ако те СА съпоставени въз основа на допълнение на 2, как да приложа това? Кой получава "обикновената" битова маска и кой получава допълнителната? аз не разбирам

Мога да дам на потребителите опцията да създадат игра:

моето ниво ---- ниво, срещу което желаете да играете

1 1 0 ---- 1 1 0 (нула означава да, така че моето ниво == 1 и имам желание да играя само ниво 1)

Заедно с опция за намиране на игра:

ниво, срещу което да играете ---- моето ниво

0 0 1 ---- 0 0 1 (играйте срещу ниво 1 и аз съм ниво 1)

Това е добре, но тогава QuickGame се снима, защото или...

1) двама души на едно и също ниво няма да бъдат съпоставени, както в:

0 0 0 ---- 0 0 1 и 0 0 0 ---- 0 0 1 (НЯМА СЪВПАДЕНИЕ, и двете ниво 1 и желаещи да играят всеки)

2) или ако QuickGame е само нули, те ще съвпадат с някой, който иска да играе САМО ниво 3, както в:

0 0 0 ---- 0 0 0 и 0 1 1 ---- 0 1 1 (QuickGame играе всеки и създава ниво на игра 3 срещу ниво 3 САМО е съвпадение и това не е правилно)

Какво е решението?


person MrClicks    schedule 24.08.2013    source източник


Отговори (1)


Дайте шанс public RoomConfig.Builder setVariant (int variant)
С setVariant можете да създадете стаи за различни нива на играч.

person think-Android    schedule 26.08.2013
comment
Обмислял съм това. За съжаление това няма да проработи. Един вариант ще съвпада само с друг вариант. Това би било добре за ниво 1 срещу ниво 1. Въпреки това исках да позволя на играчите да избират многобройни опоненти на ниво, за да играят. Потребител A: Нива 1, 2 и 3 Потребител B: Нива 1 и 2. Потребител A трябва да съвпада с Потребител B, но не може, когато използва варианти. Все още търся начин. :( - person MrClicks; 15.11.2016