
Přehled
Vyzkoušel jsem několik solitaire aplikací z App Storu, ale vadily mi v nich agresivní reklamy, neobratné animace a jejich vzhled. Solitairy je moje vlastní verze Klondike bez reklam.
Hlavním technickým problémem bylo vměstnat dlouhé sloupce karet na obrazovku. Běžné SwiftUI stacky nakonec umístí část karet mimo viditelnou plochu. Napsal jsem proto vlastní „Accordion" layout, který počítá rozestupy z dostupné výšky a dlouhé sloupce stlačí bez nutnosti scrollovat.
Pomocí Core Haptics jsem přidal jemnou odezvu při přichycení a zamíchání karet.
Funkce
- Dynamický Accordion Layout: Vlastní layout engine, který matematicky upravuje rozestupy karet v reálném čase tak, aby dlouhé sloupce seděly na každé velikosti obrazovky.
- „Lazy" přetahování: Hráč může přetáhnout sloupec dotykem na prázdný prostor pod ním. Na větším telefonu tak na karty snáze dosáhne.
- Haptická zpětná vazba: Jemně vyladěné vzory vibrací pomocí Core Haptics dávají instantní zpětnou vazbu na hráčovy kroky.
- Kontextový systém nápověd: Místo rušivých tutoriálů aplikace zobrazuje jemné, vodoznakové nápovědy kontextově podle stavu hry (např. návrh tahu, pokud je k dispozici).
- Dlouhodobě zábavné: Výzvy v podobě statistik, úspěchů a historie her motivují hráče k návratu a zlepšování skóre.
Použité technologie
- Swift
- SwiftUI
- Core Data (statistiky, úspěchy, historie her)
- Core Haptics (vlastní vzory vibrací)
- Xcode (vývoj a testování)
- App Store Connect (distribuce a správa aplikace)
- TestFlight (beta testování)