[問題] 遊戲計時器

作者: RuRuXe (魯魯魯魯魯魯)   2015-01-07 17:34:58
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
DEV C++
問題(Question):
用C寫了一個小遊戲 需要在加入倒數計時器才完成
但是發現只要倒數計時器運作 遊戲就沒辦法動
雖然GOOGLE到執行緒 但是小弟是初學者短時間內還沒辦法參透
附上程式碼希望板上各位高手給個提示和概念讓我知道哪裡錯了
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
int main(void)
{
作者: lc85301 (pomelocandy)   2015-01-07 19:29:00
這程式就陷到while loop 裡,不執行下面的do loop 了所以需要兩個執行緒,一個跑遊戲程式一個跑計時器你要簡單一點可以把這兩個loop 寫在一起=w=
作者: iloveyouever (佚名)   2015-01-07 22:02:00
thread 然後把計時的funtion 丟給他執行 就可以了
作者: ACMANIAC (請肥宅救救肥宅)   2015-01-08 00:41:00
遊戲程式在 return 0; 後面?這樣怎麼跑?另外,一定要用多執行緒,搞不懂就別寫了。
作者: Killercat (殺人貓™)   2015-01-08 01:52:00
其實是可以single thread的#1KcwFJFn 不過你設計整個要改就是那篇後面提到的timerfd都算是multi-thread 看前面就好
作者: littleshan (我要加入劍道社!)   2015-01-08 11:06:00
先把主流程改成update loop的形式 (參考Killercat)然後看你要用state machine或coroutine都很好這地方不該用thread,遊戲中要計時的物件很多如果每個都用thread,race condition會搞死你
作者: ACMANIAC (請肥宅救救肥宅)   2015-01-08 15:57:00
原來如此,受教了。

Links booklink

Contact Us: admin [ a t ] ucptt.com