Игровая система "Тетрис"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Введение

игровой система тетрис алгоритм

C# - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников - языков C++, Java, Delphi, Модула и Smalltalk - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены классические языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.

Название Си шарп (До диез) происходит от музыкальной нотации, где знак диез, прибавляемый к основному обозначению ноты, означает повышение соответствующего этой ноте звука на полутон.[4] Это аналогично названию языка C++, где ++ обозначает, что переменная должна быть увеличена на 1.

Вследствие технических ограничений на отображение (стандартные шрифты, браузеры и т. д.) и того обстоятельства, что знак диез ?? не представлен на стандартной клавиатуре, знак номера # был выбран для представления знака диез при записи имени языка программирования.[5] Это соглашение отражено в Спецификации Языка C# ECMA-334.[6] Тем не менее, на практике (например, при размещении рекламы и коробочном дизайне[7]), Майкрософт использует предназначенный музыкальный знак.

Названия языков программирования не принято переводить, поэтому зачастую язык называют по-английски Си шарп.

 

 

 

1. Постановка задачи

 

.1 Условие задачи

 

Разработать игровую систему тетрис. Реализация двух и более игр: стройка, гонки. Режимы сложности: сложный, средний, легкий. Интерфейс пользователя, игровая статистика. Использование контейнеров, итераторов, обработка исключений.

 

.2 Методы, которыми можно решить задачу

 

Для решения данной задачи можно: использовать для долговременного хранения данных текстовые или бинарные файлы, для временного хранения элементов в памяти можно использовать один из следующих контейнеров: List, Vector, LinkedList, двумерный массив.Также для отображения элементов можно было использовать несколько ToolBoxов отображения: Label, TextBox, ListBox, ComboBox, GroupBox, Panel, PictureBox,ListView.

 

.3 Выбранный метод решения задачи

 

Для работы с данными размещения фигур на игровом поле постоянно нужен индексированный доступ к элементам, поэтому был выбран двумерный массив, который предоставляет прямой и быстрый доступ к нужному элементу, что не могут обеспечить другие элементы хранения данных в оперативной памяти. Для хранения статистики игры был выбран текстовый файл, т.к. скрывать данные нет, также, если бы был выбран бинарный файл - не было бы возможности просмотреть статистику без запуска программы. Для отображения на экране фигур был выбран toolboxPictureBox, т.к. фигуры отображаются в постоянной динамике, нужна высокая производительность отображения, что другие ToolBoxы позволить не могут. Для отображения статистики на экране был выбран ListView,т.к. он наиболее подходит по структуре для отображения данных такого типа. Отображение текущей статистики было решено сделать в Labelах. Навигация в программе реализована через Buttonыи CheckBoxы. Управление фигурами реализовано через клавиши клавиатуры.

 

 

 

2. Структура входных и выходных данных

 

Файлы для хранения данных:

 

Таблица. Структура файлаrecords.dat для хранения статистики игры тетрис:

Имя игрокаОчкиУровеньКол-во линийСложностьNick Name2350 40325 721 342 3ы для графического отображения данных, и взаимодействия с пользователем:

Временный объект - объект типа MainWindow, служит для отображения всех компонет программы в одном окне.

listView1 - экземпляр класса ListView, предоставляет возможность отображать данные в виде таблицы.

groupBox* - ToolBox позволяющий группировать для отображения ToolBoxов в нем.

MessageBox - класс позволяющий вызывать диалог с предуприждением о некотором событии и реакции пользователя на него.

coords[4, 2] - двумерный массив типа intдля хранения, доступа и изменения коорд?/p>