Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

7. diel - Tvorba sudoku v Xamarin - Hlavný algoritmus

V minulej lekcii, Tvorba sudoku v Xamarin - Test kontrolných mechanizmov , sme graficky testovali naše kontrolné mechanizmy.

V dnešnom Xamarin tutoriále vytvoríme hlavný algoritmus riešenia sudoku vrátane jeho pomocných metód.

Popis hlavného algoritmu

Popíšme si hlavný algoritmus riešenia sudoku. Existuje mnoho možností, ako ho riešiť. My si zvolíme riešenie, kedy budeme dosadzovať do jednotlivých buniek čísla, pokiaľ neporušíme pravidlá sudoku.

Postup algoritmu bude nasledujúci:

  1. Pre bunku, ktorú riešime, sa pokúsime nájsť hodnotu, ktorá vyhovuje riešeniu. Začneme neutrálnou hodnotou 0, ktorú budeme inkrementovať.
  2. Ak presiahneme číslo 9, vrátime sa o krok späť na bod 1. a do bunky dáme neutrálnu hodnotu 0.
  3. Ak nepresiahneme číslo 9, skontrolujeme riešenie.
  4. Ak nevyhovuje riešenie, vrátime sa na bod 1..
  5. Ak vyhovuje riešenie, postúpime na ďalšiu bunku a začneme znova bodom 1..
  6. Ak sme na poslednej bunke a riešenie vyhovuje, sudoku je vyriešené 😀
Zoberme si napríklad stav, kedy máme v bunke [4,7] hodnotu 5, ktorá momentálne je pre riešenie vyhovujúca. My sme ale urobili aj desať krokov vpred a nenašli sme riešenie. Potom sa postupne vraciame na túto bunku a snažíme sa nájsť riešenie od čísla 6 až do čísla 9. Pokiaľ riešenie nenájdeme, zapíšeme do bunky [4,7] neutrálnu hodnotu 0.

Než sa pustíme do implementácie hlavného algoritmu, pripravíme si pomocné metódy na:

  • vloženie novej hodnoty,
  • pohyb vpred,
  • pohyb späť.
Budeme rozširovať našu aplikáciu z lekcie Test kontrolných mechanizmov. Všetok kód budeme písať do súboru MainPage.xaml.cs.

Vloženie novej hodnoty

Prvou metódou, ktorú si dnes do súboru MainPage.xaml.cs napíšeme, bude metóda na vloženie novej hodnoty do sudoku:


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh iba za 100 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 8 článkom (8 lekcií) tohoto kurzu.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Neobmedzený a trvalý prístup k jednotlivým lekciím.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V Xamarin tutoriále vytvoríme hlavný algoritmus riešenia sudoku vrátane jeho pomocných metód, a tiež nájdeme uplatnenie pre naše kontrolné mechanizmy.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Daniel Martinko
Avatar
Aktivity