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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
titans2011
296 / 257 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
#1

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

01.08.2011, 15:39. Просмотров 586. Ответов 5
Метки нет (Все метки)

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

Параллельное вычисление - C++
Необходимо реализовать последовательный и параллельный алгоритм вычисления факториала N!. Есть только последовательный расчёт. Если кто...

Клавиши F1-F12 в консоли, и работа с мышкой в консоли - C++
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор мышки (и еще мне надо бы узнать нажатие...

считывание с консоли ( не с клавы, а именно с консоли) - C++
нужно написать функцию которая возвращает string в котором написано 500 символов которые были выведены в консоли от начала. среда :...

Параллельное программирование - C++
Как составить параллельную программу вычисления среднего арифметического элементов вектора?

Параллельное программирование - C++
Подскажите, пожалуйста, как в PUTTY начать редактировать файл?

Параллельное программирование на C++ - C++
Вот например происходит какое то действие, это действие длится 5 минут. И вот я запускаю это действие и жду, жду, жду, и тут мне надоело...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.08.2011, 15:42 #2
GetAsyncKeyState
titans2011
296 / 257 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
01.08.2011, 22:34  [ТС] #3
Спасибо большое!
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
02.08.2011, 21:19 #4
Deviaphan, а можете описать как ею пользоваться или пример какой маленький набросать на пару строк. Очень интересно, но что-то информации по её использованию конкретно для с++ я не нашёл, у мелкософта и то только на бейсике пример.
niXman
Эксперт C++
3134 / 1446 / 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
Форумчанин
Эксперт С++
4518 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,267
Записей в блоге: 2
Завершенные тесты: 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;
}
хотя, имхо, в данном случае лучше буфер консоли читать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2011, 22:13
Привет! Вот еще темы с ответами:

Параллельное программирование - C++
Кто-нибудь использовал в своей жизни? Если да, то какой? И были ли положительные результаты в плане ускорения? О, да... Может, кто CUDA...

Параллельное программирование - C++
Нужно написать простейшую программу для кластера. Читал про MPI, но там тоже есть выбор: из boost-а, OpenMPI, OpenMP, который...

параллельное программирование - C++
Клиент серверное приложение. Суть - в реализации обычного чата. Оба устройства коннекятся через клиент-серверный сокет. Всё работает ок. Но...

Параллельное программирование - C++
У меня есть задание: Коллективные операции. Работа имитирует реальный поиск в параллельной базе данных. Некоторое множество записей...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.08.2011, 22:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru