Покер инструменти

ТЕКСТ: АЛЕКСАНДЪР АФАНАСИЕВ Здравейте, читатели на iphones.ru. Искам да споделя историята за създаването на първото ни приложение за iOS - Покер инструменти.

Споделих идеята с колегите си и, както се оказа, подобна идея узряваше за нашия UX/UI дизайнер. Струваше ни се, че можем да направим такова приложение бързо и без особени затруднения, но всичко се оказа не толкова просто.

Беше решено да се разработи за множество платформи. Започнахме с iPhone/iPod, защото там са най-плащащите клиенти.

На първо място, ние съставихме списък с необходимите според нас функции, които трябва да бъдат включени в приложението:

  • Вероятност за печалба - играчът въвежда картите си и програмата изчислява шансовете за печалба.
  • Таймер - напомня ви за необходимостта от повишаване на тарифите през определен интервал от време.
  • Реферът - играчите, претендиращи за победа, въвеждат своите карти и програмата показва кой от тях е спечелил. Незаменим инструмент за начинаещи.
  • Ръце - ръководство за покер комбинации. Също много полезна функция за начинаещи.

Развитие

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

Разработката започна с инструмента "Ръце". неговият дизайн беше готов преди. Колкото и да е странно, оказа се, че не е твърде трудно да се приложат необходимите анимационни ефекти, но след тестване на реално устройство станаха очевидни сериозни проблеми с производителността, които трябваше да бъдат подобрени.

инструменти

Таймерът е направен възможно най-опростен и разбираем. Общото време и първоначалните залози са всичко, от което се нуждаят огромното мнозинство от играчите. Известието за нов кръг е много силно и приложението също изпраща известие до центъра за уведомяване на iPhone. Между другото, закупихме звуковия сигнал на istockphoto.com.

бета версията

Изчисляване на вероятността за печалба

Търнът достигна основната функционалност на програмата - изчисляване на вероятностите за печалба и шансовете за събиране на определена комбинация. Имаше много работа в областта на тервер, така че нашият програмист-математик, който според него „винаги беше обзет от чувство на естетическо удоволствие, когато работеше с теорията на вероятностите“, се включи в разработката. Като цяло такива мащабни и сложни проблеми като нашия могат да имат много подходи за решаване и само някои от тях са удобни за изпълнение. Методът Монте Карло дойде на помощ. Принципът му: ако провеждате много, много произволни тестове, тогава техният среден резултат ще бъде близо до истинската стойност. Този метод е много по-бърз от изчерпателното изброяване на всички комбинации и е най-подходящ за получаване на приемливо качество на резултата. Има различни библиотеки, но те обикновено са обхванати от GPL-подобни лицензи. Ще отнеме твърде много време, за да развиете своя собствена.

Задачата беше да се намери алгоритъм или неговия прототип без GPL, може би не най-бързият, но работещ, след което да се разработи и допълни, за да отговаря на вашите нужди. Прототипът е намерен в javascript и се превръща в основа за алгоритъма, реализиран в Objective-C.