# Vending Machine in Inform 7

Your mission, should you choose to accept it, is to model a vending machine and its user interaction in Inform 7. Assume that you are going to use this representation later to experiment with "smart" vending machine user interfaces, but for now you just want to model a standard machine.

Your machine should vend at least two kinds of product, accepting cash and making correct change. Your machine should keep track of the inventory of each product, provide some indication of product inavailability, and not charge for product not dispensed.

(Special requirement for CS 541 students) You should model the resupply process for your machine. Your machine should keep a log of items sold, and should have a maintenance interface for retrieving the log during resupply.

WARNING: This is a super-challenging assignment to do well. I would guess that it will require a minimum of 20 hours for anyone not previously familiar with Inform 7.

You will find a number of helpful Inform 7 tutorials online. If you want a book, I can highly recommend Aaron Reed's Creating Interactive Fiction With Inform 7, although it is neither short nor cheap. Get the paper version: the electronic version is so badly formatted as to be completely unusable.

Turn in a writeup as usual, together with the Source/story.ni file, any Materials you created, and a playable file in Z-Machine format (.z8). Your writeup should include a transcript of a play session in which you demonstrate your model.