游戲開始怎么通過編程完成,你們都是怎么入門學編程的呢?
憶往昔,是中老年朋友的最愛。
我來喜答一波吧。
1997年那是一個萬眾歡騰的日子,那一年香港回歸,大家都記得很清楚。那一年我記得如此清晰,除了香港回歸外,還有中考提前了一個月,另一個就是,我在人生中第一次碰到了電腦。
遇見大神看著那方方正正的顯示器,漆黑的界面,一閃一閃的光標,還有神奇的貝塞爾曲線屏保,我的一顆心,就像是碰到了女神般,限入了這科技感中無法自拔。然后我后到我同學,盡然在MS-DOS上寫出了一個PvP格斗游戲,我崇拜的追著他,問他這是怎么做到的,他淡定的拿出了那張3.5寸的軟盤,不屑的扔給我一句話:用QBase寫的。
產生興趣我第一時間去新華書店,終于在角落找到了一本QBase語言詳解,然后懵懵懂懂的開始了我的第一個編程學習。是的,啥都不懂,什么條件、判斷、循環,全都自己看,高一的老師只會教大家用msdosLogin、Logout和WPS97,編程神馬的完全不會。其實我覺得我還是很幸運的,以自己的興趣為導向,在大家還在學習打字的時候,我已經開始學編程了,我至今都記得當年用QBase讓電腦主板蜂鳴器發出了歡樂頌時的心情。
夢想折戟但有個問題,家里窮,電腦什么的完全是夢想,所以我的編程生涯也在高一結束后隨著課業壓力的加大中斷了。而且父母認為那是個嚴重影響我學業的無用產品,禁止我再看編程相關的書了。
慢慢等,時代開始變遷,我就這樣被淘汰了。
重溫舊夢然后就是2000年,互聯網泡沫時期,到處是網吧,到處是網站,我開始泡在網吧,寫個人網站代碼,是的,別人打星際打CS,我泡網吧寫代碼……那時候,也建了一些個人網站,依托163的免費空間。
再次折戟但很快,我被我父母抓回家,關禁閉了。正值高考沖刺階段,人家都在復習,我卻在網吧泡通宵……寫代碼……
一路無阻好吧,我上的大學了,我解放了。我選擇了計算機專業,在父母那邊軟磨硬泡了一臺電腦,開始我的編程生涯。由于我是班上維一一個有編程基礎的,我就一路開掛,一路拿獎,一路再升學,再拿獎,連畢業Offer都是隨我挑選的。感嘆下,有時候,優秀只是因為你排在隊首,被別人推著不得不優秀的。
所以呢,我的入門算是比較坎坷的,但我一直是興趣引領的。
未來之路現在在研究人工智能方向,重新學習,重新上路
初學者如何高效學習一門編程語言?
首先謝邀。既然是為初學者所寫,那么,我們首先需要進行的一個分辨是:TA是怎樣的初學者?沒有任何編程經驗?有其他語言方面的編程經驗,但沒有接觸過這門語言?針對不同類型的初學者,顯然其學習的途徑和側重點,還是會略有所不同的。這篇文章所針對的,主要是一些共性的方法和技巧。亮獨觀其大略
《魏略》記載,諸葛亮在荊州,與石廣元、徐元直、孟公威俱游學,“三人務于精熟,而亮獨觀其大略。”簡簡單單的一句話,其實正是在學習方法上,諸葛亮比其他人的高明所在。那回到編程語言,什么又是編程語言的“大略”呢?我個人覺得,其核心就是:
了解清楚這個語言“當前”的應用生態
一門語言能不能用在很多不同的領域?除了極少數專有化語言外,很多語言都可堪此任。
但“能不能用在”,和“是不是已經用在”,卻是兩個截然不同的問題。比如說,能不能用C++來寫機器學習中所需要用的各種程序(腳本)?答案當然是可以的,但業界是不是在大面積的用?情況并不樂觀,Python仍然是這個領域的“第一語言”。為什么?這其實就是一個生態的問題。在Python下,機器學習所需要的各種類庫,成熟而完整,因此,無論是學習者,還是應用者,可以快速的進入到狀態,并完成手頭的工作。甚至于,因為Python2所構建的這個生態太成熟了,從而導致了整個業界,從Python2切換到Python3的過程,痛苦而又漫長。所以,作為一個初學者,在學習的一開始,就去“打聽”一下(事實上,我覺得老師的作用,也應該在這里),你所要學習的這門語言,現在一般都拿來干什么,并且是不是和你想學習的方向(哪怕只有一個模糊的概念),在目標上高度契合,我覺得是最緊要和事半功倍的事情了,能為你的后期學習,節約太多的時間,從而少走很多的彎路。工欲善其事,必先利其器
人類似乎總是很欣賞那些在公眾中,表演用記事本,在沒有任何代碼提示情況下,“手寫”代碼的大神。
其實要實現這些并不難,萬事無他,唯手熟爾!哪怕你要用的那個函數,參變量再多,你這天天寫,總有熟到可以信手拈來的地步。但向觀眾,尤其是初學者表演,甚至是傳達這樣的理念,我覺得就是一種“罪惡”。恰恰相反,我覺得,作為一個經驗豐富的老手,我們最應該向初學者推薦的,應該是一款經過精心調教的“工具”。還是以Python和數據分析的學習為例,怎樣開始學習最好?上手就開始來學怎樣擼代碼?如果你問我,那我一定會告訴你:> 先去裝個Anaconda再說為什么?
省時省心啊
從此,近千個數據科學相關的開源包,你再也不用擔心你應該去哪里找到他們,并且是不是和你現在用的版本會有沖突,等等等等這樣一些聽上去很瑣碎,但絕對會浪費你大量時間的事情了,而是能專注于學習。
因為一切都已經在那里了!
實際上,在真正的軟件生產過程中,可以說絕大多數的開發,都是嚴重依賴于工具的,你想想,為什么類似Docker這樣的工具會盛行?拋開在虛擬化等方面的具體技術不談,這東西對于開發和運維人員而言,一個巨大的好處,其實不就在于它的:幾乎零配置么?
我要搭一個LAMP的Web的開發環境,我不需要自己勞心費力的去一個個的裝Apache + MySQL + PHP,還不能保證能不能裝上,一個image即可。編程學習也一樣,尤其是針對初學者而言,不要因為看到“大神”們,都是手寫代碼,就覺得:把時間分配在掌握一個好的IDE工具上,是在浪費時間!
實際上,這反而是能夠讓你學的更快的利器!
這里有一個小小的推薦,就是Visual Studio Code,微軟的這款產品,經過這幾年的大力發展,其擴展的豐富程度,真心足堪大任了,如果不是很特別的語言需求,基本上都可以在其應用商店中,找到對應的開發擴展。最后才是語言學習本身,但只40%
在充分了解了所需要學習的語言本身,現在主要拿來干什么,并且也用上了“高大上”的工具以后,整個學習的旅程,就算可以正式開始了。
這里,有一個小小的建議,叫“只40%”。我覺得,這是所有高效學習的關鍵所在!
什么意思?
舉一個例子,比如在很多語言中,提供了各種各樣的處理字符串的方法(或函數),以Python為例,哪怕比如就是一個簡簡單單的,從“Hello World!”中,截取相應的子字符串,也有很多的技巧,比如:林林總總,好吧,作為初學者,面對這些東西怎么辦?我就看到有很多的“大部頭”的號稱面向初學者的書,會洋洋灑灑的為此大書特書一番,好像,不把所有的可能性窮盡,初學者不算學完一樣。
但在我看來,這恰恰是最“糟糕”的一種寫法和學法了。兩個字:
沒用!因為有習慣和遺忘曲線的存在。
所以,即便是你當時花了大把的時間,去學習了這種種的技巧,今后,隨著你自己編程風格的形成,你還是會逐步趨向于用一種固定的方式,去處理問題,當然,我不是說這個例子,畢竟它太簡單了,簡單到這么多風格,完全可以讓人接受 :),但我也不是沒有看到過,就是有人愿意在他/她的代碼的某個地方,先聲明一個類似這樣的函數:
為什么他/她要這么做?這不等于是為開發增加了一種“方言”么?其實無他,就是因為這可能是他/她在另外的語言環境(比如JavaScript)下,已經用熟了的一種方式而已,這是人的天性使然。
這也就提醒初學者,當你在學習一門計算機語言的過程中,下面的兩個“經驗”,可能能幫助到你,更為高效的進行學習,那就是:
1. 克制自己,不要試圖去了解這門語言的全部,只學自己當前需要和能明白的
比如說,你就是準備用Ren'Py做一個可視小說的游戲出來,里面只是需要一點點的Python知識,那你也捧一本大部頭,然后費勁吧啦的去看那些你根本用不上的函數的用法,并試圖去“深入”的理解OOP和函數式,這兩種不同的范式,在Python下的實現(這可能是很多教程非常引以為傲的“高級”貨),何苦來哉?
等你這一切都完成,人家可能早就做出來了好幾個游戲了,并且竟然發現:語法要求從來可能就沒超過大部分Python教程頂多第三章的要求(一般的教程,到第三章,從最基本的變量定義,到函數應用等等,一般都會寫完了)。
當然,我這樣講,不是在鼓吹說,深入系統的學習不重要,但我能保證,那絕不高效!
2. 在一開始,就要培養形成在線查閱文檔的能力
我們已經處在了網絡高度發達的時代,這是一個沒有辦法改變的事實!這個時代,最鮮明的特點之一是什么?我覺得就是:
知識開始也一定會經常以索引的形式存在!
當然,你也可以說成是人類的整體記憶能力在退化,但我個人不這樣認為,實際上,索引式的好處,反而是人類可以記住更多東西了。
回到編程的學習,最高效的方式也應該是這樣,學習的目標,應該從“完全記住”,轉變為在腦子里大概留個印象,然后可以在遇到問題時,能快速的根據這個印象,通過在線的文檔查找,迅速定位到問題的清晰的解決方案。
40%,足矣~
最后借此風水寶地,插播一個小廣告,本人正在準備著進行編程教育自媒體方面的創業中,當前主要的想法,是針對K12年齡階段,并主要和初等數學和物理,以及主流的一些算法等結合在一起,提供難易程度不同的,各種或好玩、或實用的編程教程和培訓,同時,也會逐步的開講一些整個計算機和軟件發展歷程中的故事,以及我自己的一些小小的思考,歡迎大家多多關注哈。大學里面計算機專業學編程先學什么?
這是一個很多同學都比較關心的問題,作為一名計算機專業的教育工作者,我來回答一下。
首先,對于計算機專業的準大學生來說,在開學前學習一門編程語言是不錯的選擇,這對于后續的專業知識學習具有較為積極的意義,編程語言也被認為是打開計算機技術大門的鑰匙。
在編程語言的選擇上,可以從C語言開始學起,一方面C語言屬于面向過程式的編程語言,語法結構相對比較清晰,抽象程度也沒有面向對象語言那么高,初學者更容易入門,另一方面C語言的實驗場景比較容易搭建,會更容易讓初學者建立起學習成就感。
C語言目前依然有大量的應用場景,在操作系統開發、物聯網開發等領域,C語言依然占據著重要的地位,憑借穩定的性能表現和較為健全的技術生態,未來較長一段時間內,C語言依然會是最為流行的編程語言之一,所以從這個角度來說,掌握C語言也會擴展未來的發展空間。
對于計算機相關專業的同學來說,在大一期間要重視積累,除了掌握C語言之外,還應該再學習一門全場景編程語言,其中Java就是不錯的選擇。相對于C語言來說,Java語言的抽象程度更高,語法結構也更為復雜,所以在掌握了C語言之后再學習Java更適合一些。
學習編程語言一定要重視三件事,其一是重視多做實驗,通過實驗來為各種抽象概念建立畫面感,從而促進自己的理解,其二是重視多做交流,積極參加編程比賽就是不錯的選擇,比賽的過程也是開闊視野的過程,而且參加比賽對于后續的就業和考研復試都有積極意義,其三是重視與場景相結合,學習編程語言一定不能脫離場景。
我從事教育、科研多年,目前在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關于互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。
如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以私信我!
以上就是關于游戲開始怎么通過編程完成和你們都是怎么入門學編程的呢的相關問題解答,希望對你有所幫助。