2016-05-13 58 views
0

問題出在這裏:我在Code :: Blocks(C編程)上爲一個學校項目製作了一個Snake版本,並且我試圖在單個代碼中執行同時操作。長話短說,我想播放一首歌曲(「許多連續的嗶嗶聲」),而用戶在給定菜單上選擇他的選項。問題是程序必須等到歌曲完成才能掃描給定的變量,就像在下面的代碼中一樣。與其他命令並行使用「嘟嘟聲功能」?

int main() 
{ 
    song(); 

    scanf(" %c",&option); 

    printf("%c", option); 

    return 0; 
} 

任何建議會更受歡迎。謝謝。

+0

一個明顯的選擇是使用單獨的進程或線程來播放歌曲。 – kaylum

+0

線程是一個非常特定於操作系統的東西,所以如果不知道你正在使用哪個操作系統,我們就無法回答。另外,可能很高興知道你正在使用什麼庫來處理'song()'等東西。 –

回答

-1

我建議你使用不同的線程爲你想同時進行的兩個過程。

看看this有關線程和叉子的問題。

希望這有助於:)

編輯:

正如@Barmar指出需要在第一個鏈接仔細看看關於threads(你的問題比較有用),在那裏你將需要運行一個用於同時需要的每個任務(即蜂鳴和用戶輸入)。

分叉將是有用的,例如,如果您需要複製您的遊戲過程以獲得它們的多個實例。鑑於你問的問題,線程是要走的路。

+1

Fork創建進程,而不是線程。你鏈接的問題說使用'pthread_create()'創建線程。 – Barmar

+0

我鏈接到幾個問題。另外兩個給予叉子更多的參考。正如所指出的,第一個是關於線程的討論。 – DarkCygnus

+1

但他根本不需要使用'fork()'。線程應該適合他的需求。 – Barmar