Ejemplo n.º 1
0
 private void LoadStoryFile(StoryFile f)
 {
     _MemmorySize = f.rawData.Length;
     Reset();
     Memmory = new ZorkStream(f.rawData);
     //TODO: load header data
     ProgramCounter = f.Header.ProgramCounter;
 }
Ejemplo n.º 2
0
        private void StoryBlockListController_RemoveItemButtonClick()
        {
            foreach (StoryBlockItemView itemView in StoryBlockTreeView.SelectedItemSet)
            {
                StoryBlockBase data = itemView.Data;

                StoryFile.RemoveStoryBlockItem(data);
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.Clear();
            Console.WriteLine("ZorkMachine");

            Console.WriteLine("Test File: Minizork");
            Console.WriteLine("File Info:");

            StoryFile f = new StoryFile(File.ReadAllBytes("minizork.z3"));

            Console.WriteLine(f.ToString());
            Console.ReadLine();
        }
Ejemplo n.º 4
0
        protected override void BeforeRun()
        {
            Console.Clear();
            Console.WriteLine("ZorkMachine");

            Console.WriteLine("Test File: Minizork");
            Console.WriteLine("File Info:");

            StoryFile f = new StoryFile(minizork_z3.raw);

            Console.WriteLine(f.ToString());


            ZorkEngine ze = new ZorkEngine();

            ze.Execute(minizork_z3.raw);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Read all the files in the story file directory and return category list
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <StoryFile> GetCategories()
        {
            Regex MetadataRegex = new Regex(@"\{\s*(?:(?:[a-zA-Z0-9]+: .+)\s*)+\}");

            string[]         files      = Directory.GetFiles(Path.GetFullPath("../../stories"), "*.txt", SearchOption.AllDirectories);
            List <StoryFile> categories = new List <StoryFile>();

            foreach (string file in files)
            {
                string fileText = File.ReadAllText(file);
                if (!MetadataRegex.IsMatch(fileText))
                {
                    //Metadata is unreadable or missing from the top of the file
                    continue;
                }
                else
                {
                    string    metadataMatch = MetadataRegex.Match(fileText).Value;
                    StoryFile storyFile     = new StoryFile();
                    storyFile.FilePath = file;
                    storyFile.Title    = Regex.Match(metadataMatch, @"Title: (.+)")?.Groups[1]?.Value.Trim() ?? string.Empty;
                    if (string.IsNullOrEmpty(storyFile.Title))
                    {
                        continue;
                    }
                    storyFile.MadLibsCount = int.Parse(Regex.Match(metadataMatch, @"Number: (.+)")?.Groups[1]?.Value.Trim() ?? "0");
                    if (storyFile.MadLibsCount == 0)
                    {
                        continue;
                    }
                    storyFile.Description = Regex.Match(metadataMatch, @"Description: (.+)")?.Groups[1]?.Value.Trim() ?? string.Empty;
                    storyFile.Year        = Regex.Match(metadataMatch, @"Year: (.+)")?.Groups[1]?.Value.Trim() ?? string.Empty;

                    categories.Add(storyFile);
                }
            }
            return(categories);
        }
Ejemplo n.º 6
0
 private void StoryBlockListController_CreateItemButtonClick()
 {
     StoryFile.CreateStoryBlockItem(EditingClip);
 }
Ejemplo n.º 7
0
 public TaleData()
 {
     MotionFile = new MotionFile();
     UiFile     = new UiFile();
     StoryFile  = new StoryFile();
 }
Ejemplo n.º 8
0
 public void Execute(byte[] zorkFile)
 {
     _sf = StoryFile.Read(zorkFile);
     LoadStoryFile(_sf);
     Step();
 }