Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
домашняя работа 2 / ballast / домашняя работа 2.docx
Скачиваний:
17
Добавлен:
11.02.2015
Размер:
42.69 Кб
Скачать

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

«Магнитогорский государственный технический университет им Г.И. Носова»

Кафедра вычислительной техники и прикладной математики

Домашняя работа №2

по дисциплине «Организация ЭВМ» Вариант 3

Выполнил студент группы АВ-08-1: Косолапов И.П.

Проверил: д.т.н. Ячиков И.М.

Магнитогорск 2010г

Содержание

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

2 Постановка задачи 3

3 Инструкция пользователю 3

4 Инструкция для программиста 3

5 Алгоритм программы 4

6 Текст программы 6

Список использованной литературы 12

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

Составить игровую программу «ПИТОН». Периодически через равные промежутки времени на игровом поле появляются «кролики» (псевдографические символы). Вы управляете «питоном» клавишами курсора и пытаетесь их «съесть». При этом увеличивается длина питона, и растут ваши очки и т.п. Режим экрана текстовый.

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

Необходимо написать программу, непрерывно отслеживающую нажатия клавиш UP,DOWN,LEFTиRIGHT. При нажатии этих клавиш, направление движения питона должно соответственным образом измениться. При прохождении через кролика длина питона должна увеличиваться. При столкновении головы питона с другой частью его тела игра должна быть окончена.

  1. Инструкция пользователю

Управление питоном осуществляется нажатием клавиш UP,DOWN,LEFTиRIGHT. При съедании кролика, длина питона увеличивается на одну клетку, счет игры увеличивается на единицу. При соприкосновении пиона с самим собой, игра заканчивается. При выходе питона за границы экрана он отображается с другой стороны. При нажатии на клавишуSPACEигра приостанавливается до повторного нажатия этой клавиши. При нажатии на клавишуENTERигра начинается сначала. При нажатии на клавишуESCпроисходит выход из игры. Счет игры отображается в левом нижнем углу экрана.

  1. Инструкция для программиста

В программе использованы следующие переменные:

python

Массив слов. В каждом слове хранятся координаты клетки, которую занимает питон. В младшем байте хранится абсцисса, в старшем ордината.

head

Указатель на голову питона в его теле.

tail

Указатель на хвост питона в его теле.

score

Количество набранных очков.

prestep

Хранится время предыдущей перерисовки питона.

precr

Хранится время предыдущего появления кролика.

delay

Время задержки движения питона.

dist

Интервал появления кроликов.

key

Нажатая клавиша.

dir

Направление движения.

crash

Флаг столкновения.

pause

Флаг приостановки игры.

exit

Флаг выхода из игры

reset

Флаг показывает, что надо начать игру заново.

В программе использованы следующие процедуры:

main

Основная процедура, в которой в цикле происходит перерисовка питона, появление кроликов и т.д.

init

Инициализация. Присваивает переменным начальные значения, очищает экран, прячет курсор, инициализирует генератор случайных чисел.

clrscr

Очистка экрана.

prtln

Печать разделительной линии.

redraw

Перерисовка питона. Перерисовываются только голова и хвост.

crdraw

Перерисовка питона при столкновении. Рисует окровавленную голову.

topos

По заданным экранным координатам рассчитывает положение в текстовом видеобуфере.

crtpyth

Создает маленького питончика из одной клетки.

getchar

Получение кода нажатой клавиши.

prepare

Подготовка к перерисовке питона. Анализируется нажатая клавиша.

step

Рассчитываются новые координаты питона.

rndmz

Инициализируется генератор случайных чисел.

rnd

Получение случайных координат.

rabbit

Рисует кролика.

wtstep

Ожидает, когда будет можно перерисовать питона.

wtrab

Ожидает, когда будет можно нарисовать нового кролика.

info

Выводит счет игры.

Соседние файлы в папке ballast