Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка Курсовая_upd.docx
Скачиваний:
4
Добавлен:
08.09.2019
Размер:
1.41 Mб
Скачать

3.3 Основні функції гри

Оскільки гра реалізована з використанням об’єкто-орієнтованого підходу, то використовуються функції, що можуть бути реалізовані для об’єктів різних типів. Короткий опис функцій можна переглянути в таблиці 3.1

Таблиця3.1–призначенняфункцій

Функція

Призначення

std::auto_ptr<GameBase> game(new Game());

Запуск гри

void GameBase::run()

Запуск ігрового процесу

void Animation::update(int timeSpan)

Оновлення данних для анімації

void display()

Виклик бібліотеки glut при пере малюванні вікна

void mouse(int button, int state, int x, int y)

Виклик бібліотеки glut при активації кнопок миші

void mouseMotion(int x, int y)

Виклик бібліотеки glut при русі мишкою

void reshape(int width, int height)

Виклик бібліотеки glut при зміні розміру вікна

void Sprite::draw

Малюємо спрайти для фону в меню

void GameOver::draw(int timeSpan, int width, int height)

Малюємо вікно

Texture::Texture()

Робота зі текстурами

void Texture::enable()

Активуємо текстуру

Texture::load(const char* filename)

Завантаження текстур

Level::Level(const char* filename)

Завантаження рівня з текстового файлу

void GameOver::draw(int timeSpan, int width, int height)

Малювання сцени при програші

LevelScreen::LevelScreen(Resources *resources, int levelId, int livesCount)

Малювання вікна з грою

LevelScreen::tryMoveToCell(int xOffset, int yOffset)

Перевірка можливості рухатись в клітинку

Point Level::findHumanPosition()

Пошук позиції персонажу на карті

std::vector<Point> Level::findEmenies()

Пошук ворогів на карті

int Level::getCrystalsCount()

Лічильник кристалів

Закінчення таблиці 3.1

Resources::getTexture(std::string path, std::string name)

Завантажуємо текстуру [4]

Resources::getAnimation(std::string path, std::string name, int framesCount)

Завантажуємо анімацію, яка вказана для об’єкта

Direction Enemy::findDirectionToHuman(Level* level)

Пошук найкоротшої дистанції до персонажу

void LevelScreen::draw(int timeSpan, int width, int height)

Малюємо рівень з текстурами, кристалами, ворогами

void LevelScreen::drawPanel(int width, int height)

Малюємо панель інформації

void LevelScreen::save(const char* fileName)

Збереження координат об’єктів в текстовий файл

LevelScreen* LevelScreen::load(Resources *resources, const char* fileName)

Завантаження гри з файлу, що збережений

void MenuScreen::draw(int timeSpan, int width, int height)

Малювання головного меню

void PauseScreen::draw(int timeSpan, int width, int height)

Малювання меню під час паузи