網(wǎng)絡(luò)游戲的網(wǎng)絡(luò)編程,現(xiàn)在一般的游戲或者軟件都用什么語言編程?
這里有兩個(gè)問題,一個(gè)是C和C++的區(qū)別和聯(lián)系,而是如何進(jìn)行應(yīng)用軟件開發(fā)。
C++比C語言更復(fù)雜,也完全兼容C的語法,不僅提供了面向?qū)ο蟮奶匦裕€加入了模版元編程,直接把復(fù)雜度提升了一個(gè)檔次。但也別有畏難情緒,C++的基本語法都很簡(jiǎn)單,包括模版,主要是看熟練程度,有些東西也不用刻意去學(xué),包括一些語法糖,實(shí)際項(xiàng)目中很少用到,所以那些說C++怎么怎么復(fù)雜,怎么怎么難學(xué)的,聽聽就好別當(dāng)真,可以說只要掌握面向?qū)ο螅私饣镜哪0婢幊蹋炀毷褂胹tl或boost(里面的東西不需要全掌握,只掌握重點(diǎn)的容器、算法,boost的asio就可以了),就可以開始工作了。
軟件開發(fā)這個(gè)話題太廣,如果你熟悉了C/C++,到了這個(gè)階段,就可以熟悉各種API了,如win32或posix等,比如可以看Windows程序設(shè)計(jì)或Linux程序設(shè)計(jì)等這類書籍。
就目前來看C\C++的路的確越來越窄,桌面開發(fā)可以選擇Qt,但是windows還是推薦使用.net,C++僅作為備選方案,隨著互聯(lián)網(wǎng)和云計(jì)算的盛行,C++在這方面基本沒什么用武之地,本來以為可以在物聯(lián)網(wǎng)上大展宏圖,結(jié)果半路殺出一個(gè)python,隨后連Ubuntu都將其作為官方開發(fā)語言,這也是一個(gè)悲傷的故事。
但對(duì)于嵌入式工程師,C/C++這個(gè)目前還無法替代,而且門檻極高,要熟悉Linux架構(gòu),會(huì)對(duì)內(nèi)核進(jìn)行裁剪,要為特定硬件編寫驅(qū)動(dòng),需要豐富的軟硬件知識(shí)積累。
游戲目前主流的編程語言是C#,各大主流的商業(yè)游戲引擎,如unity,cryengine等都使用C#,目前只有unreal4采用的C++,當(dāng)然unreal4也可以采用藍(lán)圖。像前幾年盛行的cocos2dx也是采用C++,但目前基本已經(jīng)淘汰了。
游戲編程對(duì)數(shù)學(xué)能力要求較高,首先需要掌握高等數(shù)學(xué)和線性代數(shù)等理論知識(shí),然后看一些計(jì)算機(jī)圖形學(xué)的相關(guān)知識(shí),伴隨著這些理論知識(shí)的學(xué)習(xí)掌握相關(guān)的圖形api,比如OpenGL或directx,如果是從事移動(dòng)端,需要學(xué)習(xí)opengl es,而OpenGL es是在OpenGL上精簡(jiǎn)而來的,拋離了OpenGL中的固定功能管線,采用可編程管線,即shader(shader是一種類c語言,語法很簡(jiǎn)單,但需要一定的數(shù)學(xué)功底才能寫好),所以要重點(diǎn)學(xué)習(xí)OpenGL 3.0以上的版本。在這之后就可以開始學(xué)習(xí)游戲引擎了,有了上面的知識(shí),游戲引擎就想對(duì)簡(jiǎn)單了,就相當(dāng)于使用ide。
簡(jiǎn)單的計(jì)算器編程游戲?
圖形計(jì)算器。絕大多數(shù)圖形計(jì)算器是可編程的,所以可以用來玩游戲,簡(jiǎn)單的包括貪吃蛇、俄羅斯方塊等,復(fù)雜的,ti nspire cx(德州儀器)這個(gè)型號(hào)甚至可以運(yùn)行GBA模擬器從而玩GBA游戲。
除了游戲之外,當(dāng)然也可以用來寫其他程序,不過數(shù)學(xué)方面的肯定不如用電腦上的matlab等數(shù)學(xué)軟件了。
編寫一個(gè)貪吃蛇游戲?qū)懨鳂?gòu)思?
用鏈表來存儲(chǔ)蛇身體的位置,有一個(gè)指向蛇頭的指針。
根據(jù)蛇的移動(dòng)方向,在蛇頭前加一節(jié)蛇身,去掉蛇的最后一節(jié),這樣就實(shí)現(xiàn)了蛇的移動(dòng)了。定一個(gè)Timer,每秒重畫一次,根據(jù)蛇的位置將其畫出即可。以上就是關(guān)于網(wǎng)絡(luò)游戲的網(wǎng)絡(luò)編程和現(xiàn)在一般的游戲或者軟件都用什么語言編程的相關(guān)問題解答,希望對(duì)你有所幫助。