public void vulLijst(string[] teBewandelenWeg) { int gewicht = 1; foreach (string Wandelstuk in teBewandelenWeg) { int afstand = Int32.Parse(Wandelstuk.Substring(1)); Point huidigPunt = puntenLijst[puntenLijst.Count - 1]; switch (Wandelstuk[0]) { case 'U': for (int i = 1; i <= afstand; i++) { puntenLijst.Add(new Point(huidigPunt.X, huidigPunt.Y - 1, gewicht)); huidigPunt = puntenLijst[puntenLijst.Count - 1]; gewicht++; } break; case 'D': for (int i = 1; i <= afstand; i++) { puntenLijst.Add(new Point(huidigPunt.X, huidigPunt.Y + 1, gewicht)); huidigPunt = puntenLijst[puntenLijst.Count - 1]; gewicht++; } break; case 'L': for (int i = 1; i <= afstand; i++) { puntenLijst.Add(new Point(huidigPunt.X - 1, huidigPunt.Y, gewicht)); huidigPunt = puntenLijst[puntenLijst.Count - 1]; gewicht++; } break; case 'R': for (int i = 1; i <= afstand; i++) { puntenLijst.Add(new Point(huidigPunt.X + 1, huidigPunt.Y, gewicht)); huidigPunt = puntenLijst[puntenLijst.Count - 1]; gewicht++; } break; } } puntenLijst.RemoveAt(0); }
public void tekenweg(string[] teBewandelenWeg) { Point huidgeWaarde = this.startWaarde; foreach (string Wandelstuk in teBewandelenWeg) { int afstand = Int32.Parse(Wandelstuk.Substring(1)); switch (Wandelstuk[0]) { case 'U': for (int i = 1; i <= afstand; i++) { huidgeWaarde.X -= 1; if (speelveld[huidgeWaarde.X, huidgeWaarde.Y] == tekenWaarde.leegte()) { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.wegVerticaal(); } else { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.Kruising(); } } break; case 'D': for (int i = 1; i <= afstand; i++) { huidgeWaarde.X += 1; if (speelveld[huidgeWaarde.X, huidgeWaarde.Y] == tekenWaarde.leegte()) { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.wegVerticaal(); } else { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.Kruising(); } } break; case 'L': for (int i = 1; i <= afstand; i++) { huidgeWaarde.Y -= 1; if (speelveld[huidgeWaarde.X, huidgeWaarde.Y] == tekenWaarde.leegte()) { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.wegHorizontaal(); } else { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.Kruising(); } } break; case 'R': for (int i = 1; i <= afstand; i++) { huidgeWaarde.Y += 1; if (speelveld[huidgeWaarde.X, huidgeWaarde.Y] == tekenWaarde.leegte()) { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.wegHorizontaal(); } else { speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.Kruising(); } } break; } speelveld[huidgeWaarde.X, huidgeWaarde.Y] = tekenWaarde.hoek(); } }