コード例 #1
0
ファイル: GameArea.cs プロジェクト: andre197/SnakeGame
        public void Draw(IWriterService writerService)
        {
            writerService.Clear();
            var border = new string('#', BottomRightCoordinates.X - UpperLeftCoordinates.X);

            writerService.SetWritePosition(UpperLeftCoordinates.Y, UpperLeftCoordinates.X);
            writerService.WriteLine(border);
            for (int i = UpperLeftCoordinates.Y + 1; i < BottomRightCoordinates.Y - 1; i++)
            {
                writerService.SetWritePosition(i, UpperLeftCoordinates.X);
                writerService.Write("#");
                writerService.SetWritePosition(i, BottomRightCoordinates.X - 1);
                writerService.WriteLine("#");
            }

            writerService.WriteLine(border);
        }
コード例 #2
0
        public void Draw(IWriterService writerService)
        {
            if (_lastRemovedPoint.HasValue)
            {
                writerService.SetWritePosition(_lastRemovedPoint.Value.Y, _lastRemovedPoint.Value.X);
                writerService.WriteLine(" ");
            }

            if (_isFirstDraw)
            {
                foreach (var p in _activePoints)
                {
                    writerService.SetWritePosition(p.Y, p.X);
                    writerService.Write("S");
                }

                _isFirstDraw = false;
            }

            writerService.SetWritePosition(HeadCoordinates.Y, HeadCoordinates.X);
            writerService.Write("S");
            writerService.SetWritePosition(32, 0);
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: andre197/SnakeGame
 private void WriteScore()
 {
     _writerService.SetWritePosition(33, 0);
     _writerService.WriteLine($"score: {_score:D5}");
 }