
Oefening op 5 punten
In het spel Betoverde Doolhof kan je een fiche in het bord schuiven. Daardoor schuift een volledige rij of kolom op, en valt aan de andere kant de laatste waarde eruit.
Je krijgt:
richting: “rij” of “kolom”,waarde: de nieuwe waarde die in het bord wordt geschoven,duwplaats: een coördinaat (r, k) van de fiche waartegen je duwt.De coördinaat ligt altijd op de rand van het bord.
Regels:
richting == "rij" wordt rij r verschoven.
k == 0 (linkerrand): schuif naar rechts.k == laatste_kolom (rechterrand): schuif naar links.richting == "kolom" wordt kolom k verschoven.
r == 0 (bovenrand): schuif naar beneden.r == laatste_rij (onderrand): schuif naar boven.Geef het nieuwe bord terug na deze ene duwbeweging.
>>> betoverde_doolhof(
... [[1, 2, 3],
... [4, 5, 6],
... [7, 8, 9]],
... "rij",
... 99,
... (1, 0)
... )
[
[1, 2, 3],
[99, 4, 5],
[7, 8, 9]
]
Rij 1 wordt vanaf links naar rechts verschoven.
De 6 valt eruit en 99 komt links binnen.
>>> betoverde_doolhof(
... [[1, 2, 3],
... [4, 5, 6],
... [7, 8, 9]],
... "kolom",
... 42,
... (0, 2)
... )
[
[1, 2, 42],
[4, 5, 3],
[7, 8, 6]
]
Kolom 2 wordt van boven naar beneden verschoven.
De 9 valt eruit en 42 komt bovenaan binnen.
"rij" of "kolom".(r, k) met de duwplaats op de rand van het bord.De nieuwe matrix na de schuifbeweging.