Alfs Lampor

Inledning

Alf sitter kvar länge på jobbet. När han ska gå upptäcker han att han är sist kvar på skolan. Alf blir tvungen att släcka alla lampor i huset. Men nu har någonting mystiskt hänt! När Alf släcker en lampa i ett klassrum så tänds det i ett närliggande klassrum där det var släckt innan, samtidigt som det släcks i ett annat som det var tänt i innan. Konstigt tycker Alf. Någon måste ha varit och mixtrat.

Efter lite experimenterande så upptäcker Alf att när han skiftar en lampa (på/av) i ett klassrum så skiftar alla lampor i alla intilliggande klassrum, men inte de klassrum som ligger diagonalt, med det han befinner sig i. Alf gör en skiss över alla klassrum. Det visar sig att det är 5x5 stycken klassrum. Innan han försöker släcka det klassrummet som ligger i mitten så ser skissen ut såhär:

bild
Klicka för förstoring.

Efter att Alf har skiftat lampan i mitten så ser det ut såhär:

bild
Klicka för förstoring.

"Hur ska detta gå till?"- tänker Alf. "Kommer jag någonsin att komma hem?" Hjälp Alf att undersöka om det ens är möjligt. Hjälp Alf att ta sig hem!

Konstruera ett program som fungerar enligt modellen ovan. Man ska sedan kunna ange vilken lampa man vill ge sig på och programmet ska reagera så att lamporna tänds och släcks enligt reglerna.

Använder du dig av ett Console Application så matar du in med text men om du vill testa att göra ett XNA projekt så hade det varit trevligt att bara klicka på den lampa man vill tända/släcka.

Vilken variant ni än väljer så ska klassrummen byggas upp av en 2-D vektor med passande variabler/datastrukturer.

Viktigt att du kommenterar din kod och skriver personliga förklaringar till det du gör.

Förslag på extra features:

  • Olika ljud när du tänder släcker (XNA)

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Scroll to top