Автор работы: Пользователь скрыл имя, 27 Марта 2013 в 20:28, курсовая работа
Ещё один способ графического отображения фигур и поля тетриса - использование готовых элементов языка программирования. Наиболее часто для этих целей используют таблицы. Изменяя цвет ячеек таблицы через определенные промежутки времени можно отобразить на экране движение фигур и заполненные области поля. Также возможно использование таких элементов, как кнопки, области для надписей (Label). Изменяя их цвет, также можно отобразить движение фигур и заполненные области. Но у такого способа есть огромный минус - объявление большого числа таких элементов.
1. Постановка задачи…………………………………………………………………………………..…4
2. Спецификация………………………………………….................………………………………...…6
2.1 Спецификация……………………………………………………………………………………6
3. Текст программы………………………………………………………………………………………8
Аннотация………………………………………………………………………………………………8
Оглавление…………………..…..……………………………………………………………………..9
3.1 Тест программы…………………………………………………………………………………..10
3.2 Результаты тестирования………………………………………………………………………...31
4. Описание программы…………………………………………………………………………………34
Аннотация…………..………………………………………………………………………………..34
Оглавление…………………………………………………………………………………………...35
4.1 Общие сведения………………………………………………………………………………….36
4.2 Функциональное значение………....……………………………………………………………36
4.3 Описание логической структуры……………………………………………………………….36
4.4 Спецификация…………………………………………………………………………………....36
4.6 Используемые технические средства…………………………………………………………..39
4.7 Вызов и загрузка…………………………………………………………………………………39
4.8 Входные данные и выходные данные.…………………………………………………………39
5. Описание применения ………………………………………………………………………………41
Аннотация……………………………………………………………………………………………41
Оглавление……………………………………………………………………………………………42
5.1 Назначение программы…………………………………………………………………………43
5.2 Условия применения……………………………………………………………………………43
5.3 Описание задачи………………………………………………………………………………...43
5.4 Входные и выходные данные…………………………………………………………………..43
5.5 Характеристики занимаемой памяти…………………………………………………………..43
Заключение…………………………………………………………………………………………….44
Список используемой литературы………………………………………………………………...…45
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное
автономное образовательное учреждение
высшего профессионального
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И СЕТЕЙ
КУРСОВАЯ РАБОТА
ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
доцент, канд. техн. наук |
Л.Н. Бариков | |||
должность, уч. степень, звание |
подпись, дата |
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА |
Игровое приложение «Тетрис» |
по дисциплине: ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. |
4141 |
М.Г.Олейник | |||
подпись, дата |
инициалы, фамилия |
Санкт-Петербург
2012
Оглавление
1. Постановка задачи………………………………………………………………
2. Спецификация…………………………………………..
2.1 Спецификация………………………………………………
3. Текст программы………………………………………
Аннотация………………………………………………………
Оглавление…………………..…..……………………
3.1 Тест программы………………………………………………………
3.2 Результаты тестирования…………………
4. Описание программы………………………………
Аннотация…………..………………………………………
Оглавление……………………………………………………
4.1 Общие сведения…………………………………………
4.2 Функциональное значение………....
4.3 Описание логической
структуры………………………………………………………
4.4 Спецификация………………………………………………
4.6 Используемые технические
средства…………………………………………………………
4.7 Вызов и загрузка……………………………………
4.8 Входные данные и выходные
данные.…………………………………………………………
5. Описание применения …………………………
Аннотация………………………………………………………
Оглавление……………………………………………………
5.1 Назначение программы…………………………
5.2 Условия применения………………………………
5.3 Описание задачи………………………………………
5.4 Входные и выходные данные……………
5.5 Характеристики занимаемой памяти…………………………………………………………..
Заключение……………………………………………………
Список используемой литературы……………………………………………………
В данном документе описывается программа "Тетрис". Данная работа предназначена для закрепления учебного материала, изученного по курсу “ПЯВУ”.
Программа осуществляет вывод на экран случайным образом падение различных фигур. Входными данными является управление падающими фигурами.
Назначение программы - развлечение играющих, совершенствование их координации и логического мышления. Программа может применяться в качестве игровой на разных типах персональных компьютеров.
История игры Тетрис начинается в июне 1985 года. Тетрис был изобретен Алексеем Пажитновым, а затем был интегрирован на ПК IBM Вадимом Герасимовым. После чего ига Тетрис начала распространяться по всей Москве, а затем уже и по всему миру. Сначала она была доставлена в Венгрию, где венгерские программисты интегрировали Тетрис для Apple II и Commodore 64.
Игра была замечена в мире, и несколько представителей крупных компаний, обращались к автору Тетриса, чтобы купить права на распространение игры. Алексей подписывает контракт с Mirrorsoft UK и Spectrum Holobyte, предоставляя им права на компьютерным версии Тетрис. После того, как первые копии Тетриса для домашних компьютеров были преданны, игра приобрела популярность среди населения и стала самой продаваемой компьютерной игрой в Англии и США в 1988 году.
Существует множество способов реализации данной программы. Их можно разделить по функциональности:
В математической части рассматриваются основные принципы и законы движений фигур. Это самая важная часть программы. От неё зависит правильная работоспособность программы. Для её реализации можно использовать различные алгоритмы. Например описать движение фигуры двумя линейными функциями. Одна будет отвечать за расположение фигуры по горизонтали, другая по вертикале. Меняя за определенные промежутки времени значения переменных этих функций, будет меняться положение фигуры на плоскости. Третья функция будет отвечать за очистку полностью заполненных горизонталей. Основными недостатками этого способа является объявление большого числа переменных, отвечающих за описание уже упавших фигур, и создание большого числа дополнительных функций, отвечающих за поворот фигур вокруг своей оси.
Другой способ математического описания движения фигур и заполнения поля тетриса - создание двумерной матрицы n*k. Через определенный промежуток времени будет изменяться значения, соответствующие положению фигур на плоскости и уже упавшим фигурам. Т.е. значение матрицы расположенное на n-ой строке и в k-ом столбце, будет соответствовать части фигуры расположенной на n-ой горизонтали и k-ой вертикали.
Приведенные выше способы не являются единственными. Они лишь наиболее популярны в реализации программы "Тетрис" среди программистов.
Для графического отображения фигур и поля тетриса также существует большое количество различных способов. Например, двигать на плоскости уже готовые рисунки фигур "Тетриса". Тогда рисунки фигур будут храниться отдельными графическими файлами в памяти компьютера. Сложность данного способа реализации заключается в отображении уже упавших фигур и отображение повернутой фигуры вокруг своей оси. Для этого придется постоянно создавать новый рисунок поля из рисунков, хранимых в памяти компьютера.
Ещё один способ графического отображения фигур и поля тетриса - использование готовых элементов языка программирования. Наиболее часто для этих целей используют таблицы. Изменяя цвет ячеек таблицы через определенные промежутки времени можно отобразить на экране движение фигур и заполненные области поля. Также возможно использование таких элементов, как кнопки, области для надписей (Label). Изменяя их цвет, также можно отобразить движение фигур и заполненные области. Но у такого способа есть огромный минус - объявление большого числа таких элементов.
Так же возможно использование встроенных графических возможностей языка программирования. При рисовании фигур тетриса можно использовать простое изображение квадрата. Для его изображения необходимо знать лишь координаты верхнего левого угла, а также значение ширины квадрата.
При разработки программы для игры Тетрис был использовал объектно-ориентированный язык программирования Visual C#. Математическая часть программы была создана с помощью двумерной матрицы. Графическое отображение было реализовано с помощью графических возможностей языка Visual C#.
Используя технологию структурного программирования, разработать программу «Тетрис».
Программа должна осуществлять вывод на экран случайным образом последовательное падение шести различных фигур. Входными данными являются ввод сдвига фигур по горизонтали вправо и влево, а также поворот фигур вокруг своей оси по часовой стрелки. Должно происходить удаление заполненных строк.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное
автономное образовательное учреждение
высшего профессионального
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО
КАФЕДРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И СЕТЕЙ
ПРОГРАММА |
Игровое приложение «Тетрис» |
Спецификация |
44.4141.12-01 |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. |
4141 |
М.Г.Олейник | |||
подпись, дата |
инициалы, фамилия |
Санкт-Петербург
2012
Обозначение |
Наименование |
Примечание |
44.4141.12-01 |
Документация |
|
Программа "Игровое приложение | ||
«Тетрис» | ||
Спецификация | ||
44.4141.12-12 |
Документация |
|
Программа "Игровое приложение | ||
«Тетрис» | ||
Текст программы | ||
44.4141.12-13 |
Документация |
|
Программа "Игровое приложение | ||
«Тетрис»" | ||
Описание программы | ||
44.4141.12-31 |
Документация |
|
Программа "Игровое приложение | ||
«Тетрис» | ||
Описание примечания |
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО
КАФЕДРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И СЕТЕЙ
ПРОГРАММА |
Игровое приложение «Тетрис» |
Текст программы |
44.4141.12-12 |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. |
4141 |
М.Г.Олейник | |||
подпись, дата |
инициалы, фамилия |
Санкт-Петербург
2012
Аннотация
В документе приводится текст программы игрового приложения «Тетрис», написанного на языке С#, а так же результаты отладки и тестирования.
Оглавление
3.1 Текст программы
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 _7Tetris
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//byte DX = 10, DY = 20;
Brush[] COLR = { Brushes.Aqua, Brushes.Orange, Brushes.Blue, Brushes.Red, Brushes.Green, Brushes.Azure, Brushes.Violet, Brushes.Tomato, Brushes.SteelBlue, Brushes.PapayaWhip };
Bitmap[] Cirpich;
Graphics c;
Bitmap POLE = new Bitmap(212, 422);
Figura fig; Figura[] mfig = new Figura[7];
byte[,] Area = new byte[10, 21];
Random rnd = new Random();