Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика 1.2 ИШИТР(Попов) / Отчет №11(Анимация)

.docx
Скачиваний:
20
Добавлен:
18.04.2022
Размер:
110.71 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

высшего профессионального образования

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Институт кибернетики

Кафедра информатики и проектирования систем

Направление «Информационные системы и технологии»

Отчет по лабораторной работе №11 по дисциплине

«ИНФОРМАТИКА»

Анимация

Выполнил:

Студент группы 8И61 _________________

Е.В. Якоби

Проверил:

Доцент кафедры ИПС _________________

Ф.В. Саврасов

Томск 2016

Задание

12. Разработайте программу анимации взлета ракеты. Старт

осуществляется по нажатию специальной «красной» кнопки.

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

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

//Объявление переменных, кистей и массивов

int x, y, y1;

int i = 0, j = 0;

SolidBrush B = new SolidBrush(Color.Blue);

SolidBrush R = new SolidBrush(Color.DarkRed);

SolidBrush U = new SolidBrush(Color.OrangeRed);

Point[] T = new Point[4];

Point[] L = new Point[7];

//Присвоим значения переменным при загрузке формы

private void Form1_Load(object sender, EventArgs e)

{

y = 220;

x = 160;

y1 = 256;

}

//Обозначим нажатие кнопки

private void button1_Click(object sender, EventArgs e)

{

i = 1;

}

private void Form1_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

//Если нажата кнопка, появляется пламя

if(i==1)

{

L[0] = new Point(x + 15, y1);

L[1] = new Point(x + 10, y1+20);

L[2] = new Point(x + 15, y1+15);

L[3] = new Point(x + 20, y1+30);

L[4] = new Point(x + 25, y1+15);

L[5] = new Point(x + 30, y1+20);

L[6] = new Point(x + 25, y1);

g.FillPolygon(U, L);

}

//Отрисовка ракеты

T[0] = new Point(x + 20, y);

T[1] = new Point(x, y + 50);

T[2] = new Point(x + 20, y + 40);

T[3] = new Point(x + 40, y + 50);

g.FillPolygon(R, T);

g.FillEllipse(B, x + 16, y + 15, 8, 8);

g.FillEllipse(B, x + 16, y + 25, 8, 8);

}

private void timer1_Tick(object sender, EventArgs e)

{

//Если нажата кнопка, ракета взлетает

if (i == 1)

{

if (j % 2 != 0)

{

y1 += 3;

}

else

y1 -= 3;

j++;

y1 -=3;

y -= 3;

Invalidate();

}

}

}

}

Результаты работы

Начальный вид программы:

При нажатии кнопки ракета начинает двигаться вверх.

Выводы

Изучила возможности Visual Studio по созданию простейшей анимации. Написала и отладила программу, выводящую на экран анимационное изображение.