Реферат по предмету "Информатика, программирование"


Пасьянс "Три пика"

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра систем информатики

КУРСОВОЙ ПРОЕКТ
по дисциплине «Программирование»
Тема: пасьянс «Три пика»
Выполнил: студент гр. №633
Киреев Д. А.
 
Оценка_______ Дата защиты _______________Руководитель: Алтаев А.А.
______________________
Нормоконтролер: Тулохонова И.С.
_________________
г. Улан-Удэ
2002 г.

ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙУНИВЕРСИТЕТ
__________________________________________________________ЭЛЕКТРОТЕХНИЧЕСКИЙФАКУЛЬТЕТ
Кафедра систем информатики
ЗАДАНИЕ
на курсовой проект
Дисциплина:Программирование_________________________________________________
 
Тема: пасьянс «Трипика»__________________________________________
Исполнитель(и):_Киреев_Д._А._гр.633-1_________________________
 
Руководитель: Алтаев А. А.______________________________________
Краткое содержание проекта:___________________________________
1. Теоретическая_часть:________________________________________________
 
2. Практическая_часть:________________________________________________
Сроки выполнения работы по графику:
Патентный поиск — __% к __ неделе.
Обзор литературы — __% к __неделе.
Разработка постановки задачи и модели — __% к __неделе.
Оформление отчета — __% к неделе.
Защита проекта — ____ недели.
Требование к оформлению:
Отчет должен представлен в электронной и твердой копиях.
Объем отчета должен быть не менее 20 машинописных страниц без учетаприложений.
Отчет должен быть оформлен по ГОСТу 7.32-81 и подписан у нормоконтролера.
Руководитель работы: Алтаев А.А.
Исполнитель:  Киреев Д.А

Содержание
 
Введение
1. Постановказадачи
1.1 Фазы созданиявидеоигр
1.2 Процедурыи функции
1.2.1 Чтотакое подпрограмма
1.2.2Описание процедур
1.2.3Описание функций
1.3 Модули
1.3.1Описание модулей
1.3.1 Модуль CRT
1.3.2 Модуль DOS
1.3.3 Модуль GRAPH
2. Решениезадачи
2.1Структурная схема программы
2.2 Условиезадачи
Заключение
Списоклитературы
Приложение

Введение.
 
Научно-технический прогресс, набравший к концу ХХ в. головокружительнуюскорость, послужил причиной появления такого чуда современности как компьютер икомпьютерные технологии. Изобретение компьютеров послужило переломным моментомв развитии многих отраслей промышленности, на порядок повысило мощь иэффективность военной техники, внесло множество прогрессивных изменений вработу средств массовой информации, систем связи, качественно изменило принципработы банков и административных учреждений.
Сегодняшние темпыкомпьютеризации превышают темпы развития всех других отраслей. Без компьютерови компьютерных сетей не обходится сегодня ни одна средняя фирма, не говоря окрупных компаниях. Современный человек начинает взаимодействовать с компьютеромпостоянно — на работе, дома, в машине и даже в самолете. Компьютерыстремительно внедряются в человеческую жизнь, занимая свое место в нашемсознании, а мы зачастую не осознаем того, что начинаем во многом зависеть отработоспособности этих дорогостоящих кусков цветного металла.
Уже сегоднякомпьютеры отвечают за наведение и запуск ядерных ракет, за банковские переводымногомиллионных сумм денег и многие другие системы, ошибки в работе которыхдорого обходятся людям. К сожалению даже этим не ограничивается зависимостьчеловека от компьютера.
Компьютерныеигры. С недавних пор это словосочетание прочно вошло в нашу жизнь, каждый, ктоимеет компьютер наверняка смог почувствовать их притягательность, видимо, игразаложена в саму природу человека с древнейших времен — выследить зверя,заманить его в ловушку — это тоже своего рода игра. Но теперь мы лишены этого вжизни, а инстинкты остались и они находят свой выход в компьютерных играх. Выне задумывались, почему процент мужчин среди играющих в компьютерные игры, аособенно в 3D-action в десятки раз больше чем женщин? На мой взгляд, именноиз-за того, что мужчина всегда был охотником-добытчиком-воином и нам никуда недеться от 30000 лет сражений с хищниками и между собой заложенных в нашихгенах.
С совершенствованием компьютеров совершенствовались и игры, привлекая всебольше и больше людей. На сегодняшний день компьютерная техника достигла такогоуровня развития, что позволяет программистам разрабатывать очень реалистичныеигры с хорошим графическим и звуковым оформлением. С каждым скачком в областикомпьютерных технологий растет количество людей, которых в народе называют«компьютерными фанатами» или «гамерами» (от английского«game» — игра).
Основнойдеятельностью этих людей является игра на компьютере, круг социальных контактову них очень узок, вся другая деятельность направлена лишь на выживание, наудовлетворение физиологических потребностей, а главное — на удовлетворениепотребности в игре на компьютере.
Разумеется, вполной мере эта характеристика подходит лишь для людей на самом делефанатически увлекающихся компьютерными играми, когда увлеченность близка кпатологии. Но так или иначе бесспорен тот факт, что феномен психологическойзависимости человека от компьютерных игр имеет место. Учитывая то, чтоколичество людей, попадающих в эту зависимость, растет с каждым днем, этотвопрос требует изучения со стороны психологической науки.
В обществеформируется целый класс людей-фанатов компьютерных игр. Общение с этими людьмипоказывает, что многим из них увлечение компьютером отнюдь не идет на пользу, анекоторые серьезно нуждаются в психологической помощи. Большинство из них — люди с известными психологическими проблемами: несложившаяся личная жизнь,неудовлетворенность собой, и, как следствие, утеря смысла жизни и нормальныхчеловеческих ценностей. Единственной ценностью для них является компьютер ивсе, что с этим связано.
Проблемасуществует и требует изучения. Эта работа не претендует на полное научноеобяснение обозначенных вопросов и основание теории, ее целью является наметитьнаправление исследований, внести некоторые коррективы в сформировавшеесясегодня в науке представление о взаимодействии человека с компьютером впроцессе игры. Я попытаюсь наметить решение таких вопросов, как психологическаяспецифика ролевых игр, создание классификации компьютерных игр, динамикаформирования игровой зависимости, а также рассмотрим механизм образованияпсихологической зависимости от компьютерных игр.
Атеперь об играх. Первые компьютерные игры появились очень давно, когда ещекомпьютеров как таковых не существовало, просто язык не поворачивается называтькомпьютером эти калькуляторы-переростки, размером с динозавра и такие жемедлительные. Хотя на тот момент времени даже они были чудом техники. Первойкомпьютерной игрой считается «Теннис для двоих» изобретенная в 1958г.американским ученым Вильямом Хайджинботэмом. Эта игра заключалась в том, чтодва человечка нарисованные на экране осциллоскопа перебрасывали мячик черезсетку (черточку посередине экрана). О том, что последовало  далее, знает,наверное, каждый — совершенствовались компьютеры, совершенствовалиськомпьютерные игры. На  сегодняшний   момент мы  имеем  несколько  направлений,  вкоторые  развились компьютерные игры — это игровые автоматы, телевизионныеприставки и, конечно, непосредственно компьютерные игры.
Впроцессе формирования компьютерных игр накопилось множество тем для обсуждения.Множество как специфических вопросов — от тенденций текущего момента и опытаслияния игр и кино до, скажем, эпической проблемы влияния жестокости вкомпьютерных играх на детское сознание. Эти вопросы я и хочу рассмотреть всвоем реферате.Последние достижения в области электроники и программированияприблизили наши фантазии о трехмерных видеоиграх к осязаемой реальности.Разработчики игр сегодня могут создать трехмерные игры для недорогого ПК,позволяющие игрокам получить ощущения, всего несколько лет назад казавшиесянедоступными. Говоря по правде, и в прошлом были трехмерные имитаторы полетов инесколько пространственных игр. Но все они были очень медленными и нуждались вмощных компьютерах. Естественно, это резко сужало круг потенциальных игроков.Все эти ограничения заставляли программистов искать пути созданиянетрадиционных методов рендеринга. Эти новые способы были очень просты и имелипроизводительность, еще пару лет назад считавшуюся невозможной. 
Компьютерныеигры так прочно вошли в нашу жизнь, что теперь практически невозможнопредставить персональный компьютер, на котором не было бы хоть одной из них. Нидля кого не секрет, что компьютеры уже давно достигли уровня быстродействиянеобходимого для работы в основных офисных приложениях. Дальнейшее увеличениепроизводительности подстегивает только всеобщая любовь к компьютерным играм,производители которых становятся все более требовательными к ресурсамкомпьютеров.
Менятоже не миновало увлечение компьютерными играми. Играл я много и с увлечением.Первые игры были примитивными и даже не заслуживают упоминания, а потом были Galaxy,Wolf3D, Doom, Duke Nukem, Doom II, Dune II, Quake, WarCraft, Quake II,StarCraft.
Давайте насекунду отвлечемся оттого, что живем в 2002 году и вспомним, чем быликомпьютерные игры в 1992. Выскочим из ежедневности и посмотрим, что изменилосьза 10 лет — поверьте, из этого следуют небезынтересные вещи.
Итак, в 1992 — как, впрочем, и несколько лет до этого — игр было мало.Тогдашние геймеры с легкостью могли перечислить все интересное, что было на рынке,- всех жанров. А хардкорщики могли дать еще и краткую характеристику каждойигре, поскольку играли во все. Опять-таки, все и во всех жанрах. На самом деле,жанров просто не было: малое количество игр позволяло перебрать их все и дальшеделить на хорошие и плохие, а уж на вертолете летать или королевством править — какая разница? Соответственно, единой была тусовка. Мы понимали друг друга сполуслова, и «хиты» у нас были одни — Dune 2, King's Bounty, StarControl 2, F-117, Wolfenstein. Очевидно, царица игр — Civilization.
Самыевнимательные заметили чехарду с историческими периодами в предыдущем абзаце. Несуть важно, когда именно что выходило и когда именно ситуация стала меняться;важно то, что в какой-то момент появилось несколько очень хороших игр. Вещей,на голову выше всех предыдущих, — и самих по себе, и — в некоторых случаях — засчет наличия multiplayer'а. Который многопользовательский режим. В первуюочередь, конечно, сюда попадают — Doom, C&C, Warcraft; но это — тольконаиболее яркие и очень multiplayer'ные представители. А тенденцияраспространялась на всю область — от стратегий до квестов. Заключалась этатенденция в следующем: все увидели, сколько бабок можно срубить на компьютерныхиграх. И захотели тоже. Причем как срубить бабок на собственно компьютерныхиграх, никто не знал. Все видели, как можно срубить бабок на Doom'е. И всестали делать Doom.
Наступилаэпоха клонов и формирования рынка. Дяди с деньгами находили командыпрограммистов, бредивших искренней и глубоко творческой идеей сделать свойC&C, и что-то там организовывали. Вещи, непохожие на китов и«патриархов», делались только с позиционированием «непохожие накитов и патриархов». То есть заявлялся либо Doom, либо не-Doom; иногда — чуть ли не анти-Doom. То делался «выход старого хита на новыйуровень», то «вещь, принципиально не похожая на существующиехиты». Все вертелось вокруг клонирования.
Какэто сказалось на тусовке? Прежде всего, новые игры требовали уже больше времени- особенно при наличии multiplayer'а; можно было грохать все свободное время наодну игру в течении нескольких недель, и не тосковать без чего-то нового.Хотелось похожего — и люди играли в KKND, потому что Command&Conquer ужевидеть не могли, а «стратегии» хотелось. Приблизительно в то же времяпоявились первые человеческие журналы — точнее, первый человеческий журнал, — который и послужил, по Владимиру Ильичу, «не только агитатором».
Деление игр на жанры стало очевидным, понятие «клон» — ключевым, народ четко разбился на группы. Параллельно была налажена торговляпиратскими компакт-дисками — тусовка резко увеличилась за счет доступностиматериала на каждом углу. Новые люди даже и не пытались по инерции играть«во все» — в отличие от «могикан»; новые рубились в свойжанр и чхать хотели на  существование  чего-либо еще. Тусовка  стала  большой и  уже  разномастной.
ПоявлениеQuake'а выделило еще одну группу игроков — и еще одну группу игр. Звучит глупо,но именно в такой последовательности — игроков и игр. Multiplayer был настолькоразвит, что появилась такое понятие, как мастерство. Абсолютно незабываемыеощущения — игра, при которой тебе кажется, что у противника есть карта уровня,точка на ней — ты, и абсолютно не промахивающаяся ракетница. «Большой братсмотрит на тебя». Человек, не игравший в Quake с мастером, просто незнает, что такое Quake (хотя именно такой человек и думает, что умеет играть вQuake). А мастерство принесло спорт. На самом деле, началось все еще с Doom'а,- но в Quake уже стали играть не на квартирах, а во все более развивавшихсяклубах — организованно. Чемпионаты, тренировки по нескольку часов, если реально- профессиональные лиги, которые дальше развивались вообще независимо отостального «геймерства».
Продолжалосьэто все достаточно долго — года до 98. Во-первых, идеи, заложенные в исходныххитах, были уж больно богатые; во-вторых, совершенствовалась технология — иразработчики могли кормить народ в клонах все новыми и новыми фишками — тут ещеподоспели 3D-ускорители и их непрерывный рост… Клоны оттачивали идеи, тусовкаросла, журналов стало больше — в общем, мясо нарастало на кости. Счастливыеглаза, ощущение того, что процесс пошел. Попытки осмыслить новый уровеньразвития и описать его несколькими формулами — «игры бывают следующихвидов...». А потом надоело — потихоньку, но от клонов начало тошнить.
Первыеписки стали раздаваться как раз в 97, в 98 все принципы начали рушиться.Все заявляли оригинальность жанров; все упирали на привнесение в игру сюжета,смешанного с игрой, смешанными с традициями, смешанными с заимствованием изкинематографа и древнекитайской чайной церемонии. Все говорили о передовойтехнологии — но так, уже порядка ради, и журналы лениво констатировали:«Очевидно, графика на уровне», — и переходили к обсуждению новыхконцептов. Понеслась лавина всяческой новизны — и одновременно сталакритической масса игр. И степень их раскрученности.
Игр стало настолько много, что играть во все было уже невозможно. К99 клон стал архаикой — за исключением ситуаций с проверенными временемсериалами — и уже нельзя было поиграть в одну игру и судить о трети рынка. Игрыдошли, наконец, до широкого, играющего так, просто, без увлеченностипотребителя — человека одной игры; и тусовка окончательно«обезличела». От хардкорщиков, с опытом, с классикой за плечами,воющих при одной мысли о том, что можно играть в какую-то попсу – и людей,которые играют в компьютерные игры с удовольствием, но иногда. По две новыхигры в год. Я еще не затрагиваю сейчас вопрос неожиданной популярностиназвавших себя играми кукол Барби и симуляторов охоты на оленей — бешеной,невероятной популярности по результатам голосования долларом. Потому чтодолларом — и это не у нас. Но и у нас масса народа будет играть в попсу — и дляних будут эту попсу специально делать. И это тоже будет частью тусовки, и этотоже будет играми.
Параллельнос переменами на рынке игр пережили пару Quake'ов и поколений самих себяспортсмены, и руливший в свое время Cookie «ушел от дел» и пьет свое,кажется, вебмастерское пиво и смотрит вместе с другими бывшими отцами на новыепоколения увлеченно тренирующихся в одну-единственную игру. Тусовка меняется,тусовка уже огромна и продолжает расти; тусовка состоит из очень разных, ничегоне знающих друг о друге людей. У тусовки появилась история — а компьютерныеигры становятся частью культуры человечества: и с точки зрения вовлеченных виндустрию денег, и с точки зрения масштабного влияния на сознание, и с точкизрения творчества.
Всесуществующее сегодня многообразие компьютерных игр можно условно разделить натри в значительной степени перекрывающихся класса: позиционные, динамические изрелищные.
Позиционные – это игры, в которых ЭВМ простозаменяет человеку партнера, в традиционных средствах проведения досуга: шашки,шахматы. Сюда же относятся и более специфические игры, по условиям которыхчеловеку предлагается, например, распределить за пультом ЭВМ государственныйбюджет «в некотором королевстве», существующем враждебном окружении, строить«стратегические планы» перемещения войск. Результаты введенных с пульта решенийотражаются на экране постепенно все более усложняющейся военной и  «межгосударственной»обстановке. Исход игры: процветание и территориальный рост «алгоритмизованногокоролевства» имеющего разорения, падения захваченных врагом провинций, а затемгибель метрополии — определяется постепенно растущим искусством играющего врешении заданного типа многокритериальных задач.
 Динамические игры, требуют от участника быстрой «моторной» реакции многоменяющуюся в кадре экрана обстановку, т. к. протекают в реальном маштабевремени. Сюда относятся большая часть цветных видиоигр: от остейшихкомпьютерных вариантов “пингпонга”, тира с движущимися по экрану мишенями дозначительно боле трудных в освоении приключенческих игр, в которых идет острая  многофакторная борьба   по   быстро   усложняющимся   в  ходе   сеанса   правилам Например, это может быть борьба «на выживание» стемными силами, которых обычно изображают на экране «пришельцы других миров»,мифические монстры или какая- то иная «нечистая сила». Участник игры управляет«поведением своего» персонажа, который, повинуясь его командам, ловитпротивника, уклоняется  от преследования.Зрелищные игры иногда определяются как диалоговыеили «интерактивные» фильмы, образующие различные типы занимательных киноисторий, которые демонстрируются.

1. Постановка задачи. 1.1 Фазы создания видеоигр.
Видеоигра, как и любой другой программный продукт, должна создаваться поопределенной методике. Это значит, что в процессе разработки игры необходимопридерживаться определенных правил и рекомендаций. Итак:
·   Во-первых, нужнаидея.
·   Если естьпонимание того, что будет в игре, то есть смысл написать что-то типа сценария.
·   Затем надоразнообразить каждый из уровней какими-нибудь неожиданными ходами, целями ит.д. Нужно заинтересовать игрока, заставить его проходить уровень за уровнем ввашей игре.
·   Если у вас естьпонимание каждого уровня игры, то имеет смысл подумать о структуре самой игры.Как будут себя вести игровые объекты, как они будут взаимодействовать, какиевозможности получит игрок?
Для осуществления задуманного необходим минимальный набор инструментальныхсредств:
·   Программа длярисования битовых образов;
·   Программа дляанимации битовых образов;
·   Си-код длябит-блиттинга (блокового перемещения битовых образов), изменения видимогоразмера объектов (масштабирования) и рисования линий;
·   Средства дляработы со звуком;
·   Си-код для работыс устройствами ввода;
·   Инструменты длярисования уровней и сохранения их на диске.
1.2 Процедуры и функции.
Всякую сложную задачу для лучшего понимания и облегчения ее решенияполезно разделить на простые подзадачи. Если программа предназначена длярешения определенной комплексной задачи, то должен существовать способразделения программ на некоторые структурные единицы.
1.2.1 Что такое подпрограмма.
Часто в  программах  возникает  необходимость  выполнять (не циклически) несколькораз одну и ту же  последовательность  операторов.   Конечно,     можно    соответствующий       фрагмент
скопировать в программе несколько раз в нужные места, однако при такомподходе текст программы получается обширным и трудным для понимания. Крометого, для объемной программы требуется больше памяти. Поэтому для упрощениятекста программы, а также для исключения необходимости заниматься копированиемпредложена концепция подпрограмм.
Функционально самостоятельная часть программы, обладающая собственнымименем и набором локальных имен, известна как подпрограмма. Вызовподпрограммы осуществляется по ее имени из любых точек тела программы и любоеколичество раз. Помимо упрощения текстов программ и избавления от копирования,подпрограммы – это еще средство структурирования программ. Идея в том, чточтобы программа состояла не из огромного числа операторов, а из относительносамостоятельных частей (подпрограмм), каждой из которых назначена отдельно,сравнительно узкая роль. Причем подпрограммы могут включать в себя другиеподпрограммы, т. е. допускается вложенность подпрограмм.
Подпрограмма, чтобы ее можно было вызывать в программе, должна бытьобъявлена в разделе описаний программы. Объявить подпрограмму – значит указатьее заголовок (с используемыми в ней формальными параметрами), описать локальныепеременные и, наконец, задать ее тело. В разделе описаний подпрограммы могутбыть объявлены новые подпрограммы, которые, в свою очередь, также могутвключать подпрограммы. Иными словами, возможно множество уровней вложенияподпрограмм.
В языке программирования Turbo Pascal приняты двавида подпрограмм: процедурыи функции, которые мырассмотрим.
      
1.2.2 Описание процедуры.
Структура процедуры повторяет структуру программы – в ней также естьзаголовок, раздел описаний и тело. Начинается процедура с зарезервированногослова PROCEDURE, за которым через пробел следует имяпроцедуры. Строка заголовка должна обязательно завершаться точкой с запятой.Затем идет раздел описаний процедуры. После раздела описаний процедуры следуетее тело. Тело процедуры содержит последовательность операторов, заключенных воператорные скобки (представляющие собой пару зарезервированных слов BEGIN … END).
1.2.3 Описание функции.
Помимо процедур, в Turbo Pаscal применяются подпрограммы и иноговида – функции (чем отличаются функции от процедур, мы выясним позже).Структура функции  (как и процедуры) повторяет структуру программы. Первой идетстрока заголовка, которая начинается с зарезервированного слова FUNCTION. За ним через пробел следует имяфункции, далее (в скобках) перечень формальных параметров, а затем двоеточие,за которым указывается тип значения, возвращаемого функцией. Завершается строказаголовка точкой с запятой. Сразу под заголовком функции расположен ее разделописаний. После раздела описаний функции следует ее тело. Тело функции содержитпоследовательность операторов, заключенных в операторные скобки.
Кстати, в отличие от процедур, активизируемых с помощьюоператора вызова (включающего имя процедуры и, может быть, фактическиепараметры), имя функции должно упоминаться в выражении. У функции (в отличие отпроцедуры) имеются и другие особенности. Например, в результате использованияфункции возвращается некоторое значение. Тип возвращаемого значения указываетсяв описании функции (в заголовке). Если имя используется только для ее вызова,то с именем функции ассоциируется некоторое возвращаемое значение. Чем ещефункции отличаются от процедур? Поскольку функция должна возвращать некотороезначение, в ее теле обязательно должен присутствовать оператор присваивания, вправой части которого указано имя функции.
Когда лучше использовать процедуры и когда функции? Этозависит от конкретного случая. Если подпрограмма вычисляет единственныйрезультат, ее можно реализовать как функцию. Если же от подпрограммы требуетсявычислить несколько значений, ее лучше оформить в виде процедуры.
 
1.3 Модули.
1.3.1 Описание модулей.
В Паскале под модулем понимают чаще всего подразумевают комплексподпрограмм, который находится в отдельном файле и может быть использовандругими программами.
Модуль состоит из заголовка, интерфейсной части, исполнительнойчасти и секции инициализации.
 Заголовокмодуля похож на заголовок программы, однако вместо слова programставится зарезервированное слово unit.
Модуль должен находится в файле, имя которого совпадает с именем взаголовке, файл должен иметь расширение .pas.
Интерфейсная часть служит для взаимодействия основной программы с модулем. Онаначинается с зарезервированного слова interface. В ней должны быть указаны константы, типы данных,переменные, процедуры и функции, которые может использовать основная программа,вызывающая этот модуль. Если модуль использует еще какие-то модули, то онидолжны быть указаны в интерфейсной части следующим образом: пишетсязарезервированное слово uses,затем перечисляются необходимые модули (заметим, что так же обозначаются имодули в разделе описания основной программы). Цепочка используемых модулейможет быть сколь угодно длинной, однако она не может содержать циклы. Например, допустима цепочка:
unit A;
uses B,C;
...
end.
unit B;
uses C,D;
...
end.
А цепочка
unit A;
uses B;
...
end.
unit B;
uses A;
...
end.
недопустима, поскольку она содержит цикл A uses B uses A.
Процедуры и функции тоже объявляются в интерфейсной части модуля, но приэтом разрешено лишь перечислять их заголовки, подобно предварительномуобъявлению с директивой forward.
В исполнительной части модуля содержаться процедуры и функциимодуля. Здесь могут быть так же и локальные типы, константы, метки илипеременные. Исполнительная часть начинается с зарезервированного слова implementation, далее следует описания локальныхконстант, типов данных и переменных, а затем обычное описание процедур ифункций, но с использованием сокращенных заголовков, т.е. без указания в нихпараметров.
Иногда при вызове модуля следует произвести некоторые действия, напримеринициализировать какие-либо переменные, установить какие-либо связи и т.д. Всеэти действия указываются в секции инициализации, которая выглядит, какобычное тело программы: между словами begin и end с точкой находятся операторы. Еслипри вызове модуля никаких подобных действий производить не нужно, то секцияинициализации состоит лишь из слова end с точкой.
Чтобы использовать процедуры, функции и другие объекты модуля в основнойпрограмме, необходимо написать зарезервированное слово uses, затем имя модуля. После этого объекты модуля можноиспользовать так, как если бы они были описаны в основной программе.
Рассмотрим теперь модули, которые поставляются в стандартном комплексе Turbo Pascal, но функции и процедуры которых не являютсястандартными.
1.3.2 Модуль CRT.
Модуль Crt содержитпроцедуры, функции и константы для работы с экраном в текстовом режиме, работыс клавиатурой и генерации звука.
Подпрограммы этого модуля позволяют управлять текстовыми режимами экрана,использованием цветов и окнами, яркостью свечения символов, а такжерасширенными кодами клавиатуры и звуком.
В текстовом режиме весь экран разбивается на строки (их, как правило,25), а каждая строка – на отдельные позиции (их обычно по 80 в каждой строке)находится в левом верхнем углу экрана.
 
1.3.2 Модуль DOS.
Здесь собраны процедуры и функции (а также переменные и константы),позволяющие из программ получать доступ к средствам MS DOS и управлять файлами.
 
1.3.3 Модуль GRAPH.
Содержит множество подпрограмм, а также констант, типов и переменных,предназначенных для управления графическим режимом экрана. Ресурсы модуля позволяютобратится к любому пикселю экрана и управлять его свечением.
Запустить программу, использующую модуль GRAPH, без графического драйвера (одного или нескольких –это файла с расширением .BGI)не удастся. Указанные драйверы не входят в состав модуля, но поставляются с Turbo Pascal (они содержаться в каталоге BGI). А если в программе используются векторные шрифты, вдополнение е драйверам потребуются также файлы шрифтов (файлы с расширением .CHR).

2. Решение задачи.
2.1 Структурная схема программы.
Итак, представим схему программ.
Program xxx;{заголовокнеобязателен}
Const
раздел описания констант
Label
Раздел описания меток
Type
Раздел описания типов
Var
Раздел описания переменных
Описания подпрограмм
Begin
Тело программы
End.
В первой строке схемы находится заголовок программы. Заголовок начинаетсязарезервированным словом PROGRAM,за которым следует имя программы, которое ей было присвоено при создании.Завершается заголовок точкой с запятой. В Turbo Pascal заголовок не является обязательным элементомпрограммы.
 После заголовка на схеме представлены разделы описания констант, типов,меток и переменных. Причем Turbo Pascal непредписывает порядок, в котором должны следовать эти разделы.
Кроме того, Turbo Pascal  вовсе не предписывает, что впрограмме должно быть не более одного раздела описания типов, меток, константили переменных и что все соответствующие описания должны быть собраны в единомразделе. Иными словами, при необходимости ничто не мешает создать в программедва раздела описаний меток или два раздела описаний типов, например.
После раздела описаний меток, типов, констант и переменных идут  описанияподпрограмм (если в данной программе  используются подпрограммы). Описания подпрограмм следует  одно  за  другим,  причем  если  одна  подпрограмма вызывается   из  другой,  первая   должна   быть  описана   раньше.
После описания подпрограмм начинается тело программы (или ее разделоператоров). Оно всегда открывается зарезервированным словом BEGIN и завершается словом END (с точкой).
2.2 Условие задачи.
 
Пасьянс «Три пика» раскладывается 52 картами, 28 карт выкладываются вформе снежных горных пиков одна на другую. Остальные 24 помещаются в колоду.
Задача – очистить вершины от снега, т.е. убрать с «пиков» все карты.
Все карты, кроме тех, что в пиках не закрыты другими, лежат рубашкамивверх.
Игра начинается с того, что открываем первую карту из колоды и ищитекарту, достоинство которой отличается то открытой на единицу (больше илименьше). Теперь эта карта становится верхней в открытой колоде.
Нужно стараться найти как можно более длинную цепочку.
Если не можем найти карту, достоинство которой на единицу отличается отверхней открытой, открываем следующую карту из закрытой колоды.
Доступны только карты лежащие сверху, т.е. не заслоненные другими.
Начисление очков. За каждую карту, взятую из колоды, у вас вычитается 5 очков,так же за каждые 10 секунд вычитается по 1 очку. За каждую убранную из пикакарту вы получаете на 1 очко больше, чем за предыдущую (счет растет до тех пор,пока не возьмем новую карту из колоды). После взятия новой карты из колоды очкиснова начисляются с 1.
Если дошли до вершины пика, т.е. удалили верхнюю карту, то даетсядополнительно 13 очков, и за каждый последующий пик на 13 очков больше.     

                    Заключение.
В данной курсовой работе я попытался рассмотреть важный разделсовременного программирования – создание компьютерных игр. Были определеныосновные фазы создания видеоигр. Я реализовал игру пасьянс «Три пика» и темсамым приобрел новые и укрепил старые навыки программирования на языке Turbo Pascal.

Список литературы.
1.        Е. И. ЕмелинаОсновы программирования на языке Паскаль: М.:«Финансы и статистика»,1997.
2.        О. А. МеженныйСамоучитель Turbo Pascal: М., СПб., Киев:«Диалектика»,2003.
3.        В. И. Грызлов, Т.П. Грызлова Турбо Паскаль 7.0: М.:«ДМК»,1998.
4.        В. В. Фаронов Turbo Pascal 7.0: М.:«Нолидж»,1999. 

Приложение.
  Program ThreePeaks;
UsesEngPeaks,IntPeaks,CRT,DOS;
ProcedureInit;
begin
 InitCards;
 GraphInit;
 DrawCards;
 DrawColode;
 DrawScore;
 DrawTime;
 ShowMouse;
end;
ProcedureCalcTime;{Считаем время}
begin
 if GameBegin and ((CurTime-BeginTime)/18.2 >1) then {Считаемвремя}
  begin
    inc(seconds);
    if (Seconds mod 10)=0 then {каждые10 секунд-1 очко}
     begin
      dec(Score);
      DrawScore;
     end;
    BeginTime :=curtime;
    DrawTime;
  end;
end;
Type
 TUserInfo=record
 UserName: string[50];
 wcnt: word;{Сколько побед}
 dcnt: word;{Сколько поpажений}
 AllScore: longint;{Всего очков}
 end;
FunctionDefeatOrWin(var UInf: TUserInfo):boolean; {Проверяемпроигрышиливыйгрыш}
var
 ch:char;
begin
 ifDefeat or (MoveCount=28) then {Если проигралииливыиграли}
 begin
  if Defeat then
    begin
     DrawText('You are lose game');
     inc(UInf.dcnt);
     UInf.AllScore := UInf.AllScore+Score;
    end
  else
   begin
    DrawText('You are win game');
    inc(UInf.wcnt);
    UInf.AllScore := UInf.AllScore+Score;
   end;
  repeat
   if keypressed then  ch:=readkey;
  until (ch=#13) or (ch=#27);
  if ch=#27 then
   begin
    DefeatOrWin := true;
    exit;
   end;
  CloseGr;
  Init;
 end;
 DefeatOrWin:= false;
end;
FunctionGetUserName:string;
var
 name:string[50];
begin
 ClrScr;
 write('Enteruser name: ');
 readln(name);
 GetUserName:= name;
end;
ProcedureSaveToFile(UInfo: TUserInfo);
var
 i:longint;
 f:file of TUserInfo;
 buf:TUserInfo;
begin
 i:= 0;
 assign(f,'peaks.dat');
{$I-}
 FileMode:= 2;
 reset(f);
{$I+}
 ifIOResult0 then
 begin
  rewrite(f);
  write(f,UInfo);
  close(f);
  exit;
 end;
 repeat
 read(f,buf);
 inc(i);
 until(i=filesize(f)) or (UInfo.UserName=buf.UserName);
 if(UInfo.UserName=buf.UserName) then {Еслипользовательужеесть}
 begin
  buf.wcnt := buf.wcnt + UInfo.wcnt;
  buf.dcnt := buf.dcnt + UInfo.dcnt;
  buf.allscore := buf.allscore + UInfo.allscore;
  seek(f,filepos(f)-1);
  write(f,buf);
  close(f);
  exit;
 end;
 seek(f,filesize(f));
 write(f,UInfo);
 close(f);
end;
ProcedureDisplayStat;
var
 i:longint;
 f:file of TUserInfo;
 buf:TUserInfo;
begin
 assign(f,'peaks.dat');
{$I-}
 reset(f);
{$I+}
 ifIOResult0 then exit;
 fori:=1 to filesize(f) do
 begin
  read(f,buf);
  with buf do
  writeln('Name: ', UserName,' Wins: ',wcnt, ' Defeats: ',dcnt,
          ' Score: ', AllScore);
  if (i mod 23) = 0 then
   begin
     writeln;
     writeln('Press any key to continue...');
     readkey;
     ClrScr;
   end;
 end;
 close(f);
 writeln;
 writeln('Pressany key to exit...');
 readkey;
end;
var
 ch:char;
 UserInfo:TUserInfo;{Информация об играющем}
begin
 ChDir(workdir);{Переходим в каталог откуда запущенна программа}
 randomize;
 withUserInfo do
 begin
  UserName := GetUserName;
  wcnt :=0;
  dcnt :=0;
 end;
 Init;
 repeat {Рабочийциклпрограммы}
 if keypressed then ch:=readkey; {Сканируемнажатияклавиш}
 ScanMouse; {Сканируем мышь}
 CalcTime;{Считаем время}
until(ch=#27) or DefeatOrWin(UserInfo);
 CloseGr;
 if(UserInfo.wcnt>0) or (UserInfo.dcnt>0) then
 SaveToFile(UserInfo);
 DisplayStat;
 ClrScr;
 writeln('3Peaks');
 writeln('ver.1.0');
 Writeln('(c)2004 by Denis Kireev')
end.{Конец программы}


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.