ISSN 0351-6652 Letnik 22 (1994/1995) Številka 5 Strani 276-281 Martin Juvan in Matjaž Zaveršnik: ZA PRAVE UPORABNIKE Ključne besede: računalništvo, Okna, računalniške igre, minsko polje. Elektronska verzija: http://www.presek.si/22/1232-Juvan-Zaversnik.pdf © 1995 Društvo matematikov, fizikov in astronomov Slovenije © 2010 DMFA - založništvo ZA PRAVE UPORABNIKE Gotovo poznate grafično okolje Windows. Ste se že kdaj vprašali, kaj je najkoristnejša stvar, ki jo je prineslo to okolje? No. odgovor ni preprost Nekateri so mnenja, da je najpomembnejša pridobitev enostavno upravljanje programov z miško, drugi mislijo, da je pomembnejši lep izgled programov (ikone, rnenuji, dialogi), tretji spet hvalijo možnost poganjanja več programov istočasno (vsak program v svojem oknu). Vendar pa sta med "pravimi" uporabniki mogoča le dva odgovora: pasjansa (igra Solitaire) ali mine (igra Minesweeper). Po tehtnem razmisleku sva se odločila, da so mine pomembnejša pridobitev. Naj to izbiro nekoliko pojasniva. Izkušen igralec min mora imeti kopico danih in pridobljenih umskih in motoričnih spretnosti, ki mu vse koristijo tudi pri običajnem delu: odlično tehniko dela z miško, izostren vid, dobro orientacijo in izvrsten pregled nad zaslonom, hitre In pravilne reakcije, jeklene živce, popolno koncentracijo in seveda poudarjeno zmožnost logičnega sklepanja. Z nekaj vaje potem ni težko doseči časov okoli 50 sekund na srednjem in 180 sekund na velikem minskem polju. Toda če želimo postati izkušeni in uspešni igralci, skratka pravi uporabniki, ki dosegajo čase, ki so približno za tretjino boljši od omenjenih, samo gornje lastnosti ne zadoščajo. Potrebno je vsaj še brezhibno avtomatično prepoznavanje tipičnih osnovnih razporeditev, ki nastopijo med igranjem. Da vam olajšava prehod med prave uporabnike, sva se odloČila sestaviti kratek pregled nekaterih osnovnih razporeditev, ki se večkrat pojavijo med igranjem. Seveda bo potrebno Še precej vaje in dodatnega dela, da boste dosegli želeno spretnost in zanesljivost. Pravila igre in označevanje Mine igramo na pravokotni mreži, kt predstavlja minsko polje Na začetku jo sestavljajo sama zaprta polja. Na nekaterih poljih so skrite mine. Naloga igralca je označiti vsa tista polja, pod katerimi so skrite mine, in odpreti vsa ostala polja. Pri iskanju min so nam v pomoč številke, ki jih vidimo v odprtih poljih Številka nam pove, koliko min je na sosednjih poljih (možne vrednosti so od 1 do 8). Namesto odprtega polja s številko 0 vidimo prazno polje Povejmo še, da je srednje minsko polje velikosti 16 X 16 in skriva 40 min, veliko pa meri 30 x 16 polj in ima 99 min. Na srednjem polju tako mine pokrivajo dobrih 16% površine, na velikem pa dobrih 20%. Ker je veliko polje večje in bolj zapolnjeno z minami, je seveda njegovo čiščenje precej bolj zamudno in zahtevno. Za prikaz razporeditev na minskem polju bomo uporabljali naslednje oznake; odprto polje z določeno številko, o | odprto polje s katerokoli številko, zaprto polje, označeno polje (tu je mina). Da poenostavimo razlago, bomo na slikah stolpce označili s števili, vrstice pa s črkami. Osnovne razporeditve Vsak začetnik takoj ugotovi, da se mu takrat, ko je okoli odprtega polja s številko n natanko n zaprtih ali označenih polj, izplača označiti vsa zaprta polja. Prav tako mora tedaj, ko je okoli odprtega polja s številko n že n označenih polj, odpreti vsa še zaprta polja. Veliko je igralcev, ki pri iskanju min uporabljajo samo zgornji osnovni pravili. Slej ko prej pa se pojavi razporeditev, v kateri nobenega od teh pravil ne moremo več uporabiti. Tedaj lahko poskusimo "na slepo" odpreti kako zaprto polje in nadaljevati z osnovnima praviloma. Vendar se takšni poskusi ponavadi nesrečno končajo. Bolj varno je v nastali situaciji malo premisliti: "Če označim to polje, potem lahko odprem sosednji dve; vendar obeh hkrati ne smem odpreti, ker mi potem okoli tistega polja ostane premalo zaprtih polj, torej začetnega polja ne smem označiti in ga lahko zato odprem." Razložimo natančneje nekaj podobnih premislekov: 1 2 3 1 2 3 A X o o A 0 o X B X 1 o B • 3 X C X 2 0 C o 2 X D X o 0 D o o X Slika 1, Slika 2. 1. Poglejmo sliko 1. Dvojka na polju C2 pravi: "Na poljih 61. Cl in D1 sta natanko dve mini," Ker pa na obeh poljih 61 in Cl zaradi enice na polju 62 ne moreta biti mini, je ena mina na polju 01. Druga je torej m.....h na polju 81 ali Cl. Ker pa sta ti dve polji sosednji s poljem 82, na katerem je enica. je polje Al prazno. 2. Razporeditev s slike 2 lahko razrešimo podobno kot prejšnjo Mina na polju 81 vpliva na številki na poljih 62 in C2. Če je ne bi bilo, bi bili številki za ena manjši, tako dobljena razporeditev pa ravno za 180 stopinj zasukana razporeditev s slike 1 Prilagojen prejšnji sklep tako pove, da je mina na polju A3, polje D3 pa je prazno. Pozorni bralec je gotovo opazil, da vse povedano velja tudi tedaj, ko je mina namesto na polju 81 na polju Cl, 1 2 3 1 2 3 A o 0 o A o o o B o 1 o B X a X C X 1 X C X a X D X X X D X X X Slika 3. Slika 4. 3. Oglejmo si sliko 3. Enica na polju 82 pravi: "Na poljih Cl in C3 je natanko ena mina." Enica na polju C2 pa pravi: "Na poljih Cl, C3, 01, 02 in 03 je natanko ena mina." Od tod lahko sklepamo, da na poljih 01, D2 in 03 ni nobene mine, saj je edina že na polju Cl ali C3. Vsa tri polja D1, D2 in D3 lahko torej brez skrbi odpremo, 4 Kaj pa lahko sklepamo iz razporeditve s slike 4? Pravzaprav je to samo posplošitev prejšnjega primera. Številka a na polju 82 pravi: "Na poljih 81, 83. Cl in C3 je natanko a min." Številka a na polju C2 pa pravi: "Na poljih 81, 82, Cl, C3, 01, D2 in D3 je natanko a min." Torej na poljih 01, 02 in D3 ni nobene mine, saj je a min že na poljih 61, 83. Cl in C3. Zato lahko hitro odpremo polja D1, 02 in D3. 1 2 3 4 5 1 2 3 4 5 6 A o o o o o A o 0 o 0 o o B o 1 2 1 o B o 1 2 2 1 o C X X X X X C X X X X X X Slika 5. Slika 6, 5. Kaj lahko povemo o razporeditvi na sliki 5? Če bi bila na polju C3 mina. potem bi morali biti zaradi enic na poljih 62 in B4 polji C2 in C4 prazni. To pa ni mogoče, ker morata biti na poljih C2, C3 in C4 natanko dve mini. Torej je polje C3 prazno. Sedaj lahko nadaljujemo z osnovnima praviloma, kar nam na koncu da še označeni polji C2 in C4 ter odprti polji C1 in C5. Morda ste opazili, da bi lahko gornjo razporeditev razrešili tudi s pomočjo slike 1 in osnovnih pravil. 6. Razporeditev na sliki 6 je podobna tisti s slike 5. Tudi razmišljamo lahko na podoben način, kar nas pripelje do naslednje ugotovitve: označiti je treba polji C3 in C4, odpreti pa polja C1, C2. C5 in C6. 1 2 3 4 S 1 2 3 4 A X X X X X A X X X • B X 1 2 1 X B X 1 2 0 C X X X X X C X X X o Slika 7. Slika 8. 7. Razmislek o razporeditvi na sliki 7 prepuščava bralcu. Najbrž ne bo težko ugotoviti, da lahko odpremo polja Al, A3, Ab. BI, B5. C1, C3 in Cb. Vendar pa tokrat za razliko od razporeditve s slike 5 ne moremo določiti, pod katerima poljema se skrivata mini. 8. Razporeditev na sliki 8 se med čiščenjem kar pogosto pojavi. Razrešimo jo podobno kot prejšnje. Ker je na polju AA mina, številka 2 na polju B3 pove, da je na poljih A2, A3, C2 in C3 natanko ena mina. Ker so vsa ta polja sosednja s poljem 62, na katerem je enica, morajo biti polja Al, 61 in Cl prazna. Mimogrede tudi opazimo, da bi mina namesto na polju A4 lahko bila tudi na polju B4 ali C4. 1 2 3 4 5 1 2 3 4 A X X X 0 o A X X X X B X a X a o B • 2 2 0 C X X X o o C o o o o Slika 9. Slika 10. 9. Razporeditev s slike 9 na prvi pogled ni podobna nobeni od prejšnjih, saj vsebuje (morebitno) osamljeno polje 62. Vendar tudi tokrat razmislek ni težak. Številka a na polju 64 pove, da je na poljih /43, 63 in C3 natanko a min. To pa so tudi vse mine, ki jih potrebuje številka a na polju 62, Torej lahko brez strahu odpremo polja Al, A2, 61, C1 in C2. 10. Razporeditev s slike 10 gotovo prepoznate Gre za na zelo podoben način kot na sliki 2 spremenjeno (in zasukano) razporeditev s slike 1. Polje Al je torej prazno, na polju AA pa je mina. 1 2 3 1 2 3 4 A X X X A o 0 0 X B X 2 X B o o 2 X C X 5 X C • 2 2 X D X X X D o X X X Slika 11. Slika 12. 11. Če pogledamo sliko 11, opazimo, da sta lahko na poljih 61, 63, Cl in C3 največ dve mini. Ker je na polju C2 številka 5, moramo označiti polja D1, D2 in D3. Številka 5 tudi zahteva, da sta še dve mini na poljih 61, 63, Cl in C3. Torej so polja Al, A2 in A3 prazna. Na gornjo razporeditev v prikazani obliki redko naletimo, večkrat pa jo srečamo, ko je nekaj polj okoli dvojke že odprtih 12. Oglejmo si še zadnjo sliko. Ker je na polju Cl mina. na polju C2 pa Številka 2, je na poljih D2 in D3 natanko ena mina. Številka 2 na pofju C3 ima torej eno mino na polju D2 ali D3, druga pa je na enem od polj D4, C4 ali 64. Ker je na poljih 64 in C4 največ ena mina, nam številka 2 na polju 63 pove, da je na polju A4 mina. Če ponovno pogledamo številko 2 na polju C3, vidimo, da ima prvo mino na enem od polj D2 alt D3, drugo pa na enem od potj 64 ali C4. Polje D4 je zato prazno in ga lahko odpremo. To je bil pregled nekaterih razporeditev, ki se pogosto pojavijo med igranjem. Seveda moramo upoštevati, da se lahko vsaka od teh razporeditev pojavi tudi drugače zasukana ali prezrcaljena, lahko pa leži tudi ob robu mreže V zadnjem primeru je treba na rob gledati, kot da so tam odprta polja, le da ne poznamo Številk, ki so zapisane v njih. Seveda pa se kljub uporabi zgornjih pravi) lahko zgodi, da moramo včasih polja odpirati "na slepo". Naj dodava še nekaj nasvetov za tiste, ki bi radi dosegali čim boljše Čase. Izključite možnost označevanja polj z vprašaji. Pri hitrem igranju se namreč pogosto zgodi, da kakšno pofje napačno označimo. Ko želimo oznako spremeniti, je dovolj, da ga kliknemo samo enkrat (namesto dvakrat, kolikorkrat gaje treba, če je označevanje z vprašaji vključeno). Uporabljajte barvni monitor. Igrali boste precej lažje in bolj zanesljivo, saj je v barvah minsko polje veliko bolj pregledno. Pazite tudi, da pri igri ne "preobremenite" miške. Zdaj morate samo Še prižgati računalnik m začeti nabirati izkušnje. Vendar pazite, da ne stopite na mino. Martin Juvan, Matjaž ZaverŠnik