C語(yǔ)言問(wèn)題 回調(diào)函數(shù)用法
回調(diào)函數(shù)最大的優(yōu)點(diǎn)就可以解耦.
讓程序結(jié)構(gòu)更加固定.
回調(diào)函數(shù),就是把函數(shù)當(dāng)做形參,傳入另一個(gè)函數(shù)中.

選擇不同角色進(jìn)入游戲.

進(jìn)一步優(yōu)化,
加入函數(shù)指針.
在游戲初始化時(shí),只需要填充相應(yīng)角色到指針中.

給pf指向不同的函數(shù),執(zhí)行的效果不同:
分別進(jìn)行執(zhí)行:


如果三個(gè)人物的函數(shù),功能都一樣,
那么可以進(jìn)行傳參,實(shí)現(xiàn)不同的功能.
但是現(xiàn)在游戲中三個(gè)人物的功能差異太大,結(jié)構(gòu)也不同.實(shí)現(xiàn)的代碼量不一樣.
所以不能單純靠傳參改變,這個(gè)時(shí)候,就可以用回調(diào)函數(shù)了.
回調(diào)函數(shù)用到了:
1,函數(shù)指針 (也可以不用)
2,函數(shù)作為形參

這樣的好處就是,
游戲中再添加新的人物,就只需要?jiǎng)?chuàng)建一個(gè)人物的.c 和 .h文件.
游戲的主體框架不用動(dòng),
把人物的樹(shù)葉,安裝到游戲的樹(shù)干上就可以了...
游戲主體,就像樹(shù)干一樣,可以永遠(yuǎn)不用改變. 只需要改變接口的參數(shù).
標(biāo)簽: