private void LoadStoryFile(StoryFile f) { _MemmorySize = f.rawData.Length; Reset(); Memmory = new ZorkStream(f.rawData); //TODO: load header data ProgramCounter = f.Header.ProgramCounter; }
private void StoryBlockListController_RemoveItemButtonClick() { foreach (StoryBlockItemView itemView in StoryBlockTreeView.SelectedItemSet) { StoryBlockBase data = itemView.Data; StoryFile.RemoveStoryBlockItem(data); } }
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(); }
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); }
/// <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); }
private void StoryBlockListController_CreateItemButtonClick() { StoryFile.CreateStoryBlockItem(EditingClip); }
public TaleData() { MotionFile = new MotionFile(); UiFile = new UiFile(); StoryFile = new StoryFile(); }
public void Execute(byte[] zorkFile) { _sf = StoryFile.Read(zorkFile); LoadStoryFile(_sf); Step(); }