Проблема с кодом на с++ - Вопросы по С+

Вопрос Проблема с кодом на с++

Регистрация
1 Сен 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
Почему когда я запускаю код, окно сразу-же закрывается

(библеотеки)

(размеры окна)

struct Digit {

sf::RectangleShape rect;

sf::Text text;

bool active;

};

(рандомное число)

std::pair<int, int> calculateBullsAndCows(const std::string& guess, const std::string& secret) {

int bulls = 0, cows = 0;

for (int i = 0; i < SECRET_NUMBER_LENGTH; ++i) {

if (guess == secret) {

++bulls;

}

else if (secret.find(guess) != std::string::npos) {

++cows;

}

}

return { bulls, cows };

}

int main() {

(вывод рандомного числа)

sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "Быки и коровы");

(шрифт)

std::vector<Digit> digits;

for (char c = '0'; c <= '9'; ++c) {

Digit d;

d.rect.setSize({ 60, 60 });

d.rect.setOutlineThickness(2);

d.rect.setOutlineColor(sf::Color::Black);

d.rect.setFillColor(sf::Color::White);

d.text.setFont(font);

d.text.setString(std::string(1, c));

d.text.setCharacterSize(36);

d.active = true;

digits.push_back(d);

}

int x = 20, y = 80;

for (int i = 0; i < digits.size(); ++i) {

digits.rect.setPosition(x, y);

digits.text.setPosition(x + 15, y + 12);

x += 70;

if ((i + 1) % 5 == 0) {

x = 20;

y += 70;

}

}

std::string currentInput;

while (window.isOpen()) {

sf::Event event;

while (window.pollEvent(event)) {

if (event.type == sf::Event::Closed) {

window.close();

}

if (event.type == sf::Event::MouseButtonReleased &&

event.mouseButton.button == sf:🐭:Left)

{

sf::Vector2i mousePos = sf:🐭:getPosition(window);

for (int i = 0; i < digits.size(); ++i) {

if (digits.active && digits.rect.getGlobalBounds().contains(mousePos.x, mousePos.y)) {

currentInput += digits.text.getString();

if (currentInput.size() >= SECRET_NUMBER_LENGTH) {

std::pair<int, int> result = calculateBullsAndCows(currentInput, secretNumber);

if (result.first == SECRET_NUMBER_LENGTH) {

std::cout << "Вы выиграли! Секретное число было: " << secretNumber << std::endl;

window.close();

}

else {

std::cout << "Быки: " << result.first << ", Коровы: " << result.second << std::endl;

}

currentInput.clear();

}

}

}

}

}

sf::Text inputText;

inputText.setFont(font);

inputText.setString(currentInput);

inputText.setCharacterSize(48);

inputText.setPosition(20, 20);

window.clear(sf::Color::White);

for (int i = 0; i < digits.size(); ++i) {

window.draw(digits.rect);

window.draw(digits.text);

}

window.draw(inputText);

window.display();

}



return 0;

}
 
Регистрация
23 Ноя 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
int main() {
// Генерация секретного числа
std::string secretNumber = generateRandomNumber(SECRET_NUMBER_LENGTH);
std::cout << "Секретное число: " << secretNumber << std::endl;

// Создание окна
sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "Быки и коровы");
std::cout << "Окно создано." << std::endl;

// Загрузка шрифта
sf::Font font;
if (!font.loadFromFile("path/to/font.ttf")) {
std::cerr << "Не удалось загрузить шрифт!" << std::endl;
return -1;
}
std::cout << "Шрифт загружен." << std::endl;

// Остальной код...

while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
std::cout << "Окно закрыто событием." << std::endl;
}
// Дополнительные отладочные сообщения
}
// Рендеринг
}

return 0;
}
 
Регистрация
4 Дек 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
Я HTML еле изучил. Это что за хрень?
 
Сверху Снизу