日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

作者:扶余城里小老二
鏈接:https://www.zhihu.com/question/356351510/answer/1595886454

這可能是一個(gè)長(zhǎng)篇。會(huì)陸續(xù)更新30天。先上圖,證明自己學(xué)過(guò)編程。


 

陪伴我20年的顯示器


 

20年了,還沒(méi)壞。sun公司都倒閉了。當(dāng)年我也是JAVA的迷弟。只不過(guò)后來(lái),我轉(zhuǎn)了全棧。專心搞c++了。我是看《java未眠夜》,入了java的。后來(lái)買了這臺(tái)顯示器。好家伙21寸,1600x1200。現(xiàn)在都?jí)蛴谩?/p>

正題:先說(shuō)一下學(xué)習(xí)歷程,再講突飛猛進(jìn)的點(diǎn)

1 20世紀(jì)八十年代,我爺開(kāi)了一個(gè)超市,里面有個(gè)合作伙伴,上了一臺(tái)雅達(dá)利游戲機(jī)


 

當(dāng)時(shí),我是茶飯不思,等機(jī)器沒(méi)人玩的時(shí)候,我就玩玩《釣魚(yú)》這款游戲。爸爸跟我說(shuō),你想不想將來(lái)長(zhǎng)大了也做一款? 我當(dāng)時(shí)就暗下決心將來(lái)要做游戲。

2 我媽在某行工作(保密),有供員工學(xué)習(xí)的80486電腦,我每當(dāng)有機(jī)會(huì),就去跟班上的程序員學(xué)習(xí)。那個(gè)時(shí)候,他用debug調(diào)試+basic編程,還有cobol語(yǔ)言。我就跟他學(xué)如何用basic做數(shù)學(xué)題,畫幾何圖形。

3 后來(lái)pascal來(lái)了,turbo c也來(lái)了。一路買書跟上。特意買了本強(qiáng)哥寫的《C語(yǔ)言程序設(shè)計(jì)》。


 

4再后來(lái)windows3.11來(lái)了,3。2也來(lái)了。我就開(kāi)始學(xué)習(xí)word和Excel了。當(dāng)然wps也一起學(xué)了。


 

5然后win95來(lái)了,3d max也來(lái)了。特意買來(lái)學(xué)習(xí)。那個(gè)時(shí)候,我是全校最靚的仔。


 

6 win98來(lái)了,vc6來(lái)了,delphi,c++builder也陸續(xù)進(jìn)入眼簾,


 


 

太震撼了,


 

最終,我在mfc和bcb6里,選擇了bcb的拖拽組件。寫代碼。

你問(wèn)我那個(gè)時(shí)候靠什么掙錢?


 


 

7 互聯(lián)網(wǎng)來(lái)了,qt來(lái)了,lua也來(lái)了。 java,js ajax 都來(lái)了。連php也來(lái)了。php,js ajax 還有java都是走馬觀花,在圖書館里,看了半年,都沒(méi)看進(jìn)去,繼續(xù)堅(jiān)定走c++和lua配合路線。

8網(wǎng)絡(luò)游戲來(lái)了,大名鼎鼎的《傳奇》《千年》《紅月》等等。??囱┱搲渤霈F(xiàn)了,我們討論的當(dāng)然是怎么通過(guò) ollydbg 來(lái)了解 網(wǎng)游的構(gòu)造的。(別多想,純技術(shù)學(xué)習(xí))

9《天龍八部》來(lái)了,這個(gè)對(duì)我影響巨大,此時(shí),圈內(nèi)的技術(shù)討論已經(jīng)日益成熟,各種應(yīng)用庫(kù)雨后春筍般出現(xiàn),只要想學(xué)技術(shù),大約20w就能學(xué)會(huì),就能過(guò)當(dāng)時(shí)所有的驅(qū)動(dòng)。很顯然我沒(méi)有去學(xué)(錯(cuò)過(guò)了幾個(gè)億)。這個(gè)游戲,有個(gè)附加程序叫《天龍掃地僧》,是用lua腳本寫腳本。顯然,天龍也是lua和c++,我就在這個(gè)時(shí)期學(xué)習(xí)使用lua腳本。


 


 


 

源文件


 

這是一個(gè)很好的學(xué)習(xí)寶庫(kù)

10 pal5來(lái)了。不知道哪位大哥,還把它的lua源碼給導(dǎo)出來(lái)了。又給我好好地上了一課


 

瞬間明白,當(dāng)時(shí)的單機(jī)游戲的流程控制。

11 區(qū)塊鏈來(lái)了 ,當(dāng)時(shí),我笑話那個(gè),拿30萬(wàn)區(qū)塊的人買一個(gè)漢堡。

12 人皇sky走了, 手游來(lái)了,錯(cuò)過(guò)了。雖然,育碧 tx wy的前員工出來(lái)辦班,大肆宣揚(yáng)手游時(shí)代來(lái)臨,我還是當(dāng)了耳旁風(fēng),繼續(xù)在寫pc端的程序。

13 區(qū)塊鏈開(kāi)始如日中天,各個(gè)群的人都開(kāi)始討論,一些執(zhí)行力強(qiáng)的人,甚至找我參與改個(gè)hash算法,也發(fā)行這玩意。(現(xiàn)在想想,如果那個(gè)時(shí)候就切入,我可能早已經(jīng)改變命運(yùn)了,可惜只是改算法而已。)

14 我來(lái)到了知乎。我不想再沉淪下去,錯(cuò)過(guò)太多了,想要干點(diǎn)什么。于是開(kāi)始重構(gòu)sdlpal(仙劍1民間c源碼),先是做了lua版本,然后又用c++(古典)重構(gòu)。。重構(gòu)完畢很是沮喪,因?yàn)楦杏X(jué)就像個(gè)沒(méi)有靈魂的翻譯。

15 打開(kāi)cpp英文官網(wǎng)和b站的搬運(yùn)c++ 11,14,17的視頻教程。把sdlpal的c++重構(gòu)版升級(jí)17.結(jié)果還是很不開(kāi)心,因?yàn)檫€是那個(gè)老架構(gòu)。新瓶裝舊酒而已。

16 引入了boost coroutine2 將所有層級(jí)架構(gòu)打散,通過(guò)協(xié)程的思想,來(lái)重構(gòu)整個(gè)框架。最終達(dá)到完全解耦的目的。換句話就是說(shuō),不論 圖形sdl,sdl2,qt,ue4,cocos 怎么換,只需修改代理接口即可,跟其他模塊沒(méi)有任何關(guān)聯(lián)。腳本也是,不論是用js腳本,還是lua腳本,還是Python/ target=_blank class=infotextkey>Python腳本系統(tǒng),也僅僅是更換個(gè)代理接口而已,聲音引擎也是一樣。

17 sdlpal將架構(gòu)組件 理論化。(目前正在)

18 通過(guò)重構(gòu)得來(lái)的模塊化架構(gòu)和調(diào)度經(jīng)驗(yàn),去復(fù)刻一款 懷舊游戲(github尚沒(méi)有懷舊版本的源碼)。(下一步)

19 做游戲的怪 自動(dòng)升級(jí),打裝備,搶玩家裝備。(目前所有游戲都欠缺的內(nèi)容,錢途無(wú)量)(下二步)

20 躺著掙錢。。(理想)

瓶頸1: 從0開(kāi)始接觸dos

dos操作系統(tǒng),全是命令行,我那個(gè)時(shí)候,就翻書學(xué)會(huì)了dir cd cd.. 這樣,翻閱各個(gè)目錄,找exe和com文件。這個(gè)階段很快就過(guò)去了。(其實(shí)是遍地找游戲。)


 

瓶頸2:從0 開(kāi)始編程,

小學(xué)1年級(jí),班級(jí)老師新學(xué)期要排座,同學(xué)們都充滿了各種想法,都想讓自己排到心儀的座位。這個(gè)時(shí)候,就開(kāi)始各種不和諧出現(xiàn)了,我那個(gè)時(shí)候,暗下決心等2年級(jí)排座的時(shí)候,能貢獻(xiàn)一份力,證明自己。于是,在程序員老師的建議下,開(kāi)始畫流程圖。當(dāng)然了,都是很簡(jiǎn)單的。


 

然后寫成basic代碼,又看了更復(fù)雜的,一些,就這樣,練了1百個(gè)不到那么多流程圖。


 

既然是排序,就找了最簡(jiǎn)單的 冒泡法??粗鞒虉D的圖形,就嘗試自己寫代碼,然后測(cè)試。用文件做緩存,每個(gè)sub函數(shù)操作完就保存到文件中,然后再用另外一個(gè)sub函數(shù)讀取出來(lái),并操作。


 


 

使用edit文件 編輯文本。把同學(xué)的學(xué)號(hào),身高,男女,都放入進(jìn)去。經(jīng)過(guò)冒泡排序之后,就可以了。然后將運(yùn)算結(jié)果到文件中,打開(kāi)文件就看到排好的序號(hào)了。就這樣,再接再厲,寫了 學(xué)生課程表,學(xué)生成績(jī)查詢。等軟件。就這樣,學(xué)生相關(guān)的微型軟件和流程圖,用了1年的時(shí)間,才能夠流暢先寫需求,再畫圖,再寫代碼,再修改,再畫流程圖。。。然后完成。一直都沒(méi)有圖形化,很是悲傷。


 

理想中,排座??僧?dāng)時(shí)我的basic能力不足。


 

那個(gè)時(shí)候想做這樣的游戲,可是一直沒(méi)有辦法。因?yàn)橹灰龀鲞@樣的,同學(xué)們才會(huì)認(rèn)可我。

瓶頸三 試圖做第一款游戲

求程序員老師,給我畫了張流程圖。因?yàn)檫@種難度的項(xiàng)目自己還是很難想想的。


 

想從basic開(kāi)始做。于是,就從最基礎(chǔ)的畫線開(kāi)始學(xué)習(xí)

 

  1. ①LINE(10,10)-(50,50)
  2. ②LINE(25,25)-(60,60),,B
  3. ③LINE(100,100)-(120,120),,BF
  4. ④LINE-STEP(20,20)
  5. ⑤LINESTEP(30,10)-STEP(60,10)

 

使用一個(gè)函數(shù) 畫一種形狀,這樣一個(gè)一個(gè)打造函數(shù),最后的成果類似于下圖。


 

不是當(dāng)時(shí)的成品圖,在網(wǎng)絡(luò)上找的類似的。

具體跟這個(gè)流程很像,命令行俄羅斯方塊_精神與時(shí)間-CSDN博客

第四點(diǎn)。就這樣,一直沉淪了好久,小學(xué)6年內(nèi),幾乎沒(méi)有什么像樣的進(jìn)展。大量時(shí)間,都在正常學(xué)習(xí),玩游戲,抽卡,以及小姐姐的視聽(tīng)光盤度過(guò)之中。這些東西簡(jiǎn)直就是攔路虎??赡芫褪切枰暨@些東西才行,或者說(shuō)basic還是太簡(jiǎn)單了。能見(jiàn)到的關(guān)于basic的書,都太膚淺了。第一次就準(zhǔn)備轉(zhuǎn)行了,我跟程序員老師說(shuō):“我比別人提前學(xué)了6年的電腦編程,為什么,我的水平跟他們差不多?”老師語(yǔ)重心長(zhǎng)地說(shuō):“小朋友,編程是需要過(guò)程的,小學(xué)6年級(jí),沒(méi)怎么讓你做項(xiàng)目,是因?yàn)閷W(xué)業(yè)很重,畢竟一年52周,咱們?cè)谝黄饘W(xué)習(xí)實(shí)踐也就每年52天。你能學(xué)到多少呢?”我非常生氣地說(shuō):“不行,我比他們提前6年學(xué)電腦,我要有一個(gè)態(tài)度,咱不能讓他們隨便就超過(guò)我?。?rdquo;。老師就說(shuō):“好吧,那就卷起來(lái)吧??!”于是給我一段話,讓我把文字上升到圖形。


 

就這張圖,理解了一周時(shí)間。我問(wèn)老師,什么叫抽象?。坎惶?。于是就有了下圖


 

又過(guò)了一周,我基本搞明白了,從此以后,我不僅僅會(huì)畫流程圖了,還會(huì)畫群組關(guān)系圖了。


 

在這之后,我每每遇到看不懂的內(nèi)容,就用群組關(guān)系圖,來(lái)表達(dá)一些復(fù)雜的分支結(jié)構(gòu)。然后不斷進(jìn)行細(xì)化,層層分級(jí),最終落實(shí)到葉節(jié)點(diǎn)。

再比如,當(dāng)時(shí)為了閱讀一本厚書,畫過(guò)類似的圖


 

第五點(diǎn),突破 ifelse難題。

程序做不大,主要是我對(duì)流程控制和數(shù)據(jù)轉(zhuǎn)發(fā)的不理解。于是,我很氣,氣自己這么不聰明,明明就是9年義務(wù)教育出來(lái)的人,為什么,他們就行,我就不行呢。后來(lái),走投無(wú)路了,我就用編輯器,做了一個(gè)ifelse軟件


 

自從做了這個(gè)軟件,ifelse 和switchcase,就是拖拽實(shí)現(xiàn)了,每當(dāng)有看不懂的邏輯,就讓小精靈sprite來(lái)演示。每一個(gè)方塊里,都是一個(gè)數(shù)據(jù)包,這些數(shù)據(jù)包由lua來(lái)安裝初始化。就這樣,慢慢地我的ifelse邏輯越來(lái)越好了,寫的代碼邏輯bug少了很多。當(dāng)然了,光是這樣,也不能挨個(gè)點(diǎn)每個(gè)方格看啊,于是,就做出來(lái)內(nèi)存表


 

這個(gè)就好很多了,邏輯變換,一目了然,內(nèi)存數(shù)據(jù)也一目了然,隨時(shí)暫停。觀看數(shù)據(jù)組,反正32g內(nèi)存,大到,根本用不完。

這個(gè)軟件就是c++做的,可以看得出來(lái)c++操作內(nèi)存的功力特別雄厚。

第六點(diǎn):內(nèi)存變量可視化,破解盲人摸象誤區(qū)


 

再后來(lái),連表格都不用了,直接在背景里畫數(shù)據(jù)。這么龐大的數(shù)據(jù)量,其實(shí)就是使用指針關(guān)聯(lián)的。這樣的話,哪個(gè)npc動(dòng)了,朝向。坐標(biāo),觸發(fā)事件id,擁有的物品。。等等,都一目了然。就是因?yàn)檫@樣,所有參與者的數(shù)據(jù),在第一時(shí)間內(nèi),都了解到了,對(duì)整個(gè)編程環(huán)境的變化就有了直觀的感知,所有的算法和數(shù)據(jù)結(jié)構(gòu),能用游戲內(nèi)容來(lái)表示,就堅(jiān)決使用。不僅僅自己看得懂,朋友們也看得懂,還有趣。


 

然后,配合命令行,找觸發(fā)的內(nèi)容


 

就這樣,很快就把游戲的運(yùn)行流程,和數(shù)據(jù)流通,以及觸發(fā)機(jī)制,搞明白了。


 

為以后的,模塊分離做好了堅(jiān)實(shí)的基礎(chǔ)。比如這個(gè)是sdl版的pal。將來(lái)要做成qt版的pal呢?


 

第七點(diǎn):如何讓自己脫離沉迷游戲的誤區(qū)。這個(gè)學(xué)會(huì)了,絕對(duì)突飛猛進(jìn)。而且是火箭發(fā)射。


 

這是好多年前做的了,都忘記了什么游戲了,這個(gè)就是研究路該怎么走的。你想想,astar是可以的,navmesh也是可以的??傊辛?走路,就可以節(jié)省很多時(shí)間了。然后就是 找怪,看血,看藍(lán),分析怪的等級(jí),然后查表,選擇打還是跑。再做的就是撿包啊。這些滿滿的都是數(shù)據(jù)結(jié)構(gòu)和算法,指針 還有匯編的應(yīng)用,走的是算法崗。當(dāng)然還有另外一個(gè)途徑,那就是看圖找色。綠色安全,走圖形學(xué)路線。


 

這種實(shí)戰(zhàn),絕對(duì)是成就感爆棚,可做多了,就是千篇一律,毫無(wú)挑戰(zhàn),畢竟這些游戲就是做給青少年的,他們的智力也就那樣了。所以技術(shù)會(huì)了,就趕緊繼續(xù)前進(jìn)。停留的話,過(guò)幾年,你發(fā)現(xiàn),你落伍了,時(shí)代變了,你的競(jìng)爭(zhēng)對(duì)手也變了。因?yàn)楹竺妫€有opencl和cuda,以及各種多線程算法在等著我們?nèi)ヌ魬?zhàn)。反正就是,會(huì)搞這個(gè)了,基本上,對(duì)各種游戲都是,喜歡了,做一套工具,然后就不在玩了,繼續(xù)學(xué)習(xí)新技術(shù)去挑戰(zhàn)了。

大家都知道,編程是需要可持續(xù)性的,也就是說(shuō),要不斷地學(xué)習(xí)和實(shí)踐。第一次突飛猛進(jìn)的點(diǎn)就是接觸了思維導(dǎo)圖,可以一張圖涵蓋一門編程語(yǔ)言的所有的知識(shí)點(diǎn),這張圖該怎么畫呢?很顯然,最初的時(shí)候卻只能看大佬們的作品,可大佬們的作品該如何落地,被我們進(jìn)行拆解,然后再進(jìn)行重組,變成自己的理解方式。這就是事一門學(xué)問(wèn)。對(duì)于任何一個(gè)編程人士來(lái)講,越早接觸,越容易,建立起一套屬于自己的知識(shí)樹(shù)體系。邊學(xué)習(xí),邊構(gòu)思思維導(dǎo)圖,


 

然后再建立起卡片式記憶法。各種抽象知識(shí)點(diǎn)圖示化。

想要學(xué)習(xí)這套方法的同好,可以在關(guān)注夜曲編程之后,回復(fù)“免費(fèi)教程”,就可以領(lǐng)取一份為期20天左右的交互式教程。

要知其然,更要知其所以然。這雖然是一套免費(fèi)教程,可內(nèi)容的構(gòu)思極其精妙。把原本正常的教材里枯燥又孤立的知識(shí)點(diǎn),于是初高中學(xué)英語(yǔ)的卡片式相結(jié)合,更加符合既有的學(xué)生思維模式。構(gòu)筑技巧。以及拆解技巧。

關(guān)注我,帶你學(xué)習(xí)更多編程技巧。

分享到:
標(biāo)簽:編程
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定