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

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

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

這可能是一個長篇。會陸續更新30天。先上圖,證明自己學過編程。


 

陪伴我20年的顯示器


 

20年了,還沒壞。sun公司都倒閉了。當年我也是JAVA的迷弟。只不過后來,我轉了全棧。專心搞c++了。我是看《java未眠夜》,入了java的。后來買了這臺顯示器。好家伙21寸,1600x1200。現在都夠用。

正題:先說一下學習歷程,再講突飛猛進的點

1 20世紀八十年代,我爺開了一個超市,里面有個合作伙伴,上了一臺雅達利游戲機


 

當時,我是茶飯不思,等機器沒人玩的時候,我就玩玩《釣魚》這款游戲。爸爸跟我說,你想不想將來長大了也做一款? 我當時就暗下決心將來要做游戲。

2 我媽在某行工作(保密),有供員工學習的80486電腦,我每當有機會,就去跟班上的程序員學習。那個時候,他用debug調試+basic編程,還有cobol語言。我就跟他學如何用basic做數學題,畫幾何圖形。

3 后來pascal來了,turbo c也來了。一路買書跟上。特意買了本強哥寫的《C語言程序設計》。


 

4再后來windows3.11來了,3。2也來了。我就開始學習word和Excel了。當然wps也一起學了。


 

5然后win95來了,3d max也來了。特意買來學習。那個時候,我是全校最靚的仔。


 

6 win98來了,vc6來了,delphi,c++builder也陸續進入眼簾,


 


 

太震撼了,


 

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

你問我那個時候靠什么掙錢?


 


 

7 互聯網來了,qt來了,lua也來了。 java,js ajax 都來了。連php也來了。php,js ajax 還有java都是走馬觀花,在圖書館里,看了半年,都沒看進去,繼續堅定走c++和lua配合路線。

8網絡游戲來了,大名鼎鼎的《傳奇》《千年》《紅月》等等。。看雪論壇也出現了,我們討論的當然是怎么通過 ollydbg 來了解 網游的構造的。(別多想,純技術學習)

9《天龍八部》來了,這個對我影響巨大,此時,圈內的技術討論已經日益成熟,各種應用庫雨后春筍般出現,只要想學技術,大約20w就能學會,就能過當時所有的驅動。很顯然我沒有去學(錯過了幾個億)。這個游戲,有個附加程序叫《天龍掃地僧》,是用lua腳本寫腳本。顯然,天龍也是lua和c++,我就在這個時期學習使用lua腳本。


 


 


 

源文件


 

這是一個很好的學習寶庫

10 pal5來了。不知道哪位大哥,還把它的lua源碼給導出來了。又給我好好地上了一課


 

瞬間明白,當時的單機游戲的流程控制。

11 區塊鏈來了 ,當時,我笑話那個,拿30萬區塊的人買一個漢堡。

12 人皇sky走了, 手游來了,錯過了。雖然,育碧 tx wy的前員工出來辦班,大肆宣揚手游時代來臨,我還是當了耳旁風,繼續在寫pc端的程序。

13 區塊鏈開始如日中天,各個群的人都開始討論,一些執行力強的人,甚至找我參與改個hash算法,也發行這玩意。(現在想想,如果那個時候就切入,我可能早已經改變命運了,可惜只是改算法而已。)

14 我來到了知乎。我不想再沉淪下去,錯過太多了,想要干點什么。于是開始重構sdlpal(仙劍1民間c源碼),先是做了lua版本,然后又用c++(古典)重構。。重構完畢很是沮喪,因為感覺就像個沒有靈魂的翻譯。

15 打開cpp英文官網和b站的搬運c++ 11,14,17的視頻教程。把sdlpal的c++重構版升級17.結果還是很不開心,因為還是那個老架構。新瓶裝舊酒而已。

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

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

18 通過重構得來的模塊化架構和調度經驗,去復刻一款 懷舊游戲(github尚沒有懷舊版本的源碼)。(下一步)

19 做游戲的怪 自動升級,打裝備,搶玩家裝備。(目前所有游戲都欠缺的內容,錢途無量)(下二步)

20 躺著掙錢。。(理想)

瓶頸1: 從0開始接觸dos

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


 

瓶頸2:從0 開始編程,

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


 

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


 

既然是排序,就找了最簡單的 冒泡法。看著流程圖的圖形,就嘗試自己寫代碼,然后測試。用文件做緩存,每個sub函數操作完就保存到文件中,然后再用另外一個sub函數讀取出來,并操作。


 


 

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


 

理想中,排座。可當時我的basic能力不足。


 

那個時候想做這樣的游戲,可是一直沒有辦法。因為只要做出這樣的,同學們才會認可我。

瓶頸三 試圖做第一款游戲

求程序員老師,給我畫了張流程圖。因為這種難度的項目自己還是很難想想的。


 

想從basic開始做。于是,就從最基礎的畫線開始學習

 

  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)

 

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


 

不是當時的成品圖,在網絡上找的類似的。

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

第四點。就這樣,一直沉淪了好久,小學6年內,幾乎沒有什么像樣的進展。大量時間,都在正常學習,玩游戲,抽卡,以及小姐姐的視聽光盤度過之中。這些東西簡直就是攔路虎。可能就是需要消化掉這些東西才行,或者說basic還是太簡單了。能見到的關于basic的書,都太膚淺了。第一次就準備轉行了,我跟程序員老師說:“我比別人提前學了6年的電腦編程,為什么,我的水平跟他們差不多?”老師語重心長地說:“小朋友,編程是需要過程的,小學6年級,沒怎么讓你做項目,是因為學業很重,畢竟一年52周,咱們在一起學習實踐也就每年52天。你能學到多少呢?”我非常生氣地說:“不行,我比他們提前6年學電腦,我要有一個態度,咱不能讓他們隨便就超過我啊?”。老師就說:“好吧,那就卷起來吧!!”于是給我一段話,讓我把文字上升到圖形。


 

就這張圖,理解了一周時間。我問老師,什么叫抽象啊?不太懂。于是就有了下圖


 

又過了一周,我基本搞明白了,從此以后,我不僅僅會畫流程圖了,還會畫群組關系圖了。


 

在這之后,我每每遇到看不懂的內容,就用群組關系圖,來表達一些復雜的分支結構。然后不斷進行細化,層層分級,最終落實到葉節點。

再比如,當時為了閱讀一本厚書,畫過類似的圖


 

第五點,突破 ifelse難題。

程序做不大,主要是我對流程控制和數據轉發的不理解。于是,我很氣,氣自己這么不聰明,明明就是9年義務教育出來的人,為什么,他們就行,我就不行呢。后來,走投無路了,我就用編輯器,做了一個ifelse軟件


 

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


 

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

這個軟件就是c++做的,可以看得出來c++操作內存的功力特別雄厚。

第六點:內存變量可視化,破解盲人摸象誤區


 

再后來,連表格都不用了,直接在背景里畫數據。這么龐大的數據量,其實就是使用指針關聯的。這樣的話,哪個npc動了,朝向。坐標,觸發事件id,擁有的物品。。等等,都一目了然。就是因為這樣,所有參與者的數據,在第一時間內,都了解到了,對整個編程環境的變化就有了直觀的感知,所有的算法和數據結構,能用游戲內容來表示,就堅決使用。不僅僅自己看得懂,朋友們也看得懂,還有趣。


 

然后,配合命令行,找觸發的內容


 

就這樣,很快就把游戲的運行流程,和數據流通,以及觸發機制,搞明白了。


 

為以后的,模塊分離做好了堅實的基礎。比如這個是sdl版的pal。將來要做成qt版的pal呢?


 

第七點:如何讓自己脫離沉迷游戲的誤區。這個學會了,絕對突飛猛進。而且是火箭發射。


 

這是好多年前做的了,都忘記了什么游戲了,這個就是研究路該怎么走的。你想想,astar是可以的,navmesh也是可以的。總之有了 走路,就可以節省很多時間了。然后就是 找怪,看血,看藍,分析怪的等級,然后查表,選擇打還是跑。再做的就是撿包啊。這些滿滿的都是數據結構和算法,指針 還有匯編的應用,走的是算法崗。當然還有另外一個途徑,那就是看圖找色。綠色安全,走圖形學路線。


 

這種實戰,絕對是成就感爆棚,可做多了,就是千篇一律,毫無挑戰,畢竟這些游戲就是做給青少年的,他們的智力也就那樣了。所以技術會了,就趕緊繼續前進。停留的話,過幾年,你發現,你落伍了,時代變了,你的競爭對手也變了。因為后面,還有opencl和cuda,以及各種多線程算法在等著我們去挑戰。反正就是,會搞這個了,基本上,對各種游戲都是,喜歡了,做一套工具,然后就不在玩了,繼續學習新技術去挑戰了。

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


 

然后再建立起卡片式記憶法。各種抽象知識點圖示化。

想要學習這套方法的同好,可以在關注夜曲編程之后,回復“免費教程”,就可以領取一份為期20天左右的交互式教程。

要知其然,更要知其所以然。這雖然是一套免費教程,可內容的構思極其精妙。把原本正常的教材里枯燥又孤立的知識點,于是初高中學英語的卡片式相結合,更加符合既有的學生思維模式。構筑技巧。以及拆解技巧。

關注我,帶你學習更多編程技巧。

分享到:
標簽:編程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定