Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Casper!
15 / 14 / 2
Регистрация: 02.09.2008
Сообщений: 168
#1

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

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

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

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

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

Можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву
подскажите можно ли сделать так чтобы к классу можно было бы одновременно...

Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе?
#include <iostream> using namespace std; int main(){ double...

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

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

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

Добавлено через 7 минут 55 секунд
а рабочии пример может кто то зделать с потоком????с выводом на экран
0
Ensase
Флудер
192 / 30 / 11
Регистрация: 23.03.2007
Сообщений: 334
14.03.2009, 22:50 #14
msdn
2
Вложения
Тип файла: txt example.txt (740 байт, 69 просмотров)
Casper!
15 / 14 / 2
Регистрация: 02.09.2008
Сообщений: 168
15.03.2009, 11:03  [ТС] #15
прибольшое спосибо,я читал в масдае но я там примера не нашол,у меня какая та лаит версия ,все собераюсь поменять руки не доходят,гуглил так там примера еще хуже чем описания в масдае,
дальше я сам уже разберусь по эксперементирую =)

Добавлено через 11 часов 35 минут 49 секунд
вернемся к началу как хотелось от результата потоки не работают или я опять не правильно что то делаю,кто хочет помочь ??? я скину код там все есть надо только 1 метод прилипить и все =),в коде будут коментарии написано на ВС 2008 С++
0
15.03.2009, 11:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2009, 11:03

Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала?
#include &lt;graphics.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include...

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер?
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим...

Подскажите, почему значению функции присваивается true? Что сделать чтобы передавалось значение?
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; template&lt;typename...


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

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

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