Форум программистов, компьютерный форум CyberForum.ru

Параллельное вычисление в консоли - C++

Восстановить пароль Регистрация
 
titans2011
293 / 254 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
01.08.2011, 15:39     Параллельное вычисление в консоли #1
Привет всем. Решил я сделать тетрис. Как известно, фигура движется в низ, с определённой скоростью, и при этом программа, следя за клавишами, может перемещать объект. Трудность возникла вот в чём. Допустим задержку спуска объекта можно реализовать с помощью Sleep(1000), а узнать, какую клавишу нажал пользователь, с помощью функции getch(). Получается, что программа доходит функции getch(), и ждёт, пока я введу символ, а только потом отсчитывает секунду и спускает объект, и в цикле опять всё это повторяется. Вопрос вот в чём. Есть ли такая процедура, которая прерывала функцию getch(), что бы программа смогла сместить объект в низ, и с помощью цикла опять работала? Или можно как-то распараллелить задачу? Может в консоли это невыполнимо?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2011, 15:39     Параллельное вычисление в консоли
Посмотрите здесь:

C++ параллельное выполнение
Параллельное программирование C++
C++ Параллельное программирование
Параллельное программирование C++
Параллельное программирование в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.08.2011, 15:42     Параллельное вычисление в консоли #2
GetAsyncKeyState
titans2011
293 / 254 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
01.08.2011, 22:34  [ТС]     Параллельное вычисление в консоли #3
Спасибо большое!
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
02.08.2011, 21:19     Параллельное вычисление в консоли #4
Deviaphan, а можете описать как ею пользоваться или пример какой маленький набросать на пару строк. Очень интересно, но что-то информации по её использованию конкретно для с++ я не нашёл, у мелкософта и то только на бейсике пример.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
02.08.2011, 21:24     Параллельное вычисление в консоли #5
Gepar, первая ссылка в гугле: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.08.2011, 22:13     Параллельное вычисление в консоли #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<Windows.h>
 
int main(){
    for(int i=0;i<5;i++){
        std::cout<<"\rYou have "<<5-i<<" sec for press UP, RIGHT, DOWN or LEFT";
        Sleep(1000);
    }
    if( GetAsyncKeyState(VK_UP) ||
        GetAsyncKeyState(VK_RIGHT)||
        GetAsyncKeyState(VK_DOWN)||
        GetAsyncKeyState(VK_LEFT))
           std::cout<<"\nKey was pressed!\n";
    else std::cout<<"\nKey was not pressed!\n";//с английским туго))
    return 0;
}
хотя, имхо, в данном случае лучше буфер консоли читать.
Yandex
Объявления
02.08.2011, 22:13     Параллельное вычисление в консоли
Ответ Создать тему
Опции темы

Текущее время: 20:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru