Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код |
294635 |
Дата создания |
13 мая 2014 |
Страниц |
33
|
Мы сможем обработать ваш заказ (!) 23 декабря в 12:00 [мск] Файлы будут доступны для скачивания только после обработки заказа.
|
Описание
В результате выполнения курсового проекта была написана логическая программа, имитатора игры. ...
Содержание
СОДЕРЖАНИЕ
Введение 3
1. Постановка задачи 5
1.1. Анализ существующих решений поставленной задачи 5
1.2. Обоснование выбора метода решения задачи 6
2. Разработка алгоритма решения задачи 8
3. Разработка программы 9
3.1 Описание программы и используемых в ней функций 12
3.1.1 Описание функции main() 12
3.1.2 Описание функции setka() 14
3.1.3 Описание функций square_cursor() 17
3.1.4 Описание функции statist() 18
3.2 Руководство программиста 19
3.3 Руководство оператора 21
Заключение 22
Список использованной литературы 23
Приложение 1 24
Приложение 2 30
Приложение 3………………………………………………………………….33
Введение
Си – это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества Си обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование Си в качестве инструментального языка позволяет получать достаточно быстрые и компактные программы. Во многих случаях программы, написанные на Си, сравнимы по скорости с программами, написанными на языке ассемблера[2]. При этом они имеют лучшую наглядность.
Си сочетает эффективность и мощность в относительно малом по размеру языке. Хотя Си не содержит встроенных компонент языка, выполняющих ввод-вывод, распределение памяти, манипуляций с экраном или управление процессами, тем не менее, системное окружение Си располагает библиотекой объектн ых модулей[3], в которой реализованы подобные функции. Библиотека[4] поддерживает многие из функций, которые требуются.[1]
Фрагмент работы для ознакомления
В функции setka() при помощи библиотечной функции setlinestyle() щпределятся тип линии для построения сетки игрового поля. С помощю linestyle можно вибрать тип линий для последующего рисования из уже определенных в graphics.h, которым присвоены следующие имена:
SOLD_LINE(значение 0-сплошная линия);
DOTTED_LINE(значение 1 линия из точек) ;
CENTRER_LINE(значение 2 - центровая линия);
DASHED_LINE(значение 3 – пунктирная линия) ;
USERBIT_LINE(значение 4 – тип линии определенный пользователем).
Ширина линий, определенная thickness, может быть нормальной и толстой:
NORM_WIDTH(значение 1 – ширина в одну точку);
THICK_WIDTH(значение 3 – ширина в три точки).
UPATTERN является 16-битным шаблоном только тогда, когда linestyle принимает значение USERBIT_LINE . В этом случае когда бит в слове шаблона равен 1, рисуется точка в линии с заданным цветом. Если параметр linestyle в функции setlinestyle() не равен USERBIT_LINE, то параметр upattern будет игнорирован.
С помощю функции line() – прорисовываются линии указанного типа.
Указанные в скобках цифры именуют точьки начала и конца координат, через которые проходят линии,расположенные на экране, которые строят поле игры.
В функции setka() при помощи библиотечной функции setcolor() устанавливается определенный цвет рисуемых линий.
setcolor() – устанавливает в color текущее значение цвета вычерчивания, которое может изменятся от 0 до getmaxcolor. Текущий цвет вычерчивания представляет собой значение,которое устанавливается для каждого элемента изображения при вычерчивании линий и других фигур.
Цвета вычерчивания, допустимые для контролеров CGA и EGA:
0-CGA_LIGHTGREEN (1) CGA_LIGHTRED (2) CGA_YELLOW(3)
1- CGA_LIGHTCYAN (1) CGA_LIGHTMAGENTA(2) CGA_WHITE(3)
2- CGA_GREEN(1) CGA_RED(2) CGA_BROWN(3)
3- CGA_CYAN(1) CGA_MAGENTA(2) CGA_LIGHTGREY(3)
settextstyle – устанавливает текущие текстовые характеристики для графических функций. Settextstyle устанавливает шрифт, направление вывода текста и размер знаков. Settextstyle предназначена для вывода текста с помощю outtextxy outtext. Параметры font, direction и chzsize, входящие в Settextstyle описаны ниже: font(шрифт): имеется один шрифт в матрице 8х8 и несколько «штриховых». Шрифт в матрице 8х8 является шрифтом по умолчанию. В перечислении дла font-names, определенного в graphics.h установленным названием для различных шрифтов. По умолчанию матричный шрифт строится в графической системе. Штриховые шрифты хранятся в дисковых файлах*.CHR и только один из них может находится в данное время в памяти. Потому, корда вы выбирается штриховой шрифт, файл содержащий его х. CHR должен быть загружен с диска. Избежать этойт загрузки при использовании нескольких штриховых шрифтов можно скомпоновать штриховой файл в вашу программу. Размер каждого знака может быть увеличен при использовании параметра charsize. Если charsize принимает ненулевое значение, то это может быть применено для матричных знаков. Значение 0 для charsize может быть применено применено для штриховых шрифтов.
3.1.3 ОПИСАНИЕ ФУНКЦИИ square_cursor()
Для того чтобы установить курсор нужны определенные функции, такие как: setcolor(), drawpoly(), setlinestyle(), circle(), line().
Для того чтобы использовать определенный цвет нужно использовать функцию setcolor() – устанавливает в color текущее значение цвета вычерчивания, которое может изменятся от 0 до getmaxcolor. Текущий цвет вычерчивания представляет собой значение,которое устанавливается для каждого элемента изображения при вычерчивании линий и других фигур.
Для того чтобы начертить многоугольник с numpoints вершинами, используя для этого текущий цвет и стиль линий необходимо использовать функцию - drawpoly(). Polipoints указывает на последовательность (длиной numpoints*2) целых чисел. Каждая пара из этих чисел задает координаты х и у
Вершин многоугольника. Для того, чтобы начертить замкнутую фигуру с n сторонами, нужно передать в drawpoly() n+1 пару координат, где n-я пара координат совпадает с нулевой.
setlinestyle() – устанавливает тип всех линий, рисуемых функциями line, lineto, drawpoly.
В программе возникает потребность начертить окружность при установлении знака игрока, имеющего характерный знак-0. Для этой цели используется функция circle(), которая и чертит круг с центром в (х,у) и радиусом, заданным в radius. При вычерчивании дуги, окружности эллипса и сектора, для определения типа линии используется праметр thicknes, а не linestule.
Нарисованый спомощю єтих функцый курсор в виде правильного
прямоугольника может перемещаться в выбранную ячейку любым путем, не зависимо от его первоначального места нахождения.
3.1.4 ОПИСАНИЕ ФУНКЦИИ statist()
Простейшей функцией программы является функцыя statist(), так как она содержит самое меньшее количество стандартных библиотечных функций.
Для функционирования данной функции используютсятакие прграммы как: malloc(), outtextxy() и itoa().
Для того чтобы на экране высвечивалось определенно количество выиграшных циклов каждого игрока нужно преобразовывать тип char в тип int
необходимо использовать стандартную библиотечную функцию из библиотеки math.h - itoa() – преобразовывает переменные типа char в пременные типa int.
Для того чтобы игра имела более насыщенный интерфейс, она должна иметь некоторок число текстовых сообщений и для того чтобы вывести текст на экран нужно использовать стандартную библиотечную функцию из библиотеки graphics.h, имеющую название outtextxy()
outtextxy() –выводит строку симврлов в окно экрана, начиная с указанной позиции (х,у) и используя прои этом текущие значения параметров выравнивания, шрифта, направления и размера.
3.2 РУКОВОДСТВО ПРОГРАММИСТА
1. Назначение и условие применения программы.
Назначение программы - развлечение играющих, совершенствование их координации и логического мышления. Программа может применяться в качестве игровой на разных типах персональных компьютеров и распространяется бесплатно.
2. Характристики программы.
Программа запускается под управлением операционной системы MS-DOS версии 6,0 и выше из каталога, в котором содержится драйвер видеоадаптера egavga.bgi и файл со шрифтом litt.chr. Для её работы требуется от 32 килобайтов свободной оперативной памяти, видеоадаптер EGA/VGA и процессор 8086/8088 и выше.
3. Обращение к программе.
Обращение к программе осуществляется запуском файла Х0\EZE
4. Входные и выходные данные.
Входные данные - коды нажатых в режиме реального времени клавиш. Выходные данные - графическая информация на дисплее истатистике.
5 Структура программы.
Исходный текст программы хранится в 2- файлах: Х/0срp, Еgvg.bji.
Х/0срp-------------- функция main и 2 функции класса tetris - PutArea и
Randomize - перекрывшие виртуальные функции класс
Glass.
Еgvg.bji------------- определения констант, описание используемых структур
данных, интерфейс классов Tetris и Glass.
6 Настройка программы.
Программа готова к работе, настройки не требует.
7 Проверка программы.
Проверка работоспособности программы осуществляется в следующих случаях:
- независание фигуры;
- четкий контраст;
- невыход фигуры за границы;
- сдвиг фигуры и поворот её на расстоянии от стенок;
- неналожение фигуры;
-не уничьтожение клеток, содержащих пустых ячеек;
- окончание игры при заполнении полного столбца или диагонали при указаной команде пользователя.
3.3 РУКОВОДСТВО ОПЕРАТОРА
Данная программа предусмотрена для игры двух пользователей, попеременно занимая место на клавиатуре (можно использовать другую раскладку), используя клавишу Enter для постановки собственного знака в данной ячейке. Играя в игру несколько раз , так-как цикл происходит очень быстро, ведется статистика, в результате каждый игрок может видеть свои результаты независимо от состояния игры. Интерфейс имитатора имеет оригинальное оформление, содержащее несколько различных , цветов в которые окрашена решетка, статистика, выбранные знаки, имя владельца авторских прав на игру ну и конечно строгий черний фон. Введя в данную программу некоторые изменения ее можно преобразовать в сетевую игру для привлечения пользователей на растоянии. При окончании очередного цикла, пользователь может продолжить игру, нажатием клавиши «у» (или-«Enter»), или же выйти из, игры нажав клавишу «n», при этом цикл программы прекращается и программа заканчивает свое существование. Внеся в программу некоторые изменения она может сохранять результаты игры для двух данных пользователей ипри введении данного кода возобновить сохраненную статистику – это может способствать увеличению интереса и привлечении азартных играков.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсового проекта была написана логгическая программа, имитатора игри. Программа обладает высоким параметром быстродействия, маленьким размером и не требовательна к системным ресурсам компьютера. В качестве преимуществ программы можно отнести то, что данная игра не требует большого размера памяти и может быть установлена на компьютеры не имеющих оболочьки windovs, что характерно даже для самых простых ПК. Программа может быть использована в целях обучения пользователей работы с простейшими функциями клавиатуры.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Шолмов Л.И. Руководство по турбо Си. М.: Наука, 1994. – 94-98с.
2. Уинер Р. Язык Турбо Си : Пер. с англ. -М.:: Мир, 1991. – 384 с.
3. Керниган Б.В, Ричи Д.М. Си для профессионалов. М.: Энергия, 1996.– 213 с.
4. Грейд Дж. Математическое программирование. М.: Наука, 1987. – 241 с.
Приложение 1
ЛИСТИНГ ПРОГРАММЫ
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
#include<stdlib.h>
#include<alloc.h>
int stat_1pl=0,stat_2pl=0;
void main()
{
//int stat_1pl=0,stat_2pl=0;
char spros;
void setka();
int square_cursor();
void statist();
while(spros!='n'&&spros!=27)
{
clrscr();
/* request auto detection */
Список литературы
1. Шолмов Л.И. Руководство по турбо Си. М.: Наука, 1994. – 94-98с.
2. Уинер Р. Язык Турбо Си : Пер. с англ. -М.:: Мир, 1991. – 384 с.
3. Керниган Б.В, Ричи Д.М. Си для профессионалов. М.: Энергия, 1996.– 213 с.
4. Грейд Дж. Математическое программирование. М.: Наука, 1987. – 241 с.
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00497