熱愛編程的程序員,早期是因為什麼對編程產生興趣的?
當然是遊戲啊,學了編程就可以自己寫遊戲了。
像@Vinjn張靜所說的,我上初中高中的時候,電子詞典特別火,其中最流行的就是文曲星。
文曲星除了電子詞典功能之外,還帶一些記事本、備忘錄、日曆之類的功能,也有一些圖形畫面的小遊戲比如推箱子、黑白棋等等(是的,我也被虐過),有一個不算很大的黑白液晶屏。
但是最關鍵的,是它可以編輯並執行gvbasic寫的程序。
最早的時候我並沒有發現文曲星還有「可擴展性」,我就是為了/* 英雄壇說 */學英語才買的。
後來發現同學的文曲星里還裝有新的遊戲,就用藍牙/紅外趕緊導過來玩。
印象中最早的遊戲好像有什麼星際爭霸,炸潛艇,貪吃蛇,還有很多文字遊戲。
當然,作為一個玩仙劍都要用金山遊俠的人,我肯定是不會老老實實按照遊戲規則玩的。於是就在某一個電(fù) 閃(mǔ) 雷(shuì) 鳴(le) 的夜裡,我發現了一個按鈕,編輯。
那是一個win98經常藍屏的年代,我第一次打開代碼的時候,我還以為把心愛的文曲星玩壞了,屏幕上全是亂(dai) 碼,我當時十分恐慌,就趕緊想辦法退出來了。不過在我發現我安全退出之後,遊戲還可以繼續玩,所以我沒事就打開亂(dai) 碼看看。
當時,聰明如我,想到了金山遊俠的鎖血秘籍,就是利用變化的數值來找到關鍵數據所存放的內存地址,比如金錢、血量、魔法……然後進行改動。
雖然GVBASIC遊戲代碼是靜態的,但是好的代碼,你懂得,初始值都存放在程序最前面不是嗎?然後我就踏上這條不歸路。
這東西就跟賭一樣,最開始總是改改血改改攻擊,後來就開始改圖標改文字描述,直到最後玩大的,我開始搞自己的遊戲。
//很遺憾當時的文曲星高考之後都扔了,現在只能從回憶里挖掘了。先是從文字遊戲開始,我記得我第一版遊戲好像是就是仿英雄壇說,弄了個魔獸爭霸版的。畫面大概是這樣的:
你 敵人
80/100 62/100
50/100 0/100
1. 攻擊 2.物品 3.逃跑
後來慢慢地加功能,比如加技能什麼的。
後來覺得文字版很無聊,於是我鬼使神差的打開了炸潛艇之類的GUI遊戲,利用我小學「微機課」(上機需要戴鞋套)學過海龜畫圖的知識,漸漸了解了如何用點、線、圓什麼的畫圖形,然後用循環來做動畫,模擬導彈發射啊、爆炸啊之類的效果。後來就做了一個GUI版的HeroPK,由於沒有截圖,我只能文字讓泥萌領略一下我在這個遊戲里的天才設計了:
首先看文曲星NC1020鍵盤:
(圖片來自http://img853.ph.126.net/r6fJybjwsz-4r-a_37_p1Q==/2741003323209352806.jpg)考慮到用戶體驗(就是我玩的爽不爽)qwer,asdf,zxcv全部都是技能,數字鍵1234是攻擊,道具之類的。
q - 風暴之錘,傷害並眩暈
w - 暗影突襲,傷害並持續傷害(DOT)
e - 霜凍新星,傷害
r - 吸血(瞬發,類似痛苦之源的B蝕腦),傷害並回血
a - 加攻擊
s - 加防禦
d - 減對手攻擊
f - 減對手防禦
z - 聖光術,加血
x - 返老還童,持續加血(HOT)
c - 重擊,隨機打暈對手
v - 致命一擊,隨機暴擊
然後玩家可以在大地圖裡走來走去,隨機會遇到怪,打怪可以升級,升級加血加攻防(攻擊傷害的公式用的是魔獸3的),送一個技能點,可以加技能等級或者屬性,有攻擊有防禦等等,為了增加難度,隨機會遇到大boss(大boss真的很強,我作為作者都打不過),還可以存檔讀檔(好像是.DAT文件),不過好像沒有做道具和裝備系統……
戰鬥畫面還是跟之前那個差不多,有血條和魔法條,回合制的,我嘗試過非回合制2D版的,不知道是不是我的代碼的問題,連人物走動或者放個技能畫面都閃的厲害,玩的很瞎,而且也不好控制,於是就改回回合制的了。不過放技能會有一個圖標或者圖形飛過去,然後爆炸等等,怪物的頭像會相應得變化,還有眩暈、中毒等標識……
總之就是一個還挺好玩的遊戲啦,當時在我們高中班大家都會傳來傳去的玩,那時候除了改bug、抄代碼讓程序能跑之外,其實已經初涉一些軟體開發的問題了,比如版本兼容性,遊戲平衡性,性能和畫面的平衡,遊戲體驗等等。
說了這麼多廢話,其實我最想說的是,我那時候根本沒有意識到自己是編程,從調數據作弊開始,到最後自己編遊戲,我始終都沒有意識到自己是編程,我不知道自己在做什麼,只是順著人類的天性,知道這麼做會有那樣的結果,就跟玩積木四驅車一樣,就這麼一直探索下去了……
其實我現在也覺得編程並不在於編程本身,而是在於做一些瘋狂、奇怪的事情,然後達成自己的目的,編程只是一個過程(儘管我覺得寫得好的代碼有一種迷之美感)。
文曲星
寫DOS批處理病毒、Word宏病毒、VBScript腳本病毒玩啊。可惜最高感染數都是1,就是自己家那台。。
03年,衝擊波(Blaster)席捲世界,成為新聞熱點,我家電腦也著了道。遂立志當黑客,訂雜誌,上論壇,混Q群,好玩工具而不好學編程,自然長時間一無所獲。
雖然學藝不精,黑客沒當成,畢竟也算是搞競賽前的編程經歷。。上面已經有人回答文曲星了,我來講個故事吧。
十幾年前,高三。我的一個哥們和我一起用GVBasic編了一個類似於「輸入你和你意中人的名字查詢你們之間緣分」的程序。然後不知怎麼就火了,人人試玩。
結果嘛,呵呵,全班的牛鬼蛇神雞鴨鵝狗貓的暗戀對象全被我們掌握了。那時候都學生也是單純,都不知道就算是文曲星也是可以存數據的嘛。
可悲催的是,沒有一個婦女輸入我的名字。從那時起,我明白了人丑就要多讀書的道理,走上了編程的道路。
因為i=i+1;
他們憑什麼就相等了嘛
既然好多人提到文曲星和遊戲,我也貼張圖
這是一個帥氣的受擊效果~
最有意思的是可以創造,然後分享。
小時候鎮上的學區(即所有小學)會舉辦計算機比賽——雖然是山區農村,但是也要參加哈。那段時間,整天在學校機房裡玩DOS,不用上課,不用做作業——學生時代最爽的時期。
小學時期的比賽:先是UCDOS下的五筆打字比賽(所以現在習慣用86版的五筆),然後就是用Logo語言的比賽,大概就是下圖,寫了各種遞歸。
然後就是Windows 95、Windows 98上的Office比賽。大概在2002年,當時的獎品是一個128M的U盤——可貴了。
不過,老師不在的時候就是玩遊戲、遊戲。。。
初一的時候就是QBASIC的比賽,初中的後來就是用小霸王(家裡窮~~,買不起電腦),用Game Basic——遊戲編程。當時,寫了各種Goto。
高一的時候小霸王被玩壞了,基本就不玩電腦~~。
高二的時候,在學3D遊戲編程,包含了這兩個系列的圖書~~:
那是我這輩子數學最好的時候(之前各種數學競賽獎),沒有之一~~~——大學數學相關有五門課,掛了三門——高數上沒掛。
接著家裡攢了點錢、借了點錢就給我買了個電腦。隨後發現GUI編程時候的需要更深入底層的基礎,就學Linux內核(2.6)去了。。在搞建模的時候,發現一個人搞3D遊戲的難度太大了,就沒繼續了——農村,找不到合適的(家裡有電腦的)小夥伴一起玩。深深覺得,以前更精通演算法了。
大學,學的是硬體,覺得硬體更好玩~~。就是各種焊電路了——最有成就的莫過於拿元件焊了個可以正常使用的電話。找不到合適的圖,就放一張最近寫作用的圖:
因為學校不好找工作的時候,投的硬體公司全都直接被拒了~~。然後發現軟體公司工資高,而且好找工作——不看學校,就改找軟體方向的工作了。工作一年多後,有了點小錢就繼續玩硬體和編程。放張近圖:
最有意思的是可以創造,然後分享。
那時沒有女朋友,聽說Java里有對象。。。
小學二三年級,去朋友家玩了魂斗羅,覺得很神奇這個怎麼做出來的。四年級買了學習機,沒遊戲卡,就自己做了個大金剛+超級瑪麗一樣的山寨遊戲玩。qbasic很容易。初二學C和數據結構,並走上了圖形學之路。初三因為競賽需要學了沒鳥用的PASCAL。高中開始學C++、彙編,過了坎了再學這些都是容易的事。
其實從小學到初中到高中,我也和 @李嘉嘉 一樣,不停地被老師說,你學計算機有什麼用,高考又不考。我說我學這個以後可以當飯吃,管著嘛。嗯,我實現了。敢問那些語文數學英語物理化學好的,他們實現了嗎。Logo海龜作圖
因為愛情,我要給我女神輔導,然而我並不會,然後。。。此處省略10萬字
大學才接觸計算機。
一開始我對編程是非常幻想的,總覺得自己會成為手持大刀的蘿莉,然後開山劈海造各種軟體。然後等別人問誰做的時候,我就像知道什麼秘密一樣害羞地笑。
要不也不會給自己挑了這個專業,當然高估自己的智商也是重要原因。結果大學四年一路被折磨,各種迷惘無助走各種歧路。
後來偶然看到python.
感覺當一個弓箭手也很有意思。我是因為初中學校教編程呀
說造字程序的會不會暴露年齡...
找工作容易
從小喜歡畫畫
然後我在學習機里發現了一個對著屏幕畫烏龜的遊戲。
嗯,logo是世界上最好的語言!
===
之所以這麼說,因為我學習機買來第一天我爸就和我展示basic語言,結果我毫無興趣,直到發現了logo語言可以畫畫。《中學生電腦課堂》和老家裡面翻出來的一本很老的 PASCAL 書。
老到啥程度呢?Turbo Pascal 的 assign() 被說成新技術……
小學有計算機興趣班
推薦閱讀:
※剛進入上市公司證券部工作,應如何快速提升自己?
※你知道的有哪些職業或者人是靠情懷在生活?
※有哪些別人一看就覺得「這個我也行」的職業?
※過年回家,你怎麼向親戚朋友解釋你的工作?我是程序員。。。
※為什麼很多人對自己的職業認同感很低?