>> ZAMYLA CHAN: Ni havas amuzon kun 15.
15 estas la unua ludo kiu vi ricevas apliki.
Kaj ĝi estas interaktiva.
Nun, ne maltrankviliĝu.
Vi ne devas skribi la tuta aĵo mem.
>> Rigardu la dissendo-kodo.
Ĉar multon de la ludo strukturo Estas jam starigis por vi.
Ĝi akceptas kaj parses a komandlinia argumento de la uzanto, kaj kreas
tabulo bazita sur tiu enigo.
>> Ĝi kontrolas se la ludo estas gajnita, kaj elirojn Tuj la uzanto gajnas la ludon.
Kaj por gajni la ludon, gxi ricevas enigo de la uzanto kaj
nomas la movado funkcio.
Do ni iras al efektivigo kvar funkcioj por la partio de la 15 -
init, desegni, movado, kaj gajnis.
>> Unue, ni pritrakti init.
En init, por pravalorizi, ni reprezentas la estraro en 2D entjero tabelo.
Kaj tio estas globala variablo nomata tabulo kun dimensioj maks kaj max, la
maksimuma dimensioj de la tabulo.
Nu, la reala dimensio de la estraro estas donita per la uzanton, reprezentita en
la entjera d, kiu povus esti malpli ol maks.
Sed en C, oni ne povas regrandigi arrays.
Do vi estas hokita kun tiu maksimuma dimensio.
>> Via laboro en init estas popoli la valoroj de la estraro
kun la korekta valoroj.
Nun, ni vidis 1D arrays.
Sed kiel 2D arrays labori?
Tie estas indekso de la vico, 0 indekso, kiel ĉiam, kaj
tiam ankaŭ de la kolumno.
>> Kaj vi plenigu viajn grid in en malsuprenirantaj valorojn, same kiel ĉi tio.
Grid 0, 0, vico 0, kolumno 0, estas 8.
Grid 0, 1 estas 7.
Tio estas por ekzemplo kie d, iom d, estas 3.
Nun, la estraro en 15 devas ankaŭ enhavi malplenan kahelo, se vi iam ludis
kun la fizika ludo.
>> Sed tabulo estas entjero tabelo.
Do ĉiuj valoroj devas esti entjeroj.
Do ĝi estas ĝis vi decidos entjero valoro reprezenti malplenan kahelo.
>> Por pravalorizi via tabulo, vi povas uzi buklo strukturoj por enhavi la
komencante stato de la tabulo, kie tabulo i, j reprezentas la elementon en
vico i kaj kolumno j.
Ili komencas en descendanta ordo.
Kaj memoru, ke se la nombro de kaheloj estas nepara, tiam vi tuj
devas interŝanĝi la situo de 2 kaj de 1.
Do ni havas nian pravalorizita tabulo.