Op basis van je berekeningen blijkt de geplande koers geen steek te houden. Je vindt de handleiding van de onderzeeër en ontdekt dat het proces eigenlijk iets ingewikkelder is.

Naast de horizontale positie en de diepte, moet je ook een derde waarde richting bijhouden, die ook begint bij 0. De commando’s werken ook helemaal anders dan wat je eerst dacht:

Merk opnieuw op dat aangezien je je in een onderzeeër bevindt, down en up het omgekeerde doen van wat je zou verwachten: “down” betekent in de positieve richting richten.

Het voorgaande voorbeeld doet nu het volgende:

Na het volgen van de nieuwe instructies, zou je een horizontale positie van 15 en een diepte van 60 hebben. (Het product van deze waarden is 900.)

Opgave

Gebruik deze nieuwe interpretatie van de commando’s om de horizontale positie en de diepte van de onderzeeër te berekenen die je zou hebben na het volgen van de geplande koers. Wat krijg je als je je finale horizontale positie vermenigvuldigt met je finale diepte? Bepaal dit op de volgende manier:

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat de tekstbestanden commands01.txt1 en commands02.txt2 zich in de huidige directory bevinden.

> dive ("commands01.txt")
900 :: Int
> dive ("commands02.txt")
2044620088 :: Int