示例#1
0
 public DungeonPresenter(IDrawingEngine drawingEngine, int left = 0, int top = 0)
 {
     this.drawingEngine          = drawingEngine;
     this.top                    = top;
     this.left                   = left;
     drawingEngine.CursorVisible = false;
 }
示例#2
0
 public override void Draw(IDrawingEngine engine)
 {
     engine.Line(this.Point, new Point(this.Parameters[0], this.Parameters[1]), this.DrawingProperties); // PointA - PointB
     engine.Line(this.Point, new Point(this.Parameters[2], this.Parameters[3]), this.DrawingProperties); // PointA - PointC
     engine.Line(new Point(this.Parameters[0], this.Parameters[1]),
                 new Point(this.Parameters[2], this.Parameters[3]), this.DrawingProperties);             //PointB - PointC
 }
示例#3
0
        //SINGLETON DESIGN PATTERN
        public static GameManager GetInstance(IDrawingEngine drawEngine)
        {
            if (GameManager.instance == null)
            {
                GameManager.instance = new GameManager(drawEngine);
            }

            return(GameManager.instance);
        }
示例#4
0
        private void DrawBorder(IDrawingEngine drawingEngine)
        {
            drawingEngine.ForegroundColor = ConsoleColor.White;
            var line = "";

            for (int i = 0; i < width; i++)
            {
                line += border;
            }
            WriteLine(line);
        }
示例#5
0
        public override void Draw(IDrawingEngine engine)
        {
            Rectangle frame = new Rectangle(this.Point, this.Parameters[0], this.Parameters[1]);

            frame.Draw(engine);

            int x      = this.Point.X;
            int y      = this.Point.Y;
            int height = this.Parameters[0];
            int width  = this.Parameters[1];

            engine.Line(new Point(x, y + width / 2), new Point(x + height, y + width / 2), this.DrawingProperties);
            engine.Line(new Point(x + height / 2, y), new Point(x + height / 2, y + width), this.DrawingProperties);
        }
示例#6
0
        public override void Draw(IDrawingEngine engine)
        {
            //this.Parameters[0] - width
            //this.Parameters[1] - height

            engine.Line(this.Point, new Point(this.Point.X, this.Point.Y + this.Parameters[1]), this.DrawingProperties);

            engine.Line(this.Point, new Point(this.Point.X + this.Parameters[0], this.Point.Y), this.DrawingProperties);

            engine.Line(
                new Point(this.Point.X + this.Parameters[0], this.Point.Y),
                new Point(this.Point.X + this.Parameters[0], this.Point.Y + this.Parameters[1]), this.DrawingProperties);

            engine.Line(
                new Point(this.Point.X, this.Point.Y + this.Parameters[1]),
                new Point(this.Point.X + this.Parameters[0], this.Point.Y + this.Parameters[1]), this.DrawingProperties);
        }
示例#7
0
        public override void Redraw(IDrawingEngine drawingEngine)
        {
            DrawingEngine = drawingEngine;
            Reset();
            DrawBorder(drawingEngine);
            drawingEngine.ForegroundColor = ConsoleColor.Cyan;
            WriteLine(Caption);
            DrawBorder(drawingEngine);

            foreach (var line in Items)
            {
                drawingEngine.ForegroundColor = line.Color;
                WriteLine(line.Text);
            }

            DrawBorder(drawingEngine);
        }
示例#8
0
        public override void Draw(IDrawingEngine engine)
        {
            int x      = this.Point.X;
            int y      = this.Point.Y;
            int height = this.Parameters[0];
            int width  = this.Parameters[1];

            engine.Line(new Point(x, y + (y / 8)), new Point(x + width / 2, y), this.DrawingProperties);
            engine.Line(new Point(x + width / 2, y), new Point(x + width, y + y / 8), this.DrawingProperties);

            Rectangle house = new Rectangle(new Point(x, y + (y / 8)), width, height);

            house.Draw(engine);

            Window window = new Window(new Point(x + x / 5, y + y / 5), height / 5, width / 5);

            window.Draw(engine);

            Window window1 = new Window(new Point(x - x / 5 + width, y + y / 5), height / 5, width / 5);

            window1.Draw(engine);
        }
示例#9
0
 public override void Redraw(IDrawingEngine drawingEngine)
 {
     this.DrawingEngine = drawingEngine;
     base.Reset();
     WriteLine(Text);
 }
示例#10
0
 public ItemBehavior(IDrawingEngine drawingEngine)
 {
     InitializeDrawingEngine(drawingEngine);
     DrawingEngine.SubscribeToUIDraw(PrintUi);
     isDrawn = false;
 }
示例#11
0
 private GameManager(IDrawingEngine drawEngine)
 {
     this.DrawEngine = drawEngine;
     this.dice       = new Dices(19, 50);
     this.dicesLog   = new List <IDice>();
 }
示例#12
0
 public void InitializeDrawingEngine(IDrawingEngine drawingEngine)
 {
     DrawingEngine = drawingEngine;
 }
示例#13
0
 public Screen(IDrawingEngine drawingEngine, IGameManagerProvider gameManagerProvider) : base(drawingEngine)
 {
     this.gameManagerProvider = gameManagerProvider;
 }
示例#14
0
 public override void Draw(IDrawingEngine engine)
 {
     engine.Line(this.Point, new Point(this.Parameters[0], this.Parameters[1]), this.DrawingProperties);
 }
示例#15
0
 public void Print(IDrawingEngine printer, string name)
 {
     printer.WriteLine(name + "[" + Items.Count + "]");
     Items.ForEach(i => printer.WriteLine(i.ToString()));
 }
示例#16
0
 public void Initialize(IDrawingEngine drawingEngine, IKeyboardInputEngine keyboardInputEngine)
 {
     InitializeDrawingEngine(drawingEngine);
     InitializeKeyboardInputEngine(keyboardInputEngine);
     DrawingEngine.SubscribeToUIDraw(UIDraw);
     SubscribeToKeyboardHandler();
 }
示例#17
0
 public override void Draw(IDrawingEngine engine)
 {
     engine.Arc(this.Point, this.Parameters[0] * 2, this.Parameters[0] * 2, 0, 360, this.DrawingProperties);
 }
示例#18
0
 public GameEngine(IDrawingEngine engine, GameStatus status)
 {
     _drawingEngine = engine;
     _status        = status;
 }
示例#19
0
 public GameController(Container container, IDungeonGenerator generator, IDrawingEngine drawingEngine)
 {
     this.container     = container;
     this.generator     = generator;
     this.DrawingEngine = drawingEngine;
 }
示例#20
0
 //public abstract void Draw(Graphics g, Pen pen);
 public abstract void Draw(IDrawingEngine engine);