public void PlayZork() { var io = new SimpleInputOutput(); var machine = new Machine(Zork1.GetData(), io); WaitForOutput(machine, io); Assert.True(ProcessCommand(machine, io, "look").Contains("West of House")); Assert.True(ProcessCommand(machine, io, "open mailbox").Contains("leaflet")); Assert.True(ProcessCommand(machine, io, "read leaflet").Contains("(Taken)")); Assert.True(ProcessCommand(machine, io, "inventory").Contains("A leaflet")); }
static void Main(string[] args) { var machine = new Machine(Zork1.GetData(), new ConsoleInputOutput()); int numInstructionsProcessed = 0; while (!machine.isFinished()) { if (machine.debug) { Debug.Write("" + numInstructionsProcessed + " : "); } machine.processInstruction(); ++numInstructionsProcessed; } Debug.WriteLine("Instructions processed: " + numInstructionsProcessed); }
static void Main() { //Start Game var io = new SimpleInputOutput(); var machine = new Machine(Zork1.GetData(), io); _area = new Span(); var frm = new Form(); var textInput = new TextInput(); _area.Text = ""; frm.Submit += (sender, eventArgs) => { DisplayOutput(ProcessCommand(machine, io, textInput.Value)); textInput.Value = ""; //DOESN'T WORK RIGHT //value doesn't change so... var js = string.Format("document.getElementById(\"{0}\").value = \"\";window.scrollTo(0,document.body.scrollHeight);", textInput.Id); Runtime.InvokeJS(js); }; var container = new Paragraph(); var p1 = new Paragraph(); var p2 = new Paragraph(); p1.AppendChild(_area); frm.AppendChild(textInput); p2.AppendChild(frm); container.AppendChild(p1); container.AppendChild(p2); // Publish a root element to be displayed UI.Publish("/", container); DisplayOutput(WaitForOutput(machine, io)); }