Lekce 7 - Tvorba sudoku v Xamarin - Hlavní algoritmus
V minulé lekci, Tvorba sudoku v Xamarin - Test kontrolních mechanismů, jsme graficky testovali naše kontrolní mechanismy.
V dnešním Xamarin tutoriálu vytvoříme hlavní algoritmus řešení sudoku včetně jeho pomocných metod.
Popis hlavního algoritmu
Popišme si hlavní algoritmus řešení sudoku. Existuje mnoho možností, jak ho řešit. My si zvolíme řešení, kdy budeme dosazovat do jednotlivých buněk čísla, dokud neporušíme pravidla sudoku.
Postup algoritmu bude následující:
- Pro buňku, kterou řešíme, se pokusíme najít hodnotu,
která vyhovuje řešení. Začneme neutrální hodnotou
0
, kterou budeme inkrementovat. - Přesáhneme-li číslo
9
, vrátíme se o krok zpět na bod 1. a do buňky dáme neutrální hodnotu0
. - Nepřesáhneme-li číslo
9
, zkontrolujeme řešení. - Nevyhovuje-li řešení, vrátíme se na bod 1..
- Vyhovuje-li řešení, postoupíme na další buňku a začneme znovu bodem 1..
- Jsme-li na poslední buňce a řešení vyhovuje, sudoku je vyřešené 😀
Vezměme si například stav, kdy máme v buňce [4,7]
hodnotu
5
, která momentálně je pro řešení
vyhovující. My jsme ale učinili i deset kroků vpřed a
nenašli jsme řešení. Pak se postupně vracíme na tuto buňku a snažíme se
najít řešení od čísla 6
až do čísla 9
. Pokud
řešení nenajdeme, zapíšeme do buňky [4,7]
neutrální hodnotu
0
.
Než se pustíme do implementace hlavního algoritmu, připravíme si pomocné metody pro:
- vložení nové hodnoty,
- pohyb vpřed,
- pohyb zpět.
Budeme rozšiřovat naši aplikaci z lekce Test
kontrolních mechanismů. Všechen kód budeme psát do souboru
MainPage.xaml.cs
.
Vložení nové hodnoty
První metodou, kterou si dnes do souboru MainPage.xaml.cs
napíšeme, bude metoda pro vložení nové hodnoty do
sudoku:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V Xamarin tutoriálu vytvoříme hlavní algoritmus řešení sudoku včetně jeho pomocných metod, a také najdeme uplatnění pro naše kontrolní mechanismy.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.