Twine is the recommended tool for this assignment. You can downloaded it from here.
This is the story file of the advanced functions I showed in class (choices, actions, display, html, css).
This is the reference and manual of twee, the system twine is built upon.
The basic documentation for Twine is comprised by these three video tutorials.
If you are looking for a more sophisticated tool you can try:
Undum (allows for more variables/states)
Or Inform 7 way more complex to use for both the writer and the reader but it’s a whole different way to conceive programming. Here is a snipped of “source code”:
An electric light is a kind of device. Carry out switching on an electric light: now the noun is lit. Carry out switching off an electric light: now the noun is unlit. Carry out someone trying switching on an electric light: now the noun is lit. Carry out someone trying switching off an electric light: now the noun is unlit.
The lamp is a fixed in place electric light. It is switched off. Understand "light" as the lamp. The description of the lamp is "Exceptionally bright, to help you pick out any features you might need to observe"