Пятница, 22.11.2024, 21:22
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
База языка C# [3]
В данном разделе будут статьи по базовым понятиям языка C#
Основы языка С# [22]
Раздел продолжает рассматривать основы языка C#
Задачи [2]
примеры решения задач
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск
Главная » Статьи » C# » База языка C#

Учимся рисовать на C#

Хотя обще принято первой программой писать Hello World. Мы отойдем от этого правила и начнем с рисования простейших фигур. Так как наш шаблон имеет подключение библиотеки SmallBasicLibrary.dll, это позволит нам рисовать не углубляясь, пока, в дебри языка.

В библиотеке содержится свой хитрый курсор - черепашка (Turtle). Она впервые появилась, как обучающий персонаж в языке программирования Prolog. Она будет рисовать простейшие фигуры.

Запускаем наш шаблон и начинаем урок.

Рисуем линию

Для того чтобы нарисовать линию нужно воспользоваться функцией Move, вот ее описание:

public static void Move(Primitive distance);

Как видно в функцию нужно подать число, которое должна пройти черепашка рисуя за собой линию.

Куда же нужно добавить эту функцию чтобы все работала? Давайте вспомним наш код шаблона:

using Microsoft.SmallBasic.Library;

namespace ConsoleTemplate

{

    class Program

    {

        static void Main(string[] args)

        {

        }

    }

}

Функция Main является местом запуска приложения, вот в нее мы и будем добавлять создаваемый нами код.

Нарисуем линию в 100 единиц. Для этого, в функции Move нужно указать нужное число - 100. Вот как это будет выглядеть:

static void Main(string[] args)

{

    Turtle.Move(100);

}

Давайте запустим нашу программу. Для этого нажмем кнопку Start в интерфейсе или клавишу F5.

После сборки программы, мы свами увидим, как черепашка рисует линию. Результат работы программы:

Давайте попробуем нарисовать что-то посложнее.

Рисуем квадрат

Квадрат состоит из четырех линий равной длины, расположенные под углом в 90º, относительно предыдущей. Как нам повернуть черепашку на 90º? Для этого есть другая функция - Turn:

public static void Turn(Primitive angle);

В градусах указывается переменная angle. Отчет идет по часовой стрелки. Чтобы повернуться направо нужно указать угол 90º, а налево - -90º.

Давайте допишем предыдущую программы, чтобы она рисовала нам квадрат.

static void Main(string[] args)

{

    Turtle.Move(100);

    Turtle.Turn(90);

    Turtle.Move(100);

    Turtle.Turn(90);

    Turtle.Move(100);

    Turtle.Turn(90);

    Turtle.Move(100);

}

Результат работы программы показан на рисунке.

 

Помимо функции Turn существуют еще функции поворота налево (TurnLeft) и направо (TurnRight). Они поворачивают черепашку ровна на 90º.

public static void TurnLeft();

public static void TurnRight();

Теперь мы можем рисовать любые многоугольники: треугольник, прямоугольник, шестигранник и т.п.

Рисуем дом

Давайте нарисуем дом, как показан на рисунке.

Как видно, дом состоит из трех частей: 2 квадрата и треугольник. Но как перемещать черепашку не рисуя? Для этого есть функции PenUp и PenDown. Это похоже на то, как если оторвать карандаш от бумаги и переместить его на другое место и опустить для продолжения рисования.

public static void PenUp();

public static void PenDown();

 Я нарисовал так:

static void Main(string[] args)

{

    Turtle.Turn(180);

    Turtle.Move(100);

    Turtle.TurnLeft();

    Turtle.Move(100);

    Turtle.TurnLeft();

    Turtle.Move(100);

    Turtle.TurnLeft();

    Turtle.Move(100);

    Turtle.PenUp();

    Turtle.Move(50);

    Turtle.PenDown();

    Turtle.TurnRight();

    Turtle.Move(50);

    Turtle.TurnRight();

    Turtle.Move(200);

    Turtle.TurnRight();

    Turtle.Move(200);

    Turtle.TurnRight();

    Turtle.Move(200);

    Turtle.TurnRight();

    Turtle.Move(150);

    Turtle.PenUp();

    Turtle.Move(50);

    Turtle.PenDown();

    Turtle.Turn(45);

    Turtle.Move(140);

    Turtle.TurnRight();

    Turtle.Move(140);

}

Мой результат выглядит так:

Если рисунки будут довольно большими, то время рисования может занимать много времени. Для изменения скорости движения черепашки существует переменная Speed. Диапазон изменения от 1 до 10, по умолчанию 5.

Вот так выглядит финальный код программы рисования дома:

using Microsoft.SmallBasic.Library;

namespace ConsoleTemplate

{

    class Program

    {

        static void Main(string[] args)

        {

            Turtle.Speed = 7;

            Turtle.Turn(180);

            Turtle.Move(100);

            Turtle.TurnLeft();

            Turtle.Move(100);

            Turtle.TurnLeft();

            Turtle.Move(100);

            Turtle.TurnLeft();

            Turtle.Move(100);

            Turtle.PenUp();

            Turtle.Move(50);

            Turtle.PenDown();

            Turtle.TurnRight();

            Turtle.Move(50);

            Turtle.TurnRight();

            Turtle.Move(200);

            Turtle.TurnRight();

            Turtle.Move(200);

            Turtle.TurnRight();

            Turtle.Move(200);

            Turtle.TurnRight();

            Turtle.Move(150);

            Turtle.PenUp();

            Turtle.Move(50);

            Turtle.PenDown();

            Turtle.Turn(45);

            Turtle.Move(140);

            Turtle.TurnRight();

            Turtle.Move(140);

        }

    }

}

 

Категория: База языка C# | Добавил: solowey (27.12.2015)
Просмотров: 5933 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
avatar
0
1 glebnyrk • 19:40, 04.12.2021
там всякие методы и циклы мы ещё не проходили, да?
avatar
Вход на сайт