Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / №3 ЯП Бунина А.В

.docx
Скачиваний:
2
Добавлен:
10.12.2022
Размер:
49.17 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное образовательное учреждение высшего

образования

«Юго-Западный государственный университет»

Кафедра программной инженерии

Лабораторная работа №3

По дисциплине «Языки программирования»

Выполнил: студент группы ИБ-01б

Бунина А.В.

Проверила: доцент

Белова Т.М.

Курск, 2021

1.1 Написать программу, выводящую на экран изображение плывущего корабля. Фоном могут быть море, берег, деревья.

Начало

Graphics g = pictureBox1.CreateGraphics();

int i = 0; bmp;

I++; Рисуем корабль, море, небо, облака, лучи солнца, к координате лодки прибавляем i;

bmp

System.Threading.

Thread.Sleep(50)

Конец

1.2 Текст программы

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void pictureBox1_Click(object sender, EventArgs e)

{

Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

Graphics g = Graphics.FromImage(bmp);

pictureBox1.Image = bmp;

}

int i = 0;

private void timer1_Tick(object sender, EventArgs e)

{

i++;

Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

Graphics g = Graphics.FromImage(bmp);

SolidBrush Sea = new SolidBrush(Color.CornflowerBlue);

SolidBrush Sky = new SolidBrush(Color.Indigo);

SolidBrush Parus = new SolidBrush(Color.Lavender);

SolidBrush koradl = new SolidBrush(Color.Maroon);

SolidBrush Сloud = new SolidBrush(Color.White);

Pen parus = new Pen(Color.Lavender, 5);

Pen Cloud = new Pen(Color.White, 3);

Pen machta = new Pen(Color.SaddleBrown, 5);

g.FillRectangle(Sea, 0, 0, 890, 470);

g.FillRectangle(Sky, 0, 0, 890, 230);

g.DrawEllipse(Cloud, 300, 30, 250, 50);

g.DrawEllipse(Cloud, 500, 50, 140, 30);

g.DrawEllipse(Cloud, 50, 10, 70, 20);

g.DrawEllipse(Cloud, 50, 70, 150, 70);

g.FillEllipse(Сloud, 300, 30, 250, 50);

g.FillEllipse(Сloud, 500, 50, 140, 30);

g.FillEllipse(Сloud, 50, 10, 70, 20);

g.FillEllipse(Сloud, 50, 70, 150, 70);

g.DrawLine(machta, 240 + i, 350, 240 + i, 180);

g.DrawArc(parus, 190 + i, 200, 100, 150, 90, -180);

g.FillPie(Parus, 190 + i, 200, 100, 150, 90, -180);

g.DrawLine(machta, 180 + i, 350, 180 + i, 180);

g.DrawArc(parus, 130 + i, 200, 100, 150, 90, -180);

g.FillPie(Parus, 130 + i, 200, 100, 150, 90, -180);

g.DrawLine(machta, 120 + i, 350, 120 + i, 180);

g.DrawArc(parus, 70 + i, 200, 100, 150, 90, -180);

g.FillPie(Parus, 70 + i, 200, 100, 150, 90, -180);

Point p1 = new Point(50 + i, 310);

Point p2 = new Point(100 + i, 360);

Point p3 = new Point(300 + i, 360);

Point p4 = new Point(350 + i, 310);

Point[] pp = { p1, p2, p3, p4 };

g.FillPolygon(koradl, pp);

pictureBox1.Image = bmp;

System.Threading.Thread.Sleep(50);

}

private void button1_Click(object sender, EventArgs e)

{

timer1.Enabled = !timer1.Enabled;

}

private void button2_Click(object sender, EventArgs e)

{

timer1.Stop();

}

}

1.3 Результат работы программы

Соседние файлы в папке 2 семестр