V davnih časih (ko še ni bilo računalnikov) smo se igrali Memo. To je igra za dva igralca.
Pravila:
-
Prvi igralec izbere poljubno kombinacijo štirih barv od šestih.
Barve so Y – rumena, O – oranžna, R – rdeča, B – modra, G – zelena, V - vijolična,
pri čemer se barve ne ponavljajo, npr. YRGB.
-
Drugi igralec poskuša ugotoviti soigralčevo kombinacijo.
-
Prvi igralec mu označi (na istoležnih mestih)
-
s črno (B) – če je uganil barvo in lego,
-
z belo (W) – če je uganil le barvo,
-
nič ( ) – če nista pravi niti barva niti lega.
-
Drugi igralec poskuša ponovno.
-
Igra se konča, ko drugi igralec ugane kombinacijo (zmaga),
ali če v šestih poskusih ne ugotovi kombinacije (izgubi).
V modernih časih se skoraj nihče več ne igra s sovrstniki,
ampak le z računalniki. Zato napišite program, ki bo simuliral
igro prvega igralca.
Progam naj vsebuje metode:
-
Metodo nakljucnaKombinacija, ki vrne poljubno kombinacijo štirih barv od šestih v obliki niza - npr. "YRGB".
-
Metodo odgovorPrimerjave, ki primerja dve kombinaciji in vrne odgovor, ki vsebuje informacije o pravilnosti barv in lege. Tako kombinaciji barv kot vrnjena informacija so nizi.
-
Metodo main v kateri od igralca progam zahteva kombinacijo (največ šestkrat) in mu sporoči, kako blizu je pravi rešitvi.
Na koncu naj še izpiše, ali je igralec zmagal ali izgubil.
Komentar:
Pravila igre lahko spreminjamo:
-
Popravimo metodo, ki vrne naključno kombinacijo štirih barv tako, da se barve lahko ponavljajo. (POZOR! Popraviti je potrebno tudi metodo, ki bo taka niza primerjala.)
-
Odgovor, ki ga vrne metoda primerjave, spremenimo tako, da bo igralec izvedel le, koliko barv ima pravo lego, koliko barv je samo pravih in koliko je zgrešenih, ne pa tudi, katere.