Разработка графического приложения на основе спрайтовой анимации
Автор: Andrew4ik • Ноябрь 19, 2021 • Лабораторная работа • 4,074 Слов (17 Страниц) • 338 Просмотры
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Ижевский государственный технический университет имени М.Т.Калашникова»
Кафедра «Вычислительная техника»
Отчет
По лабораторной работе №2
по дисциплине
ПРОГРАММИРОВАНИЕ
на тему: Разработка графического приложения на основе спрайтовой анимации.
Выполнил студент гр. Б03-781-1ЗТ
Принял к.т.н., доцент кафедры ВТ
Ижевск 2020
Цель
Цель: разработать графическое приложение на основе спрайтовой анимации.
Задание
Разработать приложение используя спрайтовую анимацию.
Алгоритм программы и блок схема.
Создадим графическое приложение на языке C#. Создадим игровое поле, после чего присвоим каждой ячейке свою картинку. При нажатии на ячейку спрайт должен измениться в соответствии с алгоритмом программы.
Текст программы
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Miner.Controllers
{
public static class MapController
{
public const int mapSize = 8;
public const int cellSize = 50;
private static int currentPictureToSet = 0;
public static int[,] map = new int[mapSize, mapSize];
public static Button[,] buttons = new Button[mapSize, mapSize];
public static Image spriteSet;
private static bool isFirstStep;
private static Point firstCoord;
public static Form form;
private static void ConfigureMapSize(Form current)
{
current.Width = mapSize * cellSize + 20;
current.Height = (mapSize + 1) * cellSize;
}
private static void InitMap()
{
for (int i = 0; i < mapSize; i++)
{
for (int j = 0; j < mapSize; j++)
{
map[i, j] = 0;
}
}
}
public static void Init(Form current)
{
form = current;
currentPictureToSet = 0;
isFirstStep = true;
spriteSet = new Bitmap(Path.Combine(new DirectoryInfo(Directory.GetCurrentDirectory()).Parent.Parent.FullName.ToString(), "Sprites\\tiles.png"));
ConfigureMapSize(current);
InitMap();
InitButtons(current);
}
private static void InitButtons(Form current)
{
for (int i = 0; i < mapSize; i++)
{
for (int j = 0; j < mapSize; j++)
{
Button button = new Button();
button.Location = new Point(j * cellSize, i * cellSize);
button.Size = new Size(cellSize, cellSize);
button.Image = FindNeededImage(0, 0);
button.MouseUp += new MouseEventHandler(OnButtonPressedMouse);
current.Controls.Add(button);
buttons[i, j] = button;
}
}
}
...