Курсовая: Программирование игровых программ
Оренбургский Муниципальный Высший
Естественно-гуманитарный Колледж
КУРСОВАЯ РАБОТА
По дисциплине: лТехнология разработки программного продукта
На тему: лПрограммирование игровых программ
Специальность:
Программное обеспечение
вычислительной техники и
автоматизированных систем
Выполнил:
Студент 2 курса
21 группы
Калимуллин Нарис
Проверила:
Преподаватель высшей категории
Сквалецкая Т.Ю.
Оренбург 2003 г.
Оглавление:
Введение........................3
1. Психологическая классификация компьютерных игр..7
2. Первоначальные понятия шахматных головоломок...15
3. Знакомство со средой Турбо Паскаля...........18
3.1. Работа с Турбо Паскалем..............19
3.2. Функциональные клавиши............22
4. Техническое задание................24
5. Пример работы программы..............29
Заключение........................32
Список использованной литературы............34
Текст
программы....................35
Введение
Информацию, которая сегодня является главным источником коммуникаций, можно
хранить в памяти компьютера или обрабатывать при помощи программного
обеспечения компьютера.
Программное обеспечение Ц неотъемлемая часть ЭВМ. Оно является логическим
продолжением технических средств ЭВМ, расширяющих их возможности и сферу
использования. Сам по себе компьютер не обладает знаниями ни в одной области
применения. Все эти знания сосредоточены в выполняемых на компьютере
программах.
Все программы, используемые на компьютере, можно разделить на 3 категории:
1. Прикладные программы, непосредственно обеспечивающие выполнение
необходимых пользователю работ;
2. Системные программы, выполняющие различные вспомогательные функции;
3. Инструментальные программные системы, облегчающие процесс
создания новых программ для компьютера;
Прикладные программы обеспечивают выполнение работ, необходимых пользователю:
редактирование текстов, рисование картинок, обработку массивов данных и тд.
Это могут быть: текстовые процессоры, графические редакторы, издательские
системы деловой и научной графики, бухгалтерские системы, игры, программы для
просмотра мультимедиа и тд.
Примером системных программ может служить Ц операционная система. Она в свою
очередь делится на 2 категории:
1. Графическая операционная система;
2. Командная строка;
Эффективность использования ПК в значительной степени определяется уровнем
ПО, и особенно инструментальными средствами и языками программирования.
Инструментальные средства ориентированы главным образом на профессиональных
программистов и включают: средства общения с операционной системой,
совокупность утилит (часто используемых программ), реализующих системные
требования, и средства систем программирования, для разработки программ.
К программному обеспечению относится также вся область деятельности по
проектированию и разработке ПО: 1. Технология проектирования
программ (нисходящее программирование, структурное программирование и др.);
2. Методы тестирования программ;
3. Методы доказательства правильности программ;
4. Анализ качества работы программ;
5. Документирование программ;
6. Разработка и использование программных средств,
облегчающих процесс проектирования ПО и многое другое;
К такому виду как прикладные программы относятся компьютерные игры. С
совершенствованием компьютеров совершенствовались и игры, привлекая все
больше и больше людей. На сегодняшний день компьютерная техника достигла
такого уровня развития, что позволяет программистам разрабатывать очень
реалистичные игры с хорошим графическим и звуковым оформлением. С
каждым скачком в области компьютерных технологий растет количество людей,
которых в народе называют "компьютерными фанатами" или "гамерами" (от
английского "game" - игра).
Основной деятельностью этих людей является игра на компьютере, круг
социальных контактов у них очень узок, вся другая деятельность направлена
лишь на выживание, на удовлетворение физиологических потребностей, а главное
- на удовлетворение потребности в игре на компьютере. Разумеется, в полной
мере эта характеристика подходит лишь для людей на самом деле фанатически
увлекающихся компьютерными играми, когда увлеченность близка к патологии. Но
так или иначе бесспорен тот факт, что феномен психологической зависимости
человека от компьютерных игр имеет место. Учитывая то, что количество людей,
попадающих в эту зависимость, растет с каждым днем, этот вопрос требует
изучения со стороны психологической науки.
В обществе формируется целый класс людей-фанатов компьютерных игр. Общение с
этими людьми показывает, что многим из них увлечение компьютером отнюдь не
идет на пользу, а некоторые серьезно нуждаются в психологической помощи.
Большинство из них - люди с известными психологическими проблемами:
несложившаяся личная жизнь, неудовлетворенность собой, и, как следствие,
утеря смысла жизни и нормальных человеческих ценностей.
Единственной ценностью для них является компьютер и все, что с этим связано.
Проблема существует и требует изучения. Эта работа не претендует на полное
научное объяснение обозначенных вопросов и основание теории, ее целью
является наметить направление исследований, внести некоторые коррективы в
сформировавшееся сегодня в науке представление о взаимодействии человека с
компьютером в процессе игры. Попытаемся наметить решение таких вопросов, как
психологическая специфика ролевых игр, создание классификации компьютерных
игр, динамика формирования игровой зависимости, а также рассмотрим понимание
механизма образования психологической зависимости от компьютерных игр.
1. Психологическая классификация компьютерных игр.
Все компьютерные игры можно условно разделить на ролевые и не ролевые. Это
разделение имеет принципиальное значение, поскольку природа и механизм
образования психологической зависимости от ролевых компьютерных игр имеют
существенные отличия от механизмов образования зависимости от неролевых
компьютерных игр.
Итак, что мы понимаем в психологическом смысле под ролевыми компьютерными
играми. Ролевые компьютерные игры - это игры, в которых играющий принимает на
себя роль компьютерного персонажа, т.е. сама игра обязывает играющего
выступать в роли конкретного или воображаемого компьютерного героя. Здесь
очень важно различать понимание ролевой компьютерной игры в жанровой
классификации компьютерных игр (RPG - Role Playing Game) и понимание этого
класса игр в необходимом нам психологическом смысле.
Выделение ролевых компьютерных игр из всего многообразия игр делается потому,
что только при игре в ролевые компьютерные игры мы можем наблюдать процесс
"вхождения" человека в игру, процесс своего рода интеграции человека с
компьютером, а в клинических случаях - процесс утери индивидуальности и
отождествление себя с компьютерным персонажем. Ролевые компьютерные игры
порождают качественно новый уровень психологической зависимости от
компьютера, нежели неролевые компьютерные игры или любые виды неигровой
компьютерной деятельности. Не исключена также возможность того, что этого род
зависимость может быть не менее сильна, чем зависимость от ролевых
компьютерных игр. Однако мы делаем совершенно очевидное предположение о том,
что психологическая зависимость от ролевых компьютерных игр является самой
мощной по степени своего влияния на личность играющего. Иными словами, мы не
считаем, что зависимость от ролевых компьютерных игр обгоняет компьютерные
зависимости другого рода по таким показателям как сила (в смысле
привязанности, "тяги" к компьютеру) и скорость образования, но предполагаем
ее приоритет в смысле более глубокого влияния на психику человека. Исходя из
этого есть основание предположить большую опасность пагубного влияния ролевых
компьютерных игр в случае злоупотребления игрой, и, наоборот, возможность их
применения в качестве терапевтического метода в психокоррекционной работе.
Таким образом мы отбрасываем из рассмотрения игры таких жанров как логические
игры (шахматы и т.д.), игры на быстроту реакции и сообразительность (Tetris,
Arcanoid, Bomberman и т.п.), карточные игры (разного рода пасьянсы, покеры и
т.п.), игры-имитаторы игровых автоматов. Нельзя включать в класс
ролевых игр, а поэтому также необходимо отбросить из рассмотрения так
называемые аркадные игры - разного рода "бегалки" и "стрелялки"
(Aladdin, Cool Spot, Super Mario, Raptor и т.п.).
Действительно, некоторая идентификация играющего с героем игры может
происходить, однако, во-первых, игра не располагает играющего для полного
"вхождения" в роль, во-вторых, игровая мотивация в данном случае, как и во
всех неролевых играх, основана на азарте - главным мотивирующим фактором
является не "спасение принцессы", а накопление большего количества
очков, зарабатывание дополнительных "жизней", переход на следующий
уровень данной игры; иными словами, играющий в большей степени ориентирован
не на процесс игры, а на результат.
Исходя из этого, выделим критерии принадлежности компьютерной игры к классу
ролевых игр:
1) Ролевая игра должна располагать играющего к "вхождению" в роль
компьютерного персонажа и "атмосферу" игры посредством своих сюжетных и
мультимедийных (графическое и звуковое оформление) особенностей.
2) Ролевая игра должна быть построена таким образом, чтобы не вызывать у
играющего мотивации, основанной на азарте - накопить больше очков, побив тем
самым чей-то рекорд, перейти на следующий уровень и т.д. Хотя и в любой
компьютерной игре есть элемент азарта, но в ролевой игре этот фактор не
должен иметь первостепенного значения. Необходимо также сделать некоторое
допущение относительно игровых жанров, которые мы несколькими абзацами выше
благополучно отсеяли из рассмотрения в качестве ролевых. Дело в том, что игры
из этих жанров при известном мастерстве разработчиков можно выполнить в
соответствии с обозначенными критериями принадлежности к ролевым играм.
Пример такой игры - "Седьмой гость". Хотя в своей основе это "пазловая" игра
(от англ. Puzzle - головоломка), но она имеет сюжет и хорошее мультимедийное
оформление, в связи с чем мотивация решения загадок уходит на второй план по
отношению к процессу их поиска в условиях разветвленной сюжетной линии. Вид
"из глаз", о специфике влияния которого мы поговорим позже, еще более
усиливает "вхождение" в "атмосферу" игры.
Исходя из изложенных аргументов в пользу принадлежности такого рода игр к
классу ролевых, но, принимая во внимание их отношение к жанрам, исключенным
из класса ролевых игр, назовем их условно ролевыми компьютерными играми и все
же отнесем к классу ролевых. Также условно ролевыми будем считать большинство
спортивных игр. По мнению автора данной работы, разделение игр на ролевые и
неролевые должно лечь в основу психологической классификации компьютерных
игр.
Разработка последней является одной из первоочередных задач научных поисков в
данной области, т.к. может послужить отправной точкой дальнейших исследований
и лечь в основу базиса теории влияния компьютерных игр на психику человека.
Единственная классификация компьютерных игр, разработанная психологом,
которую мы имеем на сегодняшний день - это классификация Шмелева, созданная
им в 1988 году. Однако это скорее жанровая, нежели психологическая
классификация компьютерных игр; кроме того следует отметить, что она не
является полной даже как жанровая - в ней отсутствуют игры типа "стратегии",
которые в настоящее время получили очень большое распространение.
Предложенная ниже классификация не является всеохватывающей, полной и
законченной. Однако автор надеется на ее некоторое соответствие критерию
истинности, а также на то, что эти пока еще "сырые" наработки станут одним из
первых шагов к созданию полноценной психологической классификации
компьютерных игр на пути к формированию теории психологического
воздействия компьютерных игр.
Выглядит она следующим образом:
I. Ролевые компьютерные игры.
1. Игры с видом "из глаз" "своего" компьютерного героя.
2. Игры с видом извне на "своего" компьютерного героя.
3. Руководительские игры.
II. Неролевые компьютерные игры.
1. Аркады.
2. Головоломки.
3. Игры на быстроту реакции.
4. Традиционно азартные игры.
Далее приведем некоторые пояснения к предложенной классификации.
I. Ролевые компьютерные игры. Основная их особенность - наибольшее влияние на
психику играющего, наибольшая глубина "вхождения" в игру, а также мотивация
игровой деятельности, основанная на потребностях принятия роли и ухода от
реальности. Здесь выделяется три подтипа преимущественно по характеру своего
влияния на играющего, силе "затягивания" в игру, и степени "глубины"
психологической зависимости.
1. Игры с видом "из глаз" "своего" компьютерного героя. Этот тип игр
характеризуется наибольшей силой "затягивания" или "вхождения" в игру.
Специфика здесь в том, что вид "из глаз" провоцирует играющего к полной
идентификации с компьютерным персонажем, к полному вхождению в роль.
Через несколько минут игры (время варьируется в зависимости от
индивидульных психологических особенностей и игрового опыта играющего)
человек начинает терять связь с реальной жизнью, полностью концентрируя
внимание на игре, перенося себя в виртуальный мир. Играющий может совершенно
серьезно воспринимать виртуальный мир и действия своего героя считает
своими. У человека появляется мотивационная включенность в сюжет игры.
2. Игры с видом извне на "своего" компьютерного героя. Этот тип игр
характеризуется меньшей по сравнению с предыдущим силой вхождения в роль.
Играющий видит "себя" со стороны, управляя действиями этого героя.
Отождествление себя с компьютерным персонажем носит менее выраженный
характер, в следствие чего мотивационная включенность и эмоциональные
проявления также менее выражены по сравнению с играми с видом "из глаз".
Если в случае с последними человек в критические секунды жизни своего героя
может бледнеть и ерзать на стуле, пытаясь увернуться от ударов или
выстрелов компьютерных "врагов", то в случае вида извне внешние проявления
более умеренны, однако неудачи или гибель "себя" в облике компьютерного героя
переживается играющим не менее сильно.
3. Руководительские игры. Тип назван так потому, что в этих играх играющему
предоставляется право руководить деятельностью подчиненных ему компьютерных
персонажей. В этом случае играющий может выступать в роли руководителя самой
различной спецификации: командир отряда спецназа, главнокомандующий армиями,
глава государства, даже "бог", который руководит историческим процессом. При
этом человек не видит на экране своего компьютерного героя, а сам придумывает
себе роль. Это единственный класс ролевых игр, где роль не задается
конкретно, а воображается играющим. В следствие этого "глубина
погружения" в игру и свою роль будет существенной только у людей с хорошим
воображением. Однако мотивационная включенность в игровой процесс и механизм
формирования психологической зависимости от игры не менее сильны, чем в
случае с другими ролевыми играми. Акцентирование предпочтений играющего на
играх этого типа можно использовать при диагностике, рассматривая как
компенсацию потребности в доминировании и власти.
II. Неролевые компьютерные игры. Основанием для выделения этого типа
является то, что играющий не принимает на себя роль компьютерного персонажа,
в следствие чего психологические механизмы формирования зависимости и влияние
игр на личность человека имеют свою специфику и в целом менее сильны.
Мотивация игровой деятельности основана на азарте "прохождения" и (или)
набирания очков. Выделяется несколько подтипов:
1. Аркадные игры. Этот тип совпадает с аналогичным в жанровой классификации.
Такие игры еще называют "приставочными", т.к., в связи с невысокой
требовательностью к ресурсам компьютера, широко распространены на игровых
приставках. Сюжет, как правило, слабый, линейный. Все, что нужно делать
играющему - быстро передвигаться, стрелять и собирать различные призы,
управляя компьютерным персонажем или транспортным средством. Эти игры в
большинстве случаев весьма безобидны в смысле влияния на личность играющего,
т.к. психологическая зависимость от них чаще всего носит кратковременный
характер.
2. Головоломки. К этому типу игр относятся компьютерные варианты различных
настольных игр (шахматы, шашки, нарды и т.д.), а также разного рода
головоломки, реализованные в виде компьютерных программ. Мотивация,
основанная на азарте, сопряжена здесь с желанием обыграть компьютер, доказать
свое превосходство над машиной.
3. Игры на быстроту реакции. Сюда относятся все игры, в которых играющему
нужно проявлять ловкость и быстроту реакции. Отличие от аркад в том, что они
совсем не имеют сюжета и, как правило, совершенно абстрактны, никак не
связаны с реальной жизнью. Мотивация, основанная на азарте, потребности
"пройти" игру, набрать большее количество очков, может формировать вполне
устойчивую психологическую зависимость человека от этого типа игр.
3. Традиционно азартные игры. Мы употребляем в названии
слово "традиционные", поскольку нельзя назвать тип просто "азартными
играми", т.к. практически все неролевые компьютерные игры по своей природе
являются азартными. Сюда входят компьютерные варианты карточных игр, рулетки,
имитаторы игровых автоматов, одним словом - компьютерные варианты игрового
репертуара казино. Психологические аспекты формирования зависимости от этих
компьютерных игр и их реальных аналогов весьма сходны и, поэтому, мы не будем
акцентировать на этом внимание. Итак, компьютерные игры в наибольшей мере
позволяют человеку "войти" в виртуальность, отрешиться (минимум на время
игры) от реальности и попасть в виртуальный мир. В следствие этого
компьютерные игры оказывают существенное влияние на личность человека: решая
проблемы "спасения человечества" в виртуальном мире, человек приобретает
проблемы в реальной жизни.
В этой курсовой работе рассматривается такая игра как лшахматные
головоломки. Эта игра относится к такому виду игр как головоломки.
2. первоначальные понятия шахматных головоломок
Шахматные головоломки служат для изучения ходов в такой сложной игре, как
шахматы.
О том, что шахматы впервые появились в Индии, известно всем. А вот все ли знают,
как долго и через какие этапы шли шахматы к современному виду. Сначала
появилась так называемая чатуранга (четырехсоставное войско),
где игра сводилась не к матованию короля, а к уничтожению всех сил каждого из
соперников, которые делали ходы по поочередно, в зависимости от показаний
игральной кости. Так, если выпадала цифра 2, то играла ладья, 3 Цконь, 4 Ц слон
и так далее. Чатуранга возникла в Северной Индии не позже 5 века. На рубеже VI
Ц VII веков чатуранга превратилась в шатрандж (или в шатранг) Ц игру для двух
соперников, внешне схожую с нынешними шахматами, но с иными правилами. Здесь не
было рокировки, пешка передвигалась лишь на одно поле и превращалась только в
ферзя. Сам ферзь считался слабой фигурой и ходил так же, как и в современных
шахматах. Выигрышем считался не только мат, но и пат. Кроме того, победителем
считался тот, кто забирал все фигуры соперника, даже если у сильнейшей стороны
к этому моменту оставалась только одна фигура или пешка.
Сегодня шахматы, отвечая глубокой потребности людей в творческом
самовыражении, рождены для испытания ума. Шахматы Ц абстракция, чистая мысль,
вы не найдете в жизни ничего материально ощутимого, что адекватно бы в них
выражало. Это демонстрация нашей способности творить новое на основе
известного. Они проверяют нас не статично, не в холодном сопоставлении, а
резком противоборстве ума, воли, проницательности, воображения,
дальновидности. В абстрактной форме они воплощают идею справедливости: перед
шахматами все равны. Игра отвечает истинно человеческим потребностям разума,
духовного нашего существа. В борьбе создаются, захватывающие дух своей
красотой, произведения шахматного искусства, несущие на себе отпечаток
драматизма, озарений и заблуждений.
Таким образом, шахматы оказывают, несомненно, позитивное влияние на
умственное развитие человека. Совершенствуется возможность ума в предугодании
дальнейших ходов противника, полного овладевания своими фигурами и
правильного их применения в ходе партии. Нередко навыки, полученные при игре
в шахматы, помогают в жизненных ситуациях. Для правильного развития всего
организма человека также необходимо заниматься различными физическими
упражнениями, которые поддерживают организм, обеспечивают правильное его
развитие, хорошее кровоснабжение мозга, что повышает его деятельность.
Непосредственно перед шахматным матчем полезно провести дыхательные,
двигательные упражнения, которые полезно также повторить и после матча, так
как игра не редко продолжается очень длительное время. Укрепляя, таким
образом, свой организм на много проще выполнять шахматные приемы, которые
требуют тщательного продумывания позиции.
В шахматах на сегодняшний день сложились очень сложные правила игры. Главные
фигуры расставляются от а1 до h1,а пешки от а2 до h2. При этом фигуры, кроме
пешек, имеют свои возможности передвижения. Пешки могут передвигаться только
на одну клетку, но при первом ходе пешкой можно походить через одну клетку и
всегда только вперед. Рубят они только по диагонали. Ладья, не имея
ограничений, может передвигаться на любое расстояние по горизонтали и
вертикали. Конь ходит буквой Г, делая ход через препятствующие фигуры. Слон
ходит по диагонали на любое расстояние. Ферзь в принципе не имеет
ограничений, и может ходить как по горизонтали и вертикали, так и по
диагонали на любое количество клеток. Король также может передвигаться в
любом направлении, но только на одну клетку. Вся игра сводиться к матованию
короля. Кроме того, существует масса нюансов, связанных с рокировкой в
короткую или длинную сторону. Дойдя до противоположной стороны игрового поля,
пешка может стать любой другой фигурой (естественно кроме короля), в том
числе и ферзем, который представляет значительную силу в лшахматном
сражении. В настоящее время разработаны различные пособия, книги, в которых
описываются разнообразные возникающие ситуации и возможности выхода из них. В
1912 году в Риме на итальянском языке вышло руководство португальца Дамиано
под названием лКнига учит играть в шахматы и содержит задачи. Вот несколько
советов Дамиано: лникакой ход не должен быть сделан без цели, лне должно
играть скоро, лкогда имеешь в виду хороший ход, то все Ц таки посмотри, нет
ли еще лучшего.
3. Знакомство со средой Турбо Паскаля
Система программирования Турбо Паскаль представляет собой единство двух в
известной степени самостоятельных начал: компилятора с языка программирования
Паскаль (язык назван в честь выдающегося французского математика и философа
Блеза Паскаля (1623-1662)) и некоторой инструментальной программной оболочки,
способствующей повышению эффективности создания программ. Среда Турбо Паскаля
- это первое, с чем сталкивается любой программист, приступающий к
практической работе с системой. Если Вы по каким-либо причинам не собираетесь
писать собственные программы, можно пропустить эту главу, в которой
приводятся минимальные сведения об основных приемах работы в среде Турбо
Паскаля.
3.1. Работа с Турбо Паскалем
Система Турбо Паскаль довольна значительна по объему. Она поставляется на
нескольких дистрибутивных дискетах и устанавливается на жесткий диск. При
развертывании системы на жестком диске обычно создается каталог с именем ТР
(или PAS, TURBOPAS, PASCAL и т.п.), в который помещаются все файлы с
дистрибутивных дискет. Для вызова Турбо Паскаля необходимо отыскать в
древовидной структуре каталогов ПК этот каталог и в нем файл TURBO.EXE. Этот
файл содержит готовую к работе диалоговую систему программирования Турбо
Паскаль. В него входят минимально необходимые части Турбо Паскаля (текстовый
редактор, компилятор, компоновщик, загрузчик). Для нормальной работы в
диалоговой среде понадобятся также основная библиотека, располагающаяся в
файле TURBO. TPL, и справочная служба (файл TURBO.HLP).
Пусть перечисленные файлы располагаются в каталоге ТР на диске D. Тогда для
вызова Турбо Паскаля следует дать команду:
D:\TP\TURBO
По этой команде операционная система MS-DOS поставит на исполнение программу
из файла TURBO.EXE: загрузит программу в оперативную память и передаст ей
управление.
Не рекомендуется работать с системой, назначив в качестве каталога по
умолчанию (текущего каталога) тот, в котором хранятся перечисленные выше
файлы (этот каталог будем называть системным). Во-первых, в таком случае
можно ошибочно стереть какой-либо из файлов системы программирования и тем
самым нарушить ее работоспособность, а во-вторых, этот каталог очень скоро
заполнится другими файлами, прямо не относящимися к Турбо Паскалю. Существует
и еще одна причина, по которой нежелательно работать в системном каталоге.
Дело в том, что Турбо Паскаль имеет свойство запоминать свою настройку в двух
файлах с именами TURBO. TP и TURBO.PCK. При вызове система начинает поиск
этих файлов в текущем каталоге.
Если этот каталог - ваш индивидуальный, система всякий раз будет
настраиваться так, как Вы этого хотите.
Если эти файлы не обнаружены в вашем каталог (а при первом обращении к Турбо
Паскалю так оно и будет), система продолжит поиск в системном каталоге, а не
найдя их там, настроится стандартным образом.
Впоследствии можно сохранить настроечные файлы в своем каталоге и тем самым
избавить себя от необходимости перенастройки системы всякий раз при обращении
к ней.
После успешного вызова системы экран ПК приобретает вид,
показанный на рис. 1.
Рис. 1. Вид экрана после вызова Турбо Паскаля
Верхняя строка содержит лменю возможных режимов работы Турбо Паскаля, нижняя
- краткую справку о назначении основных функциональных клавиш. Вся остальная
часть экрана принадлежит окну редактора, очерченному двойной рамкой и
предназначенному для ввода и коррекции текстов программ. В его верхней строке
приводятся имя того дискового файла, откуда был прочитан текст программы
(новому файлу присваивается имя NONAME00.PAS), два специальных поля,
используемых при работе с устройством ввода лмышь (эти поля выделены
квадратными скобками), и цифра 1 - номер окна. В Турбо Паскале можно работать
одновременно с несколькими программами (или частями одной крупной программы),
каждая из которых может располагаться в отдельном окне редактора. Среда
позволяет использовать до 9-ти окон редактора одновременно.
Кроме окна (окон) редактора в Турбо Паскале используются также окна
отладочного режима, вывода результатов работы программы, справочной службы,
стека, регистров. По желанию они могут вызываться на экран поочередно или
присутствовать на нем одновременно.
3.2. Функциональные клавиши
Функциональные клавиши используются для управления средой Турбо Паскаля. Они
обозначаются F1, F2, ...,
F12 и располагаются в самом верхнем ряду клавиатуры. С каждой из этих клавиш
связывается некоторая команда меню. Действие почти всех функциональных клавиш
можно модифицировать тремя особыми клавишами: Alt (от ALTernative -
дополнительный), Ctrl (ConTRoL -управляющий) и Shift (SHIFT- сдвиговый).
Эти клавиши используются подобно клавиши временной смены регистра на пишущей
машинке: нужно нажать на одну из них и затем, не отпуская ее, нажать
функциональную клавишу. В дальнейшем такое
совместное нажатие двух клавиш будем обозначать чертой. Например, Alt-F3
означает, что вместе с клавишей Alt необходимо нажать клавишу F3, Ctrl-F9 -
вместе с Ctrl нажимается F9 и т.д.
Ниже приводятся команды, которые передаются среде Турбо Паскаля
функциональными клавишами и некоторыми их комбинациями с клавишами Ctrl и
Alt: Fl - обратиться за справкой к встроенной справочной службе (Help-
помощь);
F2 - записать редактируемый текст в дисковый файл;
F3 - прочитать текст из дискового файла в окно редактора;
F4 - используется в отладочном режиме: начать или продолжить исполнение
программы и остановиться перед исполнением той ее строки, на которой стоит
курсор;
F5 - распахнуть активное окно на весь экран;
F6 - сделать активным следующее окно;
F7 - используется в отладочном режиме: выполнить следующую строку программы;
если в строке есть обращение к процедуре (функции), войти в эту процедуру и
остановиться перед исполнением первого ее оператора;
F8- используется в отладочном режиме: выполнить следующую строку программы;
если в строке есть обращение к процедуре (функции), исполнить ее и не
прослеживать ее работу;
F9 - компилировать программу, но не выполнять ее;
F10 - перейти к диалоговому выбору режима работы с помощью главного меню;
Ctrl-F9 - выполнить прогон программы: компилировать программу, находящуюся в
редакторе, загрузить ее в оперативную память и выполнить, после чего
вернуться в среду Турбо Паскаля.
Alt-F5 - сменить окно редактора на окно вывода результатов работы (прогона)
программы.
Полное описание функциональны клавиш содержится в прил.1, а сейчас - самый
краткий комментарий. Во-первых, Вам понадобятся команды Ctrl-F9 для проверки
работы Вашей программы и Alt-X - для выхода из Турбо Паскаля. Клавиши F2 и F3
помогут Вам в работе с Вашим каталогом. Командой Alt-F5 Вы в любой момент
сможете просмотреть данные, выданные на экран в результате прогона программы.
4. Техническое задание
При выборе программного продукта на тему: лпрограммирование игровых задач я
выбрал программы связанную с шахматами. Я выбрал из этой тематики такую игры
как шахматные головоломки.
Я предпочел создать в программе только одну задачу, а именно передвижение
ладьи из одной клетки в другую. Но так чтобы его не срубили вражеские фигуры.
Передо мной стала такая задача, как осуществять вставку фигуры в нужную
клетку. У меня было 2 пути:
1. Рассматривать каждую клетку по очереди, но это означало то, что ладья
не сможет переходить на предыдущую клетку;
2. Использовать математические формулы с присваиваиванием и запретами.
Я выбрал второй вариант, так как он проще и не занимает много места в
оперативной памяти, что обеспечивает большую быстроты программы, даже на
более слабых компьютерах.
Системные требования этой программы Ц 133 MHz и 32 Mb оперативной памяти.
Хотя можно использовать и меньше
Вся программа делится на подпрограммы и в основном блоке объединяется. Я
использовал следующие подпрограммы:
1. Закрашивание
procedure zacr(a,q,w,e:integer);
begin
setfillstyle(1,a);
floodfill(q,w,e);
end;
Здесь выполняется закрашивание нужной фигуры или экрана. Необходимо указывать
координаты, цвет заливки и цвет границы заливки.
2. Рисование ладьи:
procedure lad(z,c,v:integer);
begin
setcolor(5);
rectangle(z-25,c+19,z+25,c+29);
rectangle(z-15,c-5,z+15,c+19);
rectangle(z-25,c-21,z+25,c-5);
rectangle(z-25,c-29,z-5,c-20);
rectangle(z+5,c-29,z+25,c-20);
zacr(v,z-24,c+20,5);
zacr(v,z-10,c,5);
zacr(v,z+10,c-10,5);
zacr(v,z-20,c-25,5);
zacr(v,z+10,c-22,5);
end;
Здесь производится рисование шахматной фигуры Ц ладьи. Эта подпрограмма
использует другие подпрограммы, такие как заливка и подпрограмма перевода
вводимых пользователем символов в координаты (рассматривается далее)
Здесь необходимо указывать координаты (в основном блоке программы указываются
переменные x и y, так как им уже присвоили координаты), а также цвет ладьи.
3. подпрограмма рисования шахматной доски:
procedure setka;
begin
setcolor(15);
line(0,0,300,0);
line(300,0,300,300);
line(300,300,0,300);
line(0,0,0,300);
line(0,60,300,60);
line(0,120,300,120);
line(0,180,300,180);
line(0,240,300,240);
line(60,0,60,300);
line(120,0,120,300);
line(180,0,180,300);
line(240,0,240,300);
zacr(2,1,1,15);
zacr(2,121,1,15);
zacr(2,241,1,15);
zacr(2,61,90,15);
zacr(2,181,90,15);
zacr(2,1,150,15);
zacr(2,121,150,15);
zacr(2,241,150,15);
zacr(2,61,210,15);
zacr(2,181,210,15);
zacr(2,1,270,15);
zacr(2,121,270,15);
zacr(2,241,270,15);
zacr(4,61,1,15);
zacr(4,181,1,15);
zacr(4,1,91,15);
zacr(4,121,91,15);
zacr(4,241,91,15);
zacr(4,61,150,15);
zacr(4,181,150,15);
zacr(4,1,210,15);
zacr(4,121,210,15);
zacr(4,241,210,15);
zacr(4,61,270,15);
zacr(4,181,270,15);
setcolor(1);
line(65,125,70,175);
line(70,175,110,175);
line(110,175,115,125);
line(115,125,105,145);
line(65,125,75,145);
line(75,145,90,122);
line(105,145,90,122);
zacr(1,90,150,1);
lad(210,150,1);
lad(270,210,1);
settextstyle(0,0,2);
setcolor(15);
outtextxy(310,30,'A');
outtextxy(310,90,'B');
outtextxy(310,150,'C');
outtextxy(310,210,'D');
outtextxy(310,270,'E');
settextstyle(0,0,1);
setcolor(1);
outtextxy(30,5,'1');
outtextxy(90,5,'2');
outtextxy(150,5,'3');
outtextxy(210,5,'4');
outtextxy(270,5,'5');
end;
Эта подпрограмма рисует квадраты, с помощью линий, закрашивает их, а также
именует клетки.
4. Подпрограмма лсигнализации неправильного или недопустимого хода:
procedure signal;
begin
setcolor(3);
settextstyle(0,1,3);
outtextxy(530,150,'Н. ПОНИМАЮ');
sound(1000);
delay(1000);
nosound;
delay(1000);
zacr(0,490,1,15);
end;
Эта подпрограмма вставляется в другие процедуры, для оповещения
пользователя как визуально так и с помощью звука.
5. Подпрограмма используемая для перевода символов пользователя в
координаты точки:
procedure stav(q,w:char; var d,s,s1,d1:integer);
begin
s1:=s;
d1:=d;
if q='a' then
begin
if w='1' then begin
s:=30;
d:=30;
end;
if w='3' then
begin
s:=30;
d:=150;
end;
end;
if q='e' then
begin
if w='1' then begin
s:=270;
d:=30;
end;
if w='3' then
begin
s:=270;
d:=150;
end;
end;
if (s=30) and (d=30) and (s1=270) and (d1=150) then
begin
q:='e';
w:='3';
end;
if (s1<>s) and (d1<>d)then
begin
s:=s1;
d:=d1;
signal;
end;
if (q<>'a') and (q<>'e') and (w<>'1') and (w<>'3') then
signal;
end;
Это одна из самых сложных частей программы, так как она одновременно
переводит, следит за ошибками и не позволяет вводить координаты запрещенной
клетки. Она осуществлена была с помощью алгоритмов ветвления.
Дальше используемые в программе операции служат для объединения выше
перечисленных подпрограмм и обеспечения нормальной работы программы
(присваивание начальных значений координат и уакзания конечной клетки).
5. Пример работы программы
При запуске программы в начале указывается наназвание и имя и номер курса
написавшего программу (рис.1):
Рис.1 Заставка программы
Дальше при нажатии любой клавиши появляется новое окно, в котором говорится о
задании этой игры. Также в этом окне говорится о том как правильно вводить
команды (рис.2):
Рис.2 Объяснение
При дальнейшей работе появляется основное рабочее окно (рис.3):
Рис. 3 основное окно
При работе программы не возникает особых проблем, она не даст вам возможности
переставить в не существующюю клетку фигуры, а так же перескочить через
основной блок программы сразу в конечную клетку. Проблема при работе состоит
в том, что нет прямого выхода из пограммы, т.е. приходится производить работу
до конца.
Заключение
Во время написания своей курсовой работы по теме: лПрограммирование игровых
программ, я больше освоил язык программирования Паскаль, в виде написания
мультимедийных программ и игр. Также я больше узнал о шахматах и в частности
о шахматных головоломках.
Я узнал о проблеме влияния игр на человека. Проблема влияния компьютера на
человека очень обширна и многогранна. В этой работе были рассмотрены лишь
некоторые аспекты этого вопроса. Я показал, что все игры не одинаковы не
только по задействованным в ее процессе психическим функциям, но и по силе и
глубине своего влияния на личность человека, а также по психологическим
механизмам формирования зависимости. В этом отношении первое место занимают
ролевые игры, которые и представляют наибольший интерес в научных
исследованиях.
Основополагающими я считаю следующие положения:
1. Ролевые игры необходимо отделять от неролевых, т.к. эти они существенно
различаются по мотивации игровой деятельности, причинам формирования
зависимости в силе влияния на психику человека.
2. Исходя из этого психологическая классификация компьютерных игр должна быть
основана на разделении игр на ролевые и неролевые, а не на степени
включенности разных психических функций.
3. При рассмотрении формирования психологической зависимости от компьютерных
игр следует учитывать ее специфику - резкое уменьшение величины зависимости
после прохождения "максимума", в связи с чем игровую зависимость нельзя в
полной мере сравнивать с другими формами зависимостей.
4. Уход от реальности и потребность в принятии роли - может быть не все, но
основные потребности, на которых основан механизм образования психологической
зависимости от компьютерных игр.
Итак, человечество погружается в компьютеры и компьютерные сети, с каждым
Список Использованной литературы
1. Фомичева Ю.В., Шмелев А.Г., Бурмистров И.В. Психологические корреляты
увлеченности компьютерными играми // Вестник МГУ. Сер 14. Психология.
1998. №3. С. 27-39.
2. Фромм Э. Бегство от свободы. М., 1998.
3. Шапкин С.А. Компьютерная игра: новая область психологических
исследований // Психологический журнал, 1999, том 20, №1, с 86-102.
3. Эльконин Д.Б. Психология игры. М., 2000.
4. лУчебник шахматной игры изд. Дрофа М-2000.
5. лPascal 7.0 изд. Кудиц-образ М-2000.
Текст программы
program igra;
uses crt,graph;
var
g,gd,gm,x,y,x1,y1:integer;
b,c:char;
procedure zacr(a,q,w,e:integer); {закрашивание}
begin
setfillstyle(1,a);
floodfill(q,w,e);
end;
procedure lad(z,c,v:integer); {рисование ладьи}
begin
setcolor(5);
rectangle(z-25,c+19,z+25,c+29);
rectangle(z-15,c-5,z+15,c+19);
rectangle(z-25,c-21,z+25,c-5);
rectangle(z-25,c-29,z-5,c-20);
rectangle(z+5,c-29,z+25,c-20);
zacr(v,z-24,c+20,5);
zacr(v,z-10,c,5);
zacr(v,z+10,c-10,5);
zacr(v,z-20,c-25,5);
zacr(v,z+10,c-22,5);
end;
procedure setka; {рисование шахматного поля}
begin
setcolor(15);
line(0,0,300,0);
line(300,0,300,300);
line(300,300,0,300);
line(0,0,0,300);
line(0,60,300,60);
line(0,120,300,120);
line(0,180,300,180);
line(0,240,300,240);
line(60,0,60,300);
line(120,0,120,300);
line(180,0,180,300);
line(240,0,240,300);
zacr(2,1,1,15);
zacr(2,121,1,15);
zacr(2,241,1,15);
zacr(2,61,90,15);
zacr(2,181,90,15);
zacr(2,1,150,15);
zacr(2,121,150,15);
zacr(2,241,150,15);
zacr(2,61,210,15);
zacr(2,181,210,15);
zacr(2,1,270,15);
zacr(2,121,270,15);
zacr(2,241,270,15);
zacr(4,61,1,15);
zacr(4,181,1,15);
zacr(4,1,91,15);
zacr(4,121,91,15);
zacr(4,241,91,15);
zacr(4,61,150,15);
zacr(4,181,150,15);
zacr(4,1,210,15);
zacr(4,121,210,15);
zacr(4,241,210,15);
zacr(4,61,270,15);
zacr(4,181,270,15);
setcolor(1);
line(65,125,70,175);
line(70,175,110,175);
line(110,175,115,125);
line(115,125,105,145);
line(65,125,75,145);
line(75,145,90,122);
line(105,145,90,122);
zacr(1,90,150,1);
lad(210,150,1);
lad(270,210,1);
settextstyle(0,0,2);
setcolor(15);
outtextxy(310,30,'A');
outtextxy(310,90,'B');
outtextxy(310,150,'C');
outtextxy(310,210,'D');
outtextxy(310,270,'E');
settextstyle(0,0,1);
setcolor(1);
outtextxy(30,5,'1');
outtextxy(90,5,'2');
outtextxy(150,5,'3');
outtextxy(210,5,'4');
outtextxy(270,5,'5');
end;
procedure signal;{Сигнализатор неправильного хода}
begin
setcolor(3);
settextstyle(0,1,3);
outtextxy(530,150,'НЕ ПОНИМАЮ');
sound(1000);
delay(1000);
nosound;
delay(1000);
zacr(0,490,1,15);
end;
procedure stav(q,w:char; var d,s,s1,d1:integer);
begin {перевод символов}
s1:=s;
d1:=d;
if q='a' then
begin
if w='1' then begin
s:=30;
d:=30;
end;
if w='3' then
begin
s:=30;
d:=150;
end;
end;
if q='e' then
begin
if w='1' then begin
s:=270;
d:=30;
end;
if w='3' then
begin
s:=270;
d:=150;
end;
end;
if (s=30) and (d=30) and (s1=270) and (d1=150) then
begin
q:='e';
w:='3';
end;
if (s1<>s) and (d1<>d)then
begin
s:=s1;
d:=d1;
signal;
end;
if (q<>'a') and (q<>'e') and (w<>'1') and (w<>'3') then
signal;
end;
begin
gd:=detect;
initgraph(gd,gm,' ');
setcolor(2);
line(0,100,640,100);
zacr(2,0,0,2);
line(0,380,640,380);
zacr(2,600,400,2);
settextstyle(0,0,5);
setcolor(6);
outtextxy(150,220,'Шахматы');
settextstyle(0,0,1);
setcolor(1);
outtextxy(190,80,'Для продолжения нажми ENTER');
settextstyle(0,0,3);
setcolor(8);
outtextxy(80,400,'стелал студент 2 курса');
outtextxy(120,440,'Калимуллин Нарис');
readkey;
zacr(0,10,10,10);
settextstyle(0,0,2);
setcolor(14);
rectangle(40,40,600,440);
line(0,0,40,40);
line(600,440,640,480);
line(40,440,0,480);
line(600,40,640,0);
zacr(3,4,10,14);
zacr(3,620,200,14);
zacr(7,300,30,14);
zacr(7,300,470,14);
zacr(15,50,50,14);
setcolor(0);
outtextxy(180,50,'Добро пожаловать!');
outtextxy(45,100,'ВВы включили игру лшахматные голово-');
outtextxy(45,150,'ломки. В этой игре ты должен пере-');
outtextxy(45,200,'вести ладью в клетку A1.');
outtextxy(220,250,'Желаю удачи!');
outtextxy(45,300,'P.S. для указания места встаки ла-');
outtextxy(45,350,'дьи вводи номер клетки.');
readkey;
zacr(0,1,1,2);
setka;
g:=1;
b:='e';
c:='3';
x:=150;
y:=270;
stav(b,c,x,y,x1,y1);
lad(x,y,15);
while (c<>'1') or (b<>'a') or (g=2) do
begin
readln(b,c);
zacr(0,1,1,14);
setka;
stav(b,c,x,y,x1,y1);
lad(x,y,15);
g:=g+1;
end;
readln;
zacr(0,10,10,10);
settextstyle(0,0,2);
setcolor(14);
rectangle(40,40,600,440);
line(0,0,40,40);
line(600,440,640,480);
line(40,440,0,480);
line(600,40,640,0);
zacr(3,4,10,14);
zacr(3,620,200,14);
zacr(7,300,30,14);
zacr(7,300,470,14);
zacr(15,50,50,14);
setcolor(0);
outtextxy(250,50,'ССпасибо!');
readln;
closegraph;
end.