Форум программистов, компьютерный форум, киберфорум
Наши страницы

Не исчезают сердца при потере жизни в игре - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Параллельные прямые http://www.cyberforum.ru/cpp-beginners/thread985549.html
Есть два отрезка на плоскости, координаты точек известны. Нужно изменить координаты второй линии так, чтоб она стала параллельно первой на определенном пользователем расстоянии... Прошу помочь в...
C++ fstream, string, random Вопрос такой, есть структура struct StructEmployee {; int id; string surname; string name; string patronymic; string appointment; string education; int... http://www.cyberforum.ru/cpp-beginners/thread985533.html
C++ Робота из символьными строками
За індивідуальним завданням створити функцію для обробки символьних рядків. За зразок брати бібліотечні функції обробки рядків мови C, але не застосовувати їх у своїй функції. Передбачити обробку...
Определить седловые точки матрицы C++
Доброго времени суток. Задали написать программу на C++, вот задание: "Дана целочисленная матрица. Определить: 1) Кол-во отрицательных элементов строк, которые содержат хотя бы один нулевой элемент;...
C++ переделать сортировку на метод Шелла http://www.cyberforum.ru/cpp-beginners/thread985502.html
#include "stdafx.h" #include <iostream> #include<cstdlib> #include<ctime> using namespace std; int main () {const int n=3;const int m=3; int a; srand(time(NULL)); int i,j;
C++ Ссылка не тему в форуме Добрый день. Не могу найти тот топик (в cyberforum.ru) в котором при рекурсивном вызове main() выводилась стихотворение. Автор вроде или Стауструп или Керниган и Ритчи. Дайте, пожалуйста ссылку, если... подробнее

Показать сообщение отдельно
dimakozyr
158 / 25 / 1
Регистрация: 17.08.2013
Сообщений: 467

Не исчезают сердца при потере жизни в игре - C++

23.10.2013, 13:08. Просмотров 1470. Ответов 46
Метки (Все метки)

В игре есть три жизни, соответственно, отображаются три сердца.
Если жизнь пропадает, то сердце должно пропадать.
Когда жизни заканчиваются, игра заканчивается, все нормально, но вот сердец все время отображается три

Структура со счетчиком жизни и методами для работы с ним
// file1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct DrawScene {    
      DrawScene() : livesOfPlayer(MAXIMUM_LIVES) {}
 
        int getLivesOfPlayer()
        { return livesOfPlayer; }
 
    void livesOfPlayerMinuse()
        { livesOfPlayer--; }
 
    void setLivesOfPlayerToMax()
        { livesOfPlayer = MAXIMUM_LIVES; }
  private:
      int livesOfPlayer;
          enum { MAXIMUM_LIVES = 3 };
}
Проверка количесова жизней и отрисовка сердец
// file1.cpp
C++
1
2
3
4
5
6
7
8
9
10
someFunc1() {
        if (livesOfPlayer == 3)  // Выполняется только это условие
        // Отображение трех сердец
 
    else if (livesOfPlayer == 2)  // До сюда компилятор не доходит
        // Отображение двух сердец
 
    else if (livesOfPlayer == 1)
        // Отображение одного сердца
}
// file2.cpp
C++
1
2
3
4
5
6
7
void someFunc2() {
        if (isButtonPressed == false)  // Если на кнопку не нажали, одна жизнь пропадает
        o_DrawScene.livesOfPlayerMinuse();
 
    if (o_DrawScene.getLivesOfPlayer() <= 0)    // Если жизни закончились
        o_DrawScene.setLivesOfPlayerToMax();
}
Если в констукторе вручную задать 1,2,3 то столько сердец и отображается, тут все нормально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.