示例#1
0
        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);
        }
示例#2
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();
            }
        }