0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 45
1

Не работает пауза!

20.05.2020, 06:40. Показов 423. Ответов 12
Метки нет (Все метки)

Здравствуйте! Решил по экспериментировать и написал данный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include "windows.h"
#include <string>
#include <fstream>
#include <stdlib.h>
#include <ctime>
#include <stdio.h>
#include <time.h>
#include <fcntl.h>
#include <io.h>
#include <direct.h>
#include<Windows.h>
#include <conio.h>
using namespace std;
int main() {
    bool pause = false;
    char keyb;
    int keyb_code;
    while (true) {
 
        if (_kbhit()) {
 
           keyb = _getch();
           keyb_code = static_cast<int>(keyb);
           cout << keyb_code;
          
        }
        if (keyb_code == 27) {
            system("cls");
            cout << "                PAUSED";
            pause = true;
            keyb_code = 0;
        }
        if (pause == true && keyb_code == 27) {
            system("cls");
            pause = false;
        }
    }
 
 
}
Он должен имитировать паузу при нажатии кнопки Esc но почему-то он не работает.
Не поможете?
Заранее спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2020, 06:40
Ответы с готовыми решениями:

Неправильно работает пауза в while
Задача стоит в том, чтобы показать пошаговое выполнение одного алгоритма. Реализацию самого...

В билдеровском MediaPlayer-е кнопка стоп работает как пауза?
Ребята, кто-нибудь сталкивался с такой проблемой, в билдеровском медиаплеере кнопка стоп, работает...

Не работает пауза в игре
Здравствуйте, у меня проблема с кнопкой &quot;Продолжить&quot; в меню паузы. Есть два скрипта. 1 включает...

Не работает пауза bass.dll
Привет всем...Дело в том что у меня пауза работает...как то на половину. (я использую bass.dll 2.4)...

12
154 / 141 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
20.05.2020, 07:50 2
Пробуй в условии вместо 27 поставить VK_ESCAPE или 0x1B, я не экстрасенс но мне кажется не заходит в цикл, и что значит
while (true)


if (keyb_code == 27)
0
Нарушитель
8292 / 4378 / 1003
Регистрация: 12.03.2015
Сообщений: 20,464
20.05.2020, 07:57 3
Под дебаггером прогонял?
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 45
20.05.2020, 08:07  [ТС] 4
Под дебаггером прогонял?
Да, не помогло
Пробуй в условии вместо 27 поставить VK_ESCAPE или 0x1B, я не экстрасенс но мне кажется не заходит в цикл, и что значит
while (true)
while (true) - бесконечный цикл,
вместо 27 поставить VK_ESCAPE или 0x1B
Не помогло
0
Нарушитель
8292 / 4378 / 1003
Регистрация: 12.03.2015
Сообщений: 20,464
20.05.2020, 08:12 5
Цитата Сообщение от Max12735 Посмотреть сообщение
Да, не помогло
Что это значит? Подробности давай. Телепатов тут нет.
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 45
20.05.2020, 08:15  [ТС] 6
Не работает пауза!
0
Нарушитель
8292 / 4378 / 1003
Регистрация: 12.03.2015
Сообщений: 20,464
20.05.2020, 08:17 7
Max12735, ну, и какие ты делаешь выводы?
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 45
20.05.2020, 08:18  [ТС] 8
Но ведь переменная инициализированна!
0
151 / 103 / 49
Регистрация: 21.11.2019
Сообщений: 285
20.05.2020, 08:21 9
неа, не инициализирована, ей будет присвоено значение если нажмешь кнопку, если нет, то первый иф пропускается и топаем ко второму и тут уже вот, приехали. Задай начальное значение в 18 строке, присвой нулю например.
0
Нарушитель
8292 / 4378 / 1003
Регистрация: 12.03.2015
Сообщений: 20,464
20.05.2020, 08:25 10
Цитата Сообщение от Max12735 Посмотреть сообщение
Но ведь переменная инициализированна!
Ахтунг! Не отлаживал, писал на заборе!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int main() 
{
    bool pause = false;
    char keyb;
    int  keyb_code = 0;
  
    while (true) 
    {
        if (_kbhit()) 
        {
           keyb = _getch();
           keyb_code = static_cast<int>(keyb);
           cout << keyb_code;
          
           if (keyb_code == 27) 
           {
               system("cls");
               cout << "                PAUSED";
               pause = true;
               keyb_code = 0;
            }
        }
        
        if (pause && keyb_code == 27) 
        {
            system("cls");
            pause = false;
        }
        
        Sleep(1);
        YieldProcessor();
    }
}
Добавлено через 1 минуту
Я, ваще-то, хз, что значит "имитировать паузу".
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 45
20.05.2020, 09:40  [ТС] 11
Поправил код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include "windows.h"
#include <string>
#include <fstream>
#include <stdlib.h>
#include <ctime>
#include <stdio.h>
#include <time.h>
#include <fcntl.h>
#include <io.h>
#include <direct.h>
#include<Windows.h>
#include <conio.h>
using namespace std;
int main() {
    bool pause = false;
    char keyb;
    int keyb_code = 0;
    while (true) {
 
        if (_kbhit()) {
 
           keyb = _getch();
           keyb_code = static_cast<int>(keyb);
           cout << keyb_code;
          
        }
        if (keyb_code == VK_ESCAPE) {
            system("cls");
            cout << "                PAUSED";
            pause = true;
            keyb_code = 0;
        }
        if (pause == true && keyb_code == 27) {
            system("cls");
            pause = false;
        }
    }
 
 
 
}
на паузу ставится , но не снимается
0
154 / 141 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
20.05.2020, 09:59 12
Ну теперь не заходит в цикл снятия паузы, отладчиком посмотри заходит в цикл
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 45
20.05.2020, 10:25  [ТС] 13
Заходит, но не снимается
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2020, 10:25
Помогаю со студенческими работами здесь

Пауза на 7 секунд или пауза до нажатия клавиши
Для загрузчика надо сделать паузу, длящуюся 7 секунд, во время которой, если пользователь нажмет...

Пауза не работает после выхода в меню
Здравствуйте, есть такой скрипт, все работает, но когда выхожу в меню, а потом снова загружаю сцену...

Клавиатура - не работает пауза (pause-break)
Подскажите что делать, может я и не туда обратился ещё. Установил не давно игры стратегии а в них...

Использование AxWindowsMediaPlayer, некорректно работает пауза - трек играет сначала
Здравствуйте.. Работаю в среде Visual Studio 2008 для воспроизведение мультимедийного файла...

Пауза
Не без вашей помощи никак :drink: в общем, нужен скрипт паузы то есть, пример : Private...

Пауза
Здравствуйте) как реализовать паузу в плеере с помощью winmm.dll есть команда pause, которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru