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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
#1

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

14.03.2009, 16:48. Просмотров 1899. Ответов 14
Метки нет (Все метки)

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

Как сделать, чтобы функции работали "независимо" одна от другой? - C++
Есть такой код, в нем несколько функций. invert - инвертирует введеную строку; сount - считает количество цифр в строке; del - удаляет...

Как сделать, чтобы два проекта с разной кодировкой работали в одном объединённом проекте? - C++
Добрый день подскажите есть два проекта в одном стоит многобайтовая кодировка в другом юникод, по отдельности все нормально компилируется...

как сделать что бы когда нажал выбор кокого нить пункта, а он выделялся и с помощью Enter я подтверждаю что выбираю - C++
Ребят как сделать что бы когда нажал выбор кокого нить пункта, а он выделялся и с помощью Enter я подтверждаю что выбираю.пожалуйста пример

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер? - C++
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим так: void f (); void f () { int per= 10; } ...

Подскажите, почему значению функции присваивается true? Что сделать чтобы передавалось значение? - C++
#include<iostream> #include<math.h> using namespace std; template<typename T> T f1(T a, T b) { if (a == 0){ cout << "no...

Как сделать что бы программа не завершалась - C++
И тут написал простую программу вот ее код #include <iostream> using namespace std; int main() { int a =0; cout << "Enter...

Как сделать что бы находило наибольшое значение? - C++
Как сделать что бы находило наибольшое значение? То есть пользователь пишет a b c три числа и из них показывало наибольшее? В консоле...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
14.03.2009, 16:54     Как сделать что бы 2 функции работали одновременно #2
используй прерывания.. например пулька пролетела один пиксель вызывается функция движения танка, если кнопка нажата то танк двигается и пулька летит дальше, если не двигаетсья пулька всёравно летит дальше...
PB
Просто прогер
1278 / 1065 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
14.03.2009, 16:57     Как сделать что бы 2 функции работали одновременно #3
Используй процедуру, вызываемую по таймеру либо запускай процедуру в параллельном потоке.
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 17:04  [ТС]     Как сделать что бы 2 функции работали одновременно #4
Цитата Сообщение от PB Посмотреть сообщение
Используй процедуру, вызываемую по таймеру либо запускай процедуру в параллельном потоке.
как вызывать поралельный поток???
PB
Просто прогер
1278 / 1065 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
14.03.2009, 17:45     Как сделать что бы 2 функции работали одновременно #5
Я Си не знаю - проги на бейсике пишу. там параллельный поток создаётся с помощью функции
PureBasic
1
CreateThread(@ProcedureName(), Value)
Mecid
679 / 228 / 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
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
14.03.2009, 20:29     Как сделать что бы 2 функции работали одновременно #7
ага, только эта функция относится к win api и значит windows.h
Mecid
679 / 228 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 20:36     Как сделать что бы 2 функции работали одновременно #8
Точно)сорри забыл
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 21:05  [ТС]     Как сделать что бы 2 функции работали одновременно #9

да но я ща игру пишу в консоли =(
Mecid
679 / 228 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 21:10     Как сделать что бы 2 функции работали одновременно #10
Ну и?
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
679 / 228 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
14.03.2009, 21:21     Как сделать что бы 2 функции работали одновременно #12
ну приведи к нужному типу
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
14.03.2009, 22:08  [ТС]     Как сделать что бы 2 функции работали одновременно #13
хм неполучаеться

Добавлено через 7 минут 55 секунд
а рабочии пример может кто то зделать с потоком????с выводом на экран
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++
Проблема в том что углы вводятся в радианах а нужно в градусах. Подскажите плз как єто осуществить. Вот исходник // Переход от...

А как сделать что бы случайное число было от 20 - 50? - C++
Нужно получить случайное число в диапазоне к примеру от 0 - 50; int i = rand()%51; А как сделать что бы случайное число было от 20 -...

Как сделать что бы карты выводились рандомом? - C++
Здравствуйте, подскажите пожалуйста, что тут нужно дописать что бы карты выводились не по порядку, а в разброс(перетасованы)? Заранее...

Как сделать так что бы выводило не -1.#IND - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; class A { double x,y,z; double b; public: void...

Как сделать выходные параметры у функции? - C++
мне нужно чтобы переменная s сохраняла свое значение после работы функции(которая на самом деле процедура, токо я не знал как по другому...


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

Или воспользуйтесь поиском по форуму:
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 функции работали одновременно
Ответ Создать тему
Опции темы

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