@safar1ch

Почему программа заканчивается даже не начавшись?

#include <iostream>
#include <string>

using namespace std;

string bowww{"X"};
bool gameOverStatus;//проигрыш и конец игры
const int height{20}, width{20};//размер поля( height-высота, width-ширина )
int x,y,fruitX,fruitY;//позиции пользователя и фруктов
int mainScore;//игровой счет
enum eDirection
{
    STOP=0,
    LEFT,
    RIGHT,
    UP,
    DOWN
};
eDirection dir;

void Setup()//Setup - при запуске кода, или при ее готовности
{
    gameOverStatus=0;
    dir=STOP;
    x=width/2;
    y=height/2;
    fruitX=rand()%width;
    fruitY=rand()%height;
    mainScore=0;
};
void Draw()//Играет роль прорисовки 2D-графики
{
    system("cls");
    //Продолжение в 7:50
    for(int upJ{0}; upJ<=width; upJ++)//верхняя граница
    {
        cout<<bowww;
    };
    cout<<endl;

    for(int leftJ{0}; leftJ<height; leftJ++)//боковые границы
    {
        for(int leftF{0}; leftF<width; leftF++)//боковые границы по правой и левой части
        {
            if(leftF==0 or leftF==width)
            {
                cout<<bowww;
            };
        };
        cout<<endl;
    };
    cout<<endl;

    for(int downJ{0}; downJ<=width; downJ++)//нижняя граница
    {
        cout<<bowww;
    };
    cout<<endl;
};
void Input()//Отслеживает действия пользователя, при нажатии на клавишу
{
};
void logic()//вся логика и механика игры
{
};

int main()
{
    Setup();
    while (gameOverStatus==1)//пока gameOverStatus НЕ будет равно true или 1, то на жертву пойдут все остальные функции
    {
        Draw();Input();logic();
    };
    
};
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
В Setup вы присваиваете gameOverStatus ноль, а потом в while проверяете его на равность единице (в комментарии пишете при этом противоположное).
Естественно, 0 != 1, цикл не запускается и программа заканчивает исполнение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы