Автор: Пользователь скрыл имя, 02 Апреля 2012 в 11:14, лабораторная работа
4 лабораторные работы: программы на языке C#
Лабораторная работа №1. Разработка элементарных программ на языке программирования C#. Написать C# программу, реализующую вычисления согласно варианту задания. Исходные данные вводятся с клавиатуры (на форме приложения).
Лабораторная работа №2. Реализовать простое оконное приложение согласно варианту. Для создания приложения воспользуйтесь встроенными мастерами среды разработки, с помощью которого создайте каркас простейшего приложения, содержащего одну форму. На форме должно быть основное меню с возможностью открытия одного файла, который потом будет отображен на самой форме.
Лабораторная работа №3. Работа с графикой GDI. Спрайты. Реализовать приложение, в котором на фоне статичной картинки перемещаются анимированные спрайты, согласно варианту.
Лабораторная работа №4. Создание собственных компонентов. Изучить принципы разработки компонент. Реализовать компонент согласно варианту, и построить приложение использующее данный компонент.
Федеральное агентство по образованию
Государственное образовательное учреждение высшего
профессионального образования
«Хакасский государственный университет им. Н.Ф. Катанова»
Институт информатики и телематики
Кафедра Информационных технологий и систем
Отчет
по лабораторной работе № 3
Выполнил:
Студентка группы 3-48
Гольцова М.Л.
Проверил:
Клещ А.В.
Абакан, 2012 г.
Работа с графикой GDI. Спрайты. Реализовать приложение, в котором на фоне статичной картинки перемещаются анимированные спрайты, согласно варианту.
Собака и кошка.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace лаба_3
{
public partial class Form1 : Form
{
int PositionDog; // Позиция спрайта собаки по горизонтали
int ImageDog; // Номер текущего спрайта собаки
int PositionCat; // Позиция спрайта кошки по горизонтали
int ImageCat; // Номер текущего спрайта кошки
Image Fon; // Фон формы
Image[] Dog = new Image[5]; // Массив спрайтов собаки
Image[] Cat = new Image[8]; // Массив спрайтов кошки
Graphics Picture; // Отображаемое на форме изображение
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) // Запускается при загрузке формы
{
Picture = this.CreateGraphics(); // Получаем ссылку на отображаемое в форме изображение
Fon = Image.FromFile("fon.bmp"); // Загружаем фон из файла
PositionDog = 0; // Инициализируем горизонтальную позицию спрайта собаки
ImageDog = 4; // Инициализируем номер отображаемого спрайта собаки
for (int i = 0; i < 5; i++) // Загружаем массив спрайтов собаки
Dog[i] = Image.FromFile("dog" + Convert.ToString(i + 1) + ".bmp");
PositionCat = 600; // Инициализируем горизонтальную позицию спрайта кошки
ImageCat = 7; // Инициализируем номер отображаемого спрайта кошки
for (int i = 0; i < 8; i++) // Загружаем массив спрайтов кошки
Cat[i] = Image.FromFile("cat" + Convert.ToString(i + 1) + ".bmp");
}
private void timer1_Tick(object sender, EventArgs e) // Запускается при срабатывании таймера
{
if (ImageDog == 4) // Если спрайт собаки последний
{
if (PositionDog > 600) // Если позиция спрайта собаки > 600 (возле правой границы формы)
{
timer1.Enabled = false; // Выключаем таймер
}
else
{
ImageDog = 0; // Переключаем на первый спрайт
PositionDog = PositionDog + 30; // Увеличиваем позицию спрайта на 30
}
}
else
{
ImageDog++;
}
if (ImageCat == 7) // Если спрайт кошки последний
{
if (PositionCat < 20) // Если позиция спрайта кошки < 20 (возле правой границы формы)
{
timer1.Enabled = false; // Выключаем таймер
}
else
{
ImageCat = 0; // Переключаем на первый спрайт
PositionCat = PositionCat - 45; // Увеличиваем позицию спрайта на 20
}
}
else
{
ImageCat++;
}
Picture.DrawImageUnscaled(Fon, 0, 0); // Рисуем на форме фон
Picture.DrawImageUnscaled(Dog[
Picture.DrawImageUnscaled(Cat[
}
private void Form1_MouseClick(object sender, MouseEventArgs e) // Запускается при клике мышью на форме
{
if (!timer1.Enabled) // Если таймер не включен
{
PositionDog = 0; // Инициализируем позицию собаки
ImageDog = 4; // Инициализируем номер спрайта собаки
PositionCat = 600; // Инициализируем позицию кошки
ImageCat = 7; // Инициализируем номер спрайта кошки
timer1.Enabled = true; // Включаем таймер
}
}
private void Form1_Shown(object sender, EventArgs e) // Запускается при первом отображении формы
{
Picture.DrawImageUnscaled(Fon, 0, 0); // Рисуем на форме фон
Picture.DrawImageUnscaled(Dog[
Picture.DrawImageUnscaled(Cat[
}
}
}
3