private void Add() { StartA = new Start { Index = 0, Display = "A" }; StartB = new Start { Index = 20, Display = "B" }; StartC = new Start { Index = 31, Display = "C" }; TrackSwitch TrackSwitchA = new TrackSwitch { Index = 9, Display = "\\" }; TrackSwitch TrackSwitchB = new TrackSwitch { Index = 11, Display = "/" }; TrackSwitch TrackSwitchC = new TrackSwitch { Index = 28, Display = "\\" }; TrackSwitch TrackSwitchD = new TrackSwitch { Index = 30, Display = "/" }; TrackSwitch TrackSwitchE = new TrackSwitch { Index = 12, Display = "\\" }; Dock DockA = new Dock { Index = 19, Display = "K", Ship = new Ship() }; Dock DockB = new Dock { Index = 44, Display = "K", Ship = new Ship() }; Track Track0 = new Track { Index = 1 }; Track Track1 = new Track { Index = 2 }; Track Track2 = new Track { Index = 3 }; Track Track4 = new Track { Index = 21 }; Track Track5 = new Track { Index = 22 }; Track Track6 = new Track { Index = 23 }; Track Track7 = new Track { Index = 10 }; Track Track8 = new Track { Index = 4 }; Track Track9 = new Track { Index = 5 }; Track Track10 = new Track { Index = 6 }; Track Track11 = new Track { Index = 7 }; Track Track12 = new Track { Index = 8 }; Track Track13 = new Track { Index = 24 }; Track Track14 = new Track { Index = 25 }; Track Track15 = new Track { Index = 29 }; Track Track16 = new Track { Index = 26 }; Track Track17 = new Track { Index = 27 }; Track Track18 = new Track { Index = 38 }; Track Track19 = new Track { Index = 39 }; Track Track20 = new Track { Index = 40 }; Track Track21 = new Track { Index = 41 }; Track Track22 = new Track { Index = 42 }; Track Track23 = new Track { Index = 43 }; Track Track25 = new Track { Index = 13 }; Track Track26 = new Track { Index = 14 }; Track Track27 = new Track { Index = 15 }; Track Track28 = new Track { Index = 16 }; Track Track29 = new Track { Index = 17 }; Track Track30 = new Track { Index = 18 }; Track Track31 = new Track { Index = 32 }; Track Track32 = new Track { Index = 33 }; Track Track33 = new Track { Index = 34 }; Track Track34 = new Track { Index = 35 }; Track Track35 = new Track { Index = 36 }; Track Track36 = new Track { Index = 37 }; // TrackSwitch A TrackSwitchA.TrackType = TrackType.TwoInOneOut; TrackSwitchA.Up = Track2; TrackSwitchA.Down = Track6; // TrackSwitch B TrackSwitchB.TrackType = TrackType.OneInTwoOut; TrackSwitchB.Up = Track8; TrackSwitchB.Down = Track13; // TrackSwitch C TrackSwitchC.TrackType = TrackType.TwoInOneOut; TrackSwitchC.Up = Track14; TrackSwitchC.Down = Track36; // TrackSwitch D TrackSwitchD.TrackType = TrackType.OneInTwoOut; TrackSwitchD.Up = Track16; TrackSwitchD.Down = Track18; // TrackSwitch E TrackSwitchE.TrackType = TrackType.TwoInOneOut; TrackSwitchE.Up = Track12; TrackSwitchE.Down = Track17; // Route A StartA.Next = Track0; Track0.Next = Track1; Track1.Next = Track2; Track2.Next = TrackSwitchA; // Route B StartB.Next = Track4; Track4.Next = Track5; Track5.Next = Track6; Track6.Next = TrackSwitchA; // Route C TrackSwitchA.Next = Track7; Track7.Next = TrackSwitchB; // Route D Track8.Next = Track9; Track9.Next = Track10; Track10.Next = Track11; Track11.Next = Track12; Track12.Next = TrackSwitchE; // Route E Track13.Next = Track14; Track14.Next = TrackSwitchC; // Route F TrackSwitchC.Next = Track15; Track15.Next = TrackSwitchD; // Route G Track16.Next = Track17; Track17.Next = TrackSwitchE; // Route H Track18.Next = Track19; Track19.Next = Track20; Track20.Next = Track21; Track21.Next = Track22; Track22.Next = Track23; Track23.Next = DockB; // Route I TrackSwitchE.Next = Track25; Track25.Next = Track26; Track26.Next = Track27; Track27.Next = Track28; Track28.Next = Track29; Track29.Next = Track30; Track30.Next = DockA; // Route J StartC.Next = Track31; Track31.Next = Track32; Track32.Next = Track33; Track33.Next = Track34; Track34.Next = Track35; Track35.Next = Track36; Track36.Next = TrackSwitchC; }
public void printTrack(TrackContainer t) { Console.Write(" "); for (int i = 0; i <= t.TrackAmount; i++) { Track tr = t.SearchIndex(i); switch (i) { case 4: Console.Write(" "); break; case 9: Console.WriteLine(""); Console.Write(" "); break; case 12: Console.Write(" "); break; case 20: Console.WriteLine(""); Console.Write(" "); break; case 24: Console.Write(" "); break; case 26: Console.Write(" "); break; case 28: Console.WriteLine(""); Console.Write(" "); break; case 31: Console.WriteLine(""); Console.Write(" "); break; case 32: Console.Write(" "); break; case 38: Console.Write(" "); break; default: break; } if (tr.GetType().Name == "Dock") { Dock dock = (Dock)tr; if (Dock.hasShip()) { Console.Write(tr.Display + " (schip " + dock.Ship.Content + "/" + dock.Ship.MaxContent + ")"); } else { Console.Write(tr.Display); } } else { Console.Write(tr.Display); } } Console.WriteLine(""); }
private void generateField() { this._gameField = new LinkedList <Field>(); _filePath = Directory.GetParent(Directory.GetParent(_filePath).FullName).FullName; _filePath += @"\Level\map1.txt"; string[] lines = System.IO.File.ReadAllLines(_filePath); Field prev = null; Field next = null; int i = 0; foreach (string line in lines) { foreach (char Char in line) { if (prev == null) { prev = new WaterField(); prev.Pos = i; } switch (Char) { case '~': next = new WaterField(); break; case '-': next = new Track("-"); break; case '|': next = new Track("|"); break; case '.': next = new EmptyField(); break; case 'D': next = new Dock(); break; case 'Y': next = new Yard(); break; // ╮ case 'w': next = new Track("╮"); break; // ╭ case 'x': next = new Track("╭"); break; // ╯ case 'y': next = new Track("╯"); break; // ╰ case 'z': next = new Track("╰"); break; // In case 'S': next = new SwitchIn("╭"); break; // Out case 's': next = new SwitchOut("╮"); break; case 'A': next = new Warehouse(); break; // Ship case '0': next = new WaterField(); next.Pos = i; next.PutMoveAbleObjectOnThisField(new Ship(), this); break; default: Console.WriteLine("CORRUPT MAP FILE :("); Console.ReadKey(); break; } next.Pos = i; prev.NextField = next; prev = next; this._gameField.AddLast(prev); i++; } } generateTrackLinks(); }