Пример #1
0
        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"));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }