Beispiel #1
0
 public void DrawSymbolWithOffset(string symbol, int step, Point2D.MoveDirection direction, Point2D currentPoint)
 {
     try
     {
         iOComponent.SetCursor(currentPoint.XCoordinate, currentPoint.YCoordinate);
         iOComponent.WriteOutput(symbol);
         currentPoint.Move(direction, step);
     }
     catch (ArgumentOutOfRangeException e)
     {
         iOComponent.Clear();
         iOComponent.WriteOutput(e.Message);
     }
 }
Beispiel #2
0
        public void RunDrawer()
        {
            Board dboard = new Board(this.curveDrawer, drawSettings.BoardSizeX, drawSettings.BoardSizeY, drawSettings.StartCoordinateX, drawSettings.StartCoordinateY);

            phraseProvider.ReadResourceFile();


            string exit = String.Empty;

            do
            {
                iO.Clear();
                iO.SetCursor(drawSettings.StartCoordinateX, drawSettings.StartCoordinateY);
                Point2D current = dboard.GetCurrenttPosition();
                current.XCoordinate = drawSettings.StartCoordinateX;
                current.YCoordinate = drawSettings.StartCoordinateY;
                dboard.DrawBoard(drawSettings.HorizontalFiller, drawSettings.VerticalFiller, drawSettings.CornerFiller);
                iO.SetCursor(0, drawSettings.InfoCoordinateY);
                iO.WriteOutput(phraseProvider.GetPhrase("rules"));

                iO.SetCursor(settingsProvider.GetDrawSettings().StartCoordinateX + 1, settingsProvider.GetDrawSettings().StartCoordinateY + 1);
                DrawMethod draw = null;

                for (int i = 0; i < drawers.Count(); i++)
                {
                    int number = this.GetUserNumber();
                    dboard.inputes.Push(i + 1);

                    if (i != 0)
                    {
                        foreach (KeyValuePair <int, DrawMethod> kv in drawers)

                        {
                            draw -= this.drawers[kv.Key];
                        }
                    }

                    draw += this.drawers[number];
                    draw(dboard);
                    iO.SetCursor(drawSettings.StartCoordinateX, drawSettings.StartCoordinateY);
                }



                iO.SetCursor(0, drawSettings.ExitCoordinateY);
                iO.WriteOutput(phraseProvider.GetPhrase("Exit"));
                exit = iO.ReadInput();
            }while (exit != settingsProvider.GetDrawSettings().Exit);
        }