編程語言可以做游戲開發(fā)嗎,編程能不能自學(xué)?
朋友們好,我是電子及工控技術(shù),我來回答這個(gè)問題。首先肯定一點(diǎn)的是,編程是完全可以自學(xué)的,并且只要掌握了中學(xué)水平的知識(shí)就可以學(xué)會(huì)。下面我來給朋友們分享一下我是如何自學(xué)單片機(jī)編程語言的。
學(xué)習(xí)編程需要方法我記得最初學(xué)習(xí)單片機(jī)編程語言是學(xué)的匯編語言,在當(dāng)時(shí)比較流行的單片機(jī)是MSC-C51為內(nèi)核的芯片,比如AT89C51/AT89S51等,我在初期學(xué)習(xí)單片機(jī)時(shí),聽說匯編語言比較接近單片機(jī)的底層,我想為了幫助自己更好地理解單片機(jī)內(nèi)部的結(jié)構(gòu),我自己買來了一本單片機(jī)匯編語言教程,自己一條指令一條指令的理解,我大約花了二個(gè)月的時(shí)間終于啃下了這111條指令。接下來我又自己弄一些電子元器件,自己焊接組裝一個(gè)簡(jiǎn)易的單片機(jī)實(shí)驗(yàn)板,剛學(xué)習(xí)的時(shí)候,板子上的元器件不需要很多,一般配備發(fā)光二極管、數(shù)碼管、按鍵、蜂鳴器就夠了。然后我從網(wǎng)上下載一些關(guān)于單片機(jī)編程的視頻,按照“鸚鵡學(xué)舌”的方法,把視頻上的小程序跟著抄下來,下載到單片機(jī)中觀察現(xiàn)象,初期的時(shí)候肯定
在編譯程序時(shí)會(huì)出現(xiàn)各種問題,有的程序你明明跟視頻上的一摸一樣,但是當(dāng)你編譯時(shí),要么會(huì)出現(xiàn)語法錯(cuò)誤;要么會(huì)出現(xiàn)標(biāo)點(diǎn)符號(hào)上的錯(cuò)誤。這時(shí)候是最能考驗(yàn)自己的毅力了,我們必須要有耐心。
當(dāng)我們通過多次的修改,成功點(diǎn)亮一個(gè)小燈或者數(shù)碼管的時(shí)候,對(duì)于我們這樣的初學(xué)者來說是最喜悅的時(shí)刻,它會(huì)給你增添學(xué)習(xí)的動(dòng)力,也會(huì)使我們一步步喜歡上單片機(jī)。當(dāng)我們按照人家視頻上的程序進(jìn)行“照搬照抄”,并且能夠順利地編譯下載成功的時(shí)候,就說明了我們已經(jīng)過了“鸚鵡學(xué)舌”這一階段了。
接下來,我們一定要勤動(dòng)手,一定不要感覺自己會(huì)了圖省事,自己復(fù)制粘貼別人的程序。我們要做的是“照葫蘆畫瓢”,先關(guān)掉視頻,按照自己對(duì)程序的理解再敲一遍程序,對(duì)于有些程序段不理解的我們甚至先死記硬背下來,這樣經(jīng)過多次的默寫背誦代碼,編寫便理解,這樣不出一個(gè)星期就會(huì)出效果。
當(dāng)我們把“照葫蘆畫瓢”這一關(guān)克服之后,我們就可以通過修改別人的程序來達(dá)到自己想要的控制功能了,這一階段我把它稱之為“他山之石,可以攻玉”。當(dāng)我們能夠通過修改別人的程序,達(dá)到自己的控制目的,這就說明我們已經(jīng)把這個(gè)程序理解地八九不離十了。
最后的階段就是理論結(jié)合實(shí)際了,我們可以自己編寫一些簡(jiǎn)單實(shí)用的小程序,比如電子鐘、交通燈、搶答器以及計(jì)分牌等。我們?cè)谧詫W(xué)編程時(shí)要有信心、要有耐心和恒心,有不達(dá)目的不罷休的毅力。通過三個(gè)月的學(xué)習(xí),我認(rèn)為基本上能夠入門。
我在學(xué)習(xí)單片機(jī)編程上走了一些彎路,以我的學(xué)習(xí)經(jīng)歷看,對(duì)于想要快速掌握單片機(jī)編程的朋友,我認(rèn)為直接學(xué)單片機(jī)C語言就可以了。我們知道匯編語言雖然效率高,執(zhí)行速度快,但是在它的組織結(jié)構(gòu)和修改維護(hù)方面比較麻煩,每條語句讀起來比較晦澀難懂。我建議最好直接學(xué)習(xí)單片機(jī)C語言,這也是目前編程領(lǐng)域使用的主流語言之一。以上就是我的看法,歡迎朋友們討論、分享你的經(jīng)驗(yàn)和感受。感謝點(diǎn)贊并關(guān)注電子及工控技術(shù)。
游戲開發(fā)可以在哪里學(xué)習(xí)?
當(dāng)你在吃雞,王者農(nóng)藥的時(shí)候是否有想過如何才能做出一款這樣讓人神迷的游戲?
游戲開發(fā)這個(gè)方向看起來目標(biāo)很明確,但其實(shí)是個(gè)領(lǐng)域很廣的方向,入門的時(shí)候如果得不到指點(diǎn)一二,很容易誤入歧途,相反,如果走這條路之前能得到前人的一些指引,是可以事半功倍的。
下面就結(jié)合自己的學(xué)習(xí)歷程和大家分享下游戲開發(fā)的學(xué)習(xí)路線。
1.介紹
游戲開發(fā)分為客戶端和服務(wù)端兩條不同的路線,路線不同,所需的技能也不同。
但有些技能還是通用的,比如都需要掌握基礎(chǔ)開發(fā)語言,數(shù)據(jù)結(jié)構(gòu)與算法,計(jì)算機(jī)網(wǎng)絡(luò)等。
2.游戲客戶端學(xué)習(xí)路線
1.首先,一開始可能對(duì)游戲引擎沒什么概念,建議先入門一兩個(gè)游戲引擎(我推薦可以先去學(xué)習(xí)Cocos2d-x和Unity3D兩個(gè)引擎,市面上大多數(shù)游戲是利用這兩個(gè)引擎開發(fā)的)。入門階段要做的就是看該引擎的教程(書籍、視頻、網(wǎng)上博客、網(wǎng)上教程、官方幫助文檔等),并且熟練該引擎所使用的編程語言。
因?yàn)椴煌脚_(tái)下的性能不同,支持的編程語言也不盡相同,所以針對(duì)不同平臺(tái)下的流行的游戲引擎也是不同的。下面列舉一些現(xiàn)在流行的游戲引擎。
windows或游戲主機(jī):【Unreal】、寒霜、CE3
蘋果IOS:【unity3D】、【cocos2d-x】、【Unreal】、sparrow、sprite kit。
安卓:【unity3D】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。
網(wǎng)頁:【Egret】、【cocos2d-js】、Fancy3D、unity3D。
當(dāng)然并不是不同平臺(tái)的游戲開發(fā),就毫無共通之處,學(xué)了這個(gè)到了另一個(gè)平臺(tái)就無用了。不是這樣的,編程的世界里你走得越遠(yuǎn)你會(huì)發(fā)現(xiàn)很多東西的本質(zhì)都是相似的,例如你如果扎實(shí)地理解了C++的基本語法,日后再轉(zhuǎn)Java語言也不是很難的事情,因?yàn)樗鼈儽举|(zhì)的面向?qū)ο筇匦赃€有各種編程語言特性都是相通的。
2. 因?yàn)橛螒蜷_發(fā)就是一門實(shí)時(shí)渲染的藝術(shù),所以離不開圖形庫(kù)的學(xué)習(xí)。現(xiàn)在主流的圖形庫(kù)是Windows平臺(tái)專用的DirectX 11和通用平臺(tái)的Opengl。這兩個(gè)圖形庫(kù),至少需要入門其中一個(gè)。
3.然后,你就可以開始看計(jì)算機(jī)圖形學(xué)的書籍了。如果你發(fā)現(xiàn)你的理論底子不足,這個(gè)時(shí)候就需要補(bǔ)一下線性代數(shù)、基本的微積分、還有3D數(shù)學(xué)的知識(shí)。
4.游戲引擎中包含了各個(gè)部分,上面的渲染只是游戲引擎的一部分。還有其它諸如著色器編寫、地形編寫、物理引擎編寫、模型和動(dòng)畫、人工智能體設(shè)計(jì)、網(wǎng)絡(luò)編程等等,完成渲染部分的基本學(xué)習(xí)后,你可以選擇自己感興趣的部分進(jìn)行專攻,畢竟我們實(shí)際工作大多數(shù)時(shí)候是團(tuán)隊(duì)開發(fā),而不是單打獨(dú)斗,每個(gè)人都應(yīng)該精通自己所擅長(zhǎng)的那部分。
5.至此,獨(dú)自開發(fā)一款小型游戲已經(jīng)完全不在話下了。也具備了加入公司合力開發(fā)一款大型游戲的能力。
3.游戲服務(wù)端學(xué)習(xí)路線
1.首先需要熟悉一門服務(wù)端語言,比如C/C++、PHP等,會(huì)使用一個(gè)開發(fā)框架。
2.會(huì)在服務(wù)器上搭建環(huán)境,拿lamp來說linux和apache、mysql、php四者擔(dān)任的角色要清楚。大多服務(wù)器會(huì)選擇搭建在Linux環(huán)境下,所以也需要熟悉Linux操作命令。
3.至少熟悉一種數(shù)據(jù)庫(kù)。比如關(guān)系型數(shù)據(jù)庫(kù)mysql,能熟練寫出增刪改的語句和不算很復(fù)雜的查詢語句,再比如了解各種方式的多表查詢有哪些不同等數(shù)據(jù)庫(kù)技能也是需要的。
4.了解網(wǎng)絡(luò)編程及多線程等。比如http通信協(xié)議。跨平臺(tái)的交互一般http是使用比較廣泛的,需要大體了解,你得清楚請(qǐng)求報(bào)文通常包含哪些部分、常見的服務(wù)器返回碼對(duì)應(yīng)的含義。
5.會(huì)使用至少一種數(shù)據(jù)格式。服務(wù)端和客戶端建立了聯(lián)系,數(shù)據(jù)的傳輸也需要一種協(xié)議格式去統(tǒng)一。json是目前使用率最高的格式了。json的數(shù)據(jù)格式還是簡(jiǎn)單明了易學(xué)的,主要是要了解如何使用它較好的去定義接口。
關(guān)于學(xué)習(xí)路線,我覺得對(duì)于學(xué)習(xí)者,尤其是初學(xué)者來說,非常有用,它的作用就是一幅地圖,讓你在浩瀚的知識(shí)叢林不至于迷失方向,甚至放棄在 99% 的地方。
作為一個(gè)過來人,我深知初學(xué)者的迷茫和無助,我當(dāng)初也走了很多彎路。現(xiàn)在有些坑我替大家踩了,分享我總結(jié)的學(xué)習(xí)路線,是希望大家能站在我的肩膀上走的更遠(yuǎn)更容易些。
孩子今年上一年級(jí)了整天打游戲不學(xué)習(xí)?
您的這個(gè)問題是兩個(gè)問題,您想問的應(yīng)該是:孩子上一年級(jí)了整天打游戲不學(xué)習(xí)怎么辦?學(xué)習(xí)一下兒童編程語言是不是可以解決整天打游戲的問題或是把壞處變成好處?我想說后者并不是解決前者的辦法。
剛好我家兒子今年也上一年級(jí)了。他也喜歡打游戲,但也喜歡上學(xué),喜歡閱讀,喜歡戶外運(yùn)動(dòng),喜歡拼搭等等。游戲只是娛樂之一,并沒有沉迷。我們家平時(shí)沒有看電視玩游戲時(shí)間,只有周末有,每天不超過2小時(shí)。從幼兒園開始就如此。
整天打游戲就說明孩子已經(jīng)完全沉迷不能控制自己,所以一定會(huì)影響其它更重要的事情,甚至?xí)雎运麄儭1热缯f學(xué)習(xí),課外閱讀,戶外運(yùn)動(dòng)等等。長(zhǎng)此以往不僅影響學(xué)習(xí)成績(jī),影響健康,更影響成長(zhǎng)。所以您急需解決的就是打游戲的問題。孩子現(xiàn)在才一年級(jí),現(xiàn)在改變壞習(xí)慣相對(duì)來說還是比較容易的,給您提幾點(diǎn)建議,希望對(duì)您有所幫助:
1、從現(xiàn)在開始在打游戲這件事情上建立規(guī)則,加以約束。可以跟孩子談一談,但不管他是否愿意,必須要有規(guī)則,在規(guī)則下給孩子適當(dāng)?shù)淖杂伞1热缯f從每天打游戲變成周末可以打游戲,每次不超過2小時(shí)。至于打什么游戲,只要內(nèi)容健康他可以自己選擇。什么時(shí)間打,他可以自己做主。
2、管好家里電子設(shè)備的密碼,讓電子產(chǎn)品遠(yuǎn)離孩子的房間。想玩沒法玩
3、陪伴孩子找到更有趣的事兒,比如說親子閱讀,戶外運(yùn)動(dòng),一起做游戲等等,其實(shí)很多孩子剛開始并不是因?yàn)橄矚g游戲,而不是缺少陪伴,沒有更有趣的事兒。他們更喜歡父母的陪伴。從現(xiàn)在開始特別是剛開始約束了游戲以后,一定要陪伴孩子找到更多有趣的事兒,分散注意力。
4、最后,因?yàn)橐呀?jīng)養(yǎng)成習(xí)慣,突然被限制游戲自由,孩子一定會(huì)用各種方式反抗。但我們一直要堅(jiān)持我們的底線和原則。我們堅(jiān)持住了,孩子也就能接受了,慢慢的習(xí)慣就改變了。
不管是好習(xí)慣的養(yǎng)成還是壞習(xí)慣的改變,都是孩子越小越容易,我們能堅(jiān)持原則和底線也會(huì)容易。所以啊,從現(xiàn)在開始改變自己的行為,告訴孩子規(guī)則,管好密碼,不要妥協(xié)。幫助孩子盡快從游戲中走出來。
上班又帶娃的80后寶媽,帶的好團(tuán)隊(duì)帶的了娃。頭條青云計(jì)劃獲獎(jiǎng)?wù)撸c萬千媽媽分享育兒經(jīng)驗(yàn),都來自于自己的實(shí)踐。歡迎關(guān)注,獲取更多的育兒知識(shí),成為更好的媽媽。以上就是關(guān)于編程語言可以做游戲開發(fā)嗎和編程能不能自學(xué)的相關(guān)問題解答,希望對(duì)你有所幫助。