回覆列表
-
1 # 飛馳網
-
2 # 叫我蘇鑫阿
和你打遊戲一樣,小時候打遊戲剛開始不熟,就老死,後來熟悉了就能見到最終boss了,但是最終boss怎麼也打不過去,後來看別人攻略,原來得這樣打boss啊!恍然大悟。
程式設計也一樣,剛開始入門難,熟悉了能開發8成需求,遇見特別難的自己沒思路看看別人咋搞得自己模仿一下,沒別人搞你搞出來了那就牛了,你可以成為你們村的孩子王,但是不是人人都有機會當孩子王的。
“程式”這個詞,可以翻譯成“方法”或“步驟”,例如:張三丰同志符合組織程式,升任武當派掌門。
現在你明白“程式”這兩個字的意思了吧。
現在說說你的問題,程式碼如何變成遊戲,用俄羅斯方塊舉例:
1、這個遊戲首先需要一個個形狀各異的方塊,咱們把它稱為基礎素材,需要讓作圖的美工把這些圖片一個個做出來,就好像零件一樣放到一個類似資料夾的地方待用。(開發行業稱之為:資源包,資源包可不止幾個圖片,有可能還有文字稿、影片、音訊等)
2、拋開遊戲不談,你有沒有想過,為什麼滑鼠指標會跟著你控制動?為什麼你按下鍵盤螢幕上會有字?為什麼螢幕會根據你控制而顯示不同的畫面?其實這都是作業系統(暫時狹義的理解為Windows)在幫你工作。
它透過硬體輸入裝置(鍵盤、滑鼠)得到你操作的意圖,然後指揮輸出裝置(顯示器),把結果告訴你。
3、第二部分概念如果你理解了,那麼咱們回到這個該死的遊戲話題:所有的程式設計師開發軟體都無需理會如何讓滑鼠運動、如何讓鍵盤工作,因為這部分工作作業系統幫你幹了,作業系統的開發商會公佈一本書,上面告訴你在開發的時候如何透過一串文字程式碼控制裝置工作。
例如:在你不碰電腦的情況下,執行程式碼後——讓你的滑鼠移動下、螢幕亮一下、音箱響一下等等。
這本書我們叫開發手冊或api手冊,它把作業系統每個角落,可以控制地方的對應編碼都寫的明明白白,每一個控制區我們暫時把它稱為:介面
例如:你在某種開發環境下輸入message.show
就會彈出一個Windows標準樣式的警告框。(開發環境指的是供程式設計師編寫程式碼的工作介面,類似於打字員用word一樣。)
同理:這些程式碼也只能在對應語法的開發環境下有效,你把這個程式碼寫在word裡,肯定是不能執行的,也就彈不出那個警告框。所謂的“對應語法”,是因為現在的開發語言很多,例如c語言程式碼也只能在C語言的開發環境下執行,Java語言也只能在Java環境下執行。
上面道理如果都明白的話,現在我們編寫這個俄羅斯方塊的程式:
方塊下落:緩緩下落,需要呼叫到一個時間控制器介面,讓它在每500毫秒(也就是半秒),把方塊在螢幕的座標位置更新一下,這樣你的肉眼就會覺得方塊有下落效果。
方塊轉向:需要用一個鍵盤控制器介面,作業系統開始偵聽你的鍵盤動作,得到按鍵動作後,把使用者按了哪個鍵告訴你這個程式,程式得到具體按鍵後,根據你預設的條件將方塊圖片旋轉x個角度。
例如:你預設w鍵左轉90° e鍵右轉90°
程式設計師就是這樣一行行程式碼實現的遊戲。
最後遊戲開發完畢,進行“編譯”操作,這個程式碼就可以脫離開發環境,在其他電腦上運行了。
最後的話:你知道一件事如何去辦,那你就等於知道幹這件事的方法(程式)。你用word列印一篇工作流程,這其實就是給人看的程式。如果你用程式碼把這個流程描述出來,它就是電腦程式。
給人看的流程檔案,有時候根據人不同而描述的詳細程度不同,
例如:你讓你愛人下樓取快遞,只需要說“芷若,下樓幫我取快遞”即可。
如果你讓你兒子下樓取快遞,可能會說:“兒子,下樓取快遞,順豐的、白色車子,快去快回,不許順路找小紅”
電腦程式面對各式各樣的人群(甚至有不懷好意的駭客),所以一個優秀的程式設計師,編寫程式就好比你對兒子下達任務一樣,需要描述的維度儘可能廣,限制性住一切可能產生的隱患。
西安五語全棧程式設計師 友情回覆