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

Как сделать что бы 2 функции работали одновременно - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 16:48     Как сделать что бы 2 функции работали одновременно #1
Здраствуите,подскажите пожалуисто что надо сделать что бы 2 функции работали одновременно,я делаю игру танчики ,допустим танчик едит я нажемаю энтер и выстреливает пулька ,проблема- пока пуля не достигнет цели или конца поля танчик недвигаеться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2009, 16:48     Как сделать что бы 2 функции работали одновременно
Посмотрите здесь:

Как из дружественной функции сделать метод C++
Как сделать выходные параметры у функции? C++
C++ определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер?
C++ Как сделать что бы программа не завершалась
как сделать что бы когда нажал выбор кокого нить пункта, а он выделялся и с помощью Enter я подтверждаю что выбираю C++
C++ Как сделать, чтобы функции работали "независимо" одна от другой?
Как сделать что бы угол вводился в градусах C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ABTOP
 Аватар для ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
14.03.2009, 16:54     Как сделать что бы 2 функции работали одновременно #2
используй прерывания.. например пулька пролетела один пиксель вызывается функция движения танка, если кнопка нажата то танк двигается и пулька летит дальше, если не двигаетсья пулька всёравно летит дальше...
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
14.03.2009, 16:57     Как сделать что бы 2 функции работали одновременно #3
Используй процедуру, вызываемую по таймеру либо запускай процедуру в параллельном потоке.
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 17:04  [ТС]     Как сделать что бы 2 функции работали одновременно #4
Цитата Сообщение от PB Посмотреть сообщение
Используй процедуру, вызываемую по таймеру либо запускай процедуру в параллельном потоке.
как вызывать поралельный поток???
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
14.03.2009, 17:45     Как сделать что бы 2 функции работали одновременно #5
Я Си не знаю - проги на бейсике пишу. там параллельный поток создаётся с помощью функции
PureBasic
1
CreateThread(@ProcedureName(), Value)
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 20:22     Как сделать что бы 2 функции работали одновременно #6
На Си тоже CreatThread
C
1
2
3
4
5
6
7
8
HANDLE CreateThread(
    LPSECURITY_ATTRIBUTES lpThreadAttributes,   // pointer to thread security attributes  
    DWORD dwStackSize,  // initial thread stack size, in bytes 
    LPTHREAD_START_ROUTINE lpStartAddress,  // pointer to thread function 
    LPVOID lpParameter, // argument for new thread 
    DWORD dwCreationFlags,  // creation flags 
    LPDWORD lpThreadId  // pointer to returned thread identifier 
   );
Пример:
C
1
2
3
4
5
6
7
#include <stdio.h>
void f(){printf("privet");}
int main(){
int a;
CreateThread(NULL,0,f,NULL,0,&a);
return 0;
}
Ensase
Флудер
 Аватар для Ensase
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
14.03.2009, 20:29     Как сделать что бы 2 функции работали одновременно #7
ага, только эта функция относится к win api и значит windows.h
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 20:36     Как сделать что бы 2 функции работали одновременно #8
Точно)сорри забыл
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 21:05  [ТС]     Как сделать что бы 2 функции работали одновременно #9

да но я ща игру пишу в консоли =(
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 21:10     Как сделать что бы 2 функции работали одновременно #10
Ну и?
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 21:17  [ТС]     Как сделать что бы 2 функции работали одновременно #11
ошибку выдает тот пример что ты написал

Добавлено через 3 минуты 20 секунд
ошибку выдает тот пример что ты написал
Error 1 error C2664: 'CreateThread' : cannot convert parameter 3 from 'void (__cdecl *)(void)' to 'LPTHREAD_START_ROUTINE' c:\documents and settings\casper\рабочий стол\tank\tank\jnknklh.cpp 23
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 21:21     Как сделать что бы 2 функции работали одновременно #12
ну приведи к нужному типу
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 22:08  [ТС]     Как сделать что бы 2 функции работали одновременно #13
хм неполучаеться

Добавлено через 7 минут 55 секунд
а рабочии пример может кто то зделать с потоком????с выводом на экран
Ensase
Флудер
 Аватар для Ensase
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
14.03.2009, 22:50     Как сделать что бы 2 функции работали одновременно #14
msdn
Вложения
Тип файла: txt example.txt (740 байт, 65 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2009, 11:03     Как сделать что бы 2 функции работали одновременно
Еще ссылки по теме:

Как сделать что бы карты выводились рандомом? C++
C++ Можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву
Подскажите, почему значению функции присваивается true? Что сделать чтобы передавалось значение? C++
Как сделать ввод в аргумент(ы) функции? C++
C++ Как сделать, чтобы два проекта с разной кодировкой работали в одном объединённом проекте?

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

Или воспользуйтесь поиском по форуму:
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
15.03.2009, 11:03  [ТС]     Как сделать что бы 2 функции работали одновременно #15
прибольшое спосибо,я читал в масдае но я там примера не нашол,у меня какая та лаит версия ,все собераюсь поменять руки не доходят,гуглил так там примера еще хуже чем описания в масдае,
дальше я сам уже разберусь по эксперементирую =)

Добавлено через 11 часов 35 минут 49 секунд
вернемся к началу как хотелось от результата потоки не работают или я опять не правильно что то делаю,кто хочет помочь ??? я скину код там все есть надо только 1 метод прилипить и все =),в коде будут коментарии написано на ВС 2008 С++
Yandex
Объявления
15.03.2009, 11:03     Как сделать что бы 2 функции работали одновременно
Ответ Создать тему
Опции темы

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