PIXNET Logo登入

天使的咖啡屋

跳到主文

進來坐坐吧!這裡,永遠飄著咖啡香。這裡,永遠充滿著幸福的溫暖

部落格全站分類:心情日記

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 6月 25 週三 200819:16
  • GIF動畫製作教學

你常常看到別人做出一些可愛、有趣的MSN表情符號或動畫嗎?

如果你跟館主一樣愛創作,相信你也會很希望能做出一些會動的畫來!那麼該怎麼做呢?且看館主今天的教學示範!
首先,你當然需要一套可以製作動畫的軟體,市面上有很多,不過當然要選擇一套免費、好用又有口碑的製作程式啦!我將介紹的這一套軟體是鼎鼎大名的微軟出的,來源夠有力吧!而且不但免費,功能又很簡潔好用唷!
不多說!立刻來看看吧!他下載來源如下
(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(15) 人氣(32,450)

  • 個人分類:電腦技術
▲top
  • 5月 20 週二 200812:29
  • [技術] 如何查詢IP

執行DOS

為什麼忽然想寫這個看似完全過時的技術呢?
因為最近幫一個朋友解決電腦網路問題..對話如下

(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(3) 人氣(27,727)

  • 個人分類:電腦技術
▲top
  • 3月 20 週四 200801:05
  • Google PageRank 預測/查詢工具大全

Google有很多資料庫,同一網址在Google不同資料庫中的值是不一樣的,特別是在Google更新PageRank 值的時
候,大多數預測網站就是在這些資料中心隨機查詢多個PR值來預測。
 
Google更新PageRank的週期是3到4個月(因為計算上億頁面的RP值需要很多時間),更新 PageRank 值開始到更新結束一般持續半個月左右,使用一些工具來查詢這些PR值的變化的情況,就可以預測自己網站下次更新的PageRank值。
(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(5) 人氣(10,511)

  • 個人分類:電腦技術
▲top
  • 3月 19 週三 200810:43
  • 什麼是網站的 Page Rank? 如何查詢? 如何衝高?



最近聽到朋友在抱怨:「為什麼我的網誌不容易被人家找到?」

(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(15) 人氣(14,113)

  • 個人分類:電腦技術
▲top
  • 3月 07 週五 200816:38
  • 移除倉頡輸入法


不知道妳是否有這個經驗,常常安裝某種輸入法後,之後怎麼樣也無法移除。(倉頡輸入法、櫻花輸入法)
就算你沒灌什麼額外輸入法,只要你有灌Office,在進行Windows更新之後,倉頡輸入法就會跑出來....


而討厭的是,每次要輸入中文,只要按ctrl+空白,他們都會比新注音還先跑出來,你非得要在一次ctrl+shift切換他才甘願消失。




更討厭的是,他們移除不掉,無論你從鍵盤 輸入法那邊找,怎麼樣都移除不掉。如果是櫻花輸入法等,甚至可能還會出現錯誤訊息。



現在知道一個方法了,提供給有相同煩惱的朋友做參考:


移除倉頡
進入 桌面左下角開始 → 執行 → regedit


找出 [HKEY_CURRENT_USER\Keyboard Layout\Preload]


右半邊出現的機碼內,右鍵刪除 「e0090404」這個值 (這是倉頡輸入法)


然後重新開機.....(理論上只留00000404英打和E0080404新注音 )


該死的不需要用的輸入法終於移除了


 




附贈常見機碼:
e0010404 注音
e0020404 倉頡
e0030404 速成
e0060404 大易
e0080404 新注音
e0090404 新倉頡
e0200404 自然
e0810404 嘸蝦米


 


另外若想改變輸入法的順序,可改:
HKEY_CURRENT_USER\Keyboard Layout\Preload
"1" -> 預設輸入法
"2" -> Ctrl+空的鍵時的輸入法..


(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(7) 人氣(34,985)

  • 個人分類:電腦技術
▲top
  • 2月 20 週三 200811:43
  • 什麼是便當狗Badango?-一個免費、容量無限的網路空間


最近PTT流行很多「謎物」下載,大家都在說便當狗便當狗的,
到底什麼是便當狗呢?
 
原來,她是一個免費、而且容量無限的網路空間,網址如下:
 
 網址連結:http://www.badongo.com/
 網頁語系:多國語言(支援繁體中文)

 

 
現在分成兩部分來講,如果你要伸/掱/下載別人家的謎物,人家給你一組密碼是"14742364"
那你要怎麼下載呢?答案是你只要在此數字前面加 "http://www.badongo.com/file/"即可
以這串數字例子而言,下載網址就是http://www.badongo.com/file/14742364
 
 
 
 
 
打開你的網路瀏覽器,鍵入下載網址,連結過去,你會看到如下頁面,
在右邊那個空白文字列裡面,鍵入圖象裡的文字(在此例子是CNLV),
即可開始下載倒數。
 



 

 
 
 
 
往下拉即可看到倒數按鈕


 


在耐心的等待他倒數後,即會看到此按鈕變成可以下載的按鈕了!快點選下載吧!
 
 
 
 
另一方面,你也可以利用便當狗,當作一個網路硬碟、上傳空間
他提供一個免費、容量無限的網路空間(代價就是要被強迫看廣告)
而且可以讓你朋友輕易透過上述方式來下載唷!
 
 


 
方法是到首頁註冊後後,按右上角的登錄,
接著你就可以選擇「我的檔案」->「加入新檔案」進行上傳囉!
 
 
 
 




 
 
 


大家好好利用這些免費資源吧!
 
 


 

最後,類似免費空間還有:http://rapidshare.de 等唷~可以慢慢研究:)
(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(0) 人氣(13,159)

  • 個人分類:電腦技術
▲top
  • 10月 18 週四 200717:02
  • [程式] BCB中如何在Memo中偵測組合鍵以完成全選功能?

 
Borland C++Builder (BCB) 是個非常適合用來編輯Window
程式的工具可是有時候明明很小很細節的功能,他就是不支援。
 
(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(0) 人氣(13,160)

  • 個人分類:電腦技術
▲top
  • 5月 27 週六 200611:25
  • 如何設計冒險遊戲 (Adventure Game)

avg

如何設計冒險遊戲 (Adventure Game)              DreamYeh
----------------------------
主旨:
  敝人夢想一直都是讓所有人都輕易學習如何設計遊戲,本篇
文章會大致上講解冒險遊戲(Adventure Game)如何被設計出來
,以及更重要的,一個冒險遊戲編輯器的撰寫。
  期盼企劃人員看了本篇,能更了解如何劇情遊戲的劇本觀念
,也期盼想設計劇情遊戲的人看了本篇,能不藉由任何工具就設
計出一個好玩的劇情遊戲來。
  敝人也會在之後設計個冒險遊戲編輯器。並釋放出原始檔來
,讓大家能真正看到冒險遊戲的實際設計面貌,也可以藉由編輯
器簡單設計出遊戲來!讓設計遊戲的高門檻不在是高門檻!
  本篇文章大多是用敝人觀點去想,一套AVG該怎麼設計,
或許跟實際設計法會有差距,或許哪裡沒有想到。若件到哪裡有
不足的,或有額外想法的,歡迎大家討論。
  本篇文章也特別感謝子商的親切的建議。
  現在,就讓我們開始AVG設計的旅程。
----------------------------
主題一、什麼是冒險遊戲(AVG)?
  別緊張,本篇並不會花很大篇幅去說明什麼是AVG。與其
看大篇幅介紹,你還不如去找幾套經典的AVG來嘗試一下,舉
凡無人島之旅、金田一 悲報島新的悲劇、 或是一些網路上很容
易就玩到的電子小說。這些都是很經典的AVG-我們可以這樣
給AVG簡單定義。
  AVG是偏重劇情的遊戲,它一定有個複雜的劇情(不會像
是超級瑪莉那樣只是要救公主的故事),常以大量文字來表示,
玩家可以做的動作大多是要在幾個劇情分支點,去做出選擇,不
同的選擇會導致不同結果。
  它與RPG一個很大差異在於,RPG通常會把視點拉到世
界上方,好讓玩家可以自由操作角色,在一張大地圖上四處打怪
、冒險。AVG通常會省略升級模式、在地圖上跑來跑去的活動
,而更重視於劇情的描寫、角色心境描寫、情境述說等。
  依照這樣定義,AVG範圍可是很廣泛喔!舉凡電子小說、
一般常見戀愛遊戲、一些電影改編遊戲、網路上常可以下載到的
小遊戲如逃離房間系列,都可以列入這個範疇。
  當然這個定義也非完全的,近代也越來越多遊戲根本分不出
它的類型。當然啦~這裡不是要來跟大家討論遊戲分類理論的,
我們大致了解什麼是AVG就好了。
----------------------------
主題二、分歧點
  讓我們一窺AVG最重要的因子,分歧點。也就是玩家可以
選擇一個分歧點,就走向某個劇情。比方說玩家可以選擇要走樓
梯還是走電梯、看見一個房間門可以選擇要不要去開啟他。
  當然也有AVG完全沒有分歧點,像是電子小說,你只要滑
鼠原地按按按就可以看到劇情不斷被推進,直到結束。但基本上
兩者的設計原理還是一樣的(當然啦,電子小說是更簡單的)。
  而這個分歧點概念,就構成整個AVG基本設計模型,如下
:
       C  .....  
      ↗
     B→D  .....
    ↗   
   A→E→F .....
    
  其中每個字母都代表一個「劇情」,而那個劇情裡面就會有
我們想要秀的文字、場景、音樂、想要出現的人物、它們的對話
等等。
  以程式觀點,要架構這部分的決策性結構是很直覺的,你可
以輕易用一個變數表示現在應該秀出什麼場景、展示什麼變數。
然後用一個Switch或if指令讓程式知道你該做什麼。
  AVG的要點,就在於設計這些劇情、回答選項、還有每進
入一個新劇情想要做的動作。
----------------------------
主題三、事件與變數
  假設現在,你已經開始遊戲,並在某個分支點中選擇了你要
走向什麼劇情,可是你要怎麼讓遊戲知道你現在在哪個劇情中呢
?
  又,接著你可能在某個劇情裡,發生一個事件,比方說撿到
一把鑰匙好了-那你要知道你得到一把鑰匙呢?
  唯一的辦法,就是利用一個變數來儲存。
  
  對於沒程式經驗的人,變數這個辭可能會有點難理解。其實
你可以想像這個世界有個記事官,它有本簿子專門在記載「什麼
事情發生了、什麼事情沒發生」。比方說你今天看到一筆錢,你
可以選擇撿,它就會記載「你撿了錢」-由於它只看得懂數字,
它可能在某個欄位記載1,你若沒撿錢它就會在那個欄位記載為
0。
  接著世界(程式)就會根據你記載的變數,去做相對應的變
化。
  以程式的觀點來看,這些動作就是「發生個事件、玩家做出
什麼選擇、就著就要改變某個『變數』」,我們通常稱這些變數
為旗標(Flag)。
  整個AVG設計模型,就會被簡化為對這些旗標的操控、以
及針對旗標不同做出的決策機制。
  
----------------------------
主題四、劇本
  讓我們喘口氣,繼續回來看這個AVG最重要的構成因子-
劇本。
  一個劇本應該有哪些東西?這當然要隨著你的遊戲內容有所
改變了-一個經典劇本裡面通常有這些東西-
      
  場景-發生某個劇情時候,它的背景圖片是什麼?有什麼樣
     的動畫?比方說如果你描寫某劇情發生在日落時候,
     你背景可能是一片黃昏晚霞。
  人物-在這個場景中出場的人物,在大多AVG裡面它通常
     以角色的圖片來表示。而人物出場的型態,很常見到
     的一種形式就是一個圖片的飛入。
    選項-需要讓玩家選定的選項,比方說是撿起、開啟一個東
     西與否。內容可以是文字、或是圖片。
  
  文字-這裡包括上述場景的文字描述、現在劇情的描寫、主
     人翁們的心境描寫、還有人物們的對話。  
     
     當然很多人會更希望每個人物都有專屬的對話框
  音樂-當然啦,到某個場景,你一定會有希望播送的音樂。
  動畫-這是一個高級而普遍的要求!有些人很希望場景中能
     加入一些複雜的動畫,比方說男女主角對話時候整個
     場景就飄滿著櫻花啊、或是主角在雪原漫步時候飄落
     著漫天飛雪。
     以程式觀點來說這部分是最複雜的,你將會發現你可
     能花更多的時間在於把某個場景的動畫弄得更漂亮。
     而那些動畫對玩家來說可能只是小小的服務。因此我
     們在實踐這部分,通常是用外掛方式來處理。
----------------------------
主題五、劇本的資料結構
  想像你已經定義好一個劇本模型了,接著麻煩的就是,你要
讓程式看懂這個劇本。
  可是如同我們前面所述,程式這傢伙是很笨的!它只看得懂
數字!也就是什麼欄位是什麼數字時候,程式該做些什麼。就好
像我們前面舉例的一本簿子一樣。
  而儲存這些數字的欄位、格式,我們就稱之為 資料結構。
  如果你還是不懂,那我們可以再舉個例子-你可以想像你手
上有一本書,這本書每一頁都是記載各種「劇情」,那劇情怎麼
被記載?
  必定是這本書每一頁都有一個「統一」的欄位,比方說第一
欄紀錄著現在是什麼場景、第二欄位紀錄著現在撥放著什麼音樂
。
  而玩家可以做出各式各樣選擇,讓某些欄位變成特定的值,
而程式本體就像一個幫你翻書的人,它會根據一個特定的指示幫
你把書翻到某一頁-
  比方說第十欄位是1的時候就翻到第8頁這樣。
  而第十欄位很可能記載著你剛剛做的決定,比方說開門就讓
該欄位寫成1、開窗就寫成2。
  你可以想像整個AVG就好像你在看一本書,有個翻書員、
說書人、以及一個記事官。翻書員會引導你走向某一頁劇情(這
就是我們剛剛提的主題2)、說書員會告訴你這一頁劇情在說些
什麼、而記事官就隨時用這些欄位記載現在故事進行模式。
  好,讓我們回到主題,記載方式。以這個例子我們可以看到
我們顯然需要一個統一的結構,來記載現在各式各樣的事物。你
可能會問為何強調需要統一格式-你可以想想看如果不同一格式
會發生什麼樣的錯誤。(再次強調你遇到那個翻書員可沒這麼聰
明)
  而這些固定的欄位結構,我們稱之為容器,或資料結構。以
上面舉的劇本格式為例,它可能需要以下格式來儲存。
typedef struct Drama
{
  struct Drama *NextPage[3];    //紀錄下一頁要翻到哪裡
  char *Load_Music;             //要讀入的音樂檔名
 char *Load_Image;             //要讀入的圖片檔名
 
  char *Text_Story;             //故事文字
 char *Text_Menu;              //選項文字
};  
 
  好吧,如果是非程式人員,可能看不懂上面表達的型態,
其實,這裡只有第一項翻的頁數是使用指標型態來指到下一個
要翻到的頁碼在哪裡。其他一律都是用字串來表示。
----------------------------
主題六、劇本的演算法
    
  好,現在你已經有本記載各式各樣劇情的簿子了-現在,你
還需要一個幫你翻簿子的人-玩家可不願意自己去根據那些複雜
的資料結構自行判斷要翻到哪一頁去。
  如何設計這位幫你翻簿子的人呢?我想這部分是相當直覺的
!使用if..else、或是switch機制。你可以根據每個劇情不同的
旗標、玩家做出的選擇,去判斷下一個要指向的頁碼在哪裡。
  
  接著要解決的問題,就剩下如何載入那些資料結構,讓畫面
顯示某張圖片、播送哪首音樂、以及顯示哪些文字了。這部分有
相當多函式庫可以支援。
  若以BCB或 .Net設計,更有元件可以直接撥放音樂、顯示圖
片!
  如此一來,在搭配剛剛的資料結構,一個AVG就這樣設計
出來了!!
  在此我們舉個程式例子:
void AVGMain(Drama *TempDrama)
{
   int Next_Page; //定義下個要翻到的頁數
   while (TempDrama!=NULL)
   {
      AVGShow(TempDrama);               //秀出音樂、圖片、文字
      AVGEventExe(TempDrame);           //引導劇情
   Next_Page = AVG_Next(TempDrame);  //找尋下一頁要跳到哪’
      TempDrama = TempDrama.NextPage[Next_Page];  //跳頁:)
   }
}
----------------------------
主題七、劇本編輯器
  旅行到這..如果你是個企劃組人員,你一定會上述兩個核心
主題頭大到不得了吧。
  你甚至可能抱怨:「弄了半天~我還是不懂怎麼寫嘛!」
  但你要知道,了解上面講述的概念對你來說還是很重要的。
或許你看不懂程式碼部分,但相信這些概念對於你設計一套遊戲
-或許藉由任何工具,是大有幫助的。
  一些程式組成員可能也會發現,我故意漏講一些概念,像是
指標,甚至我還有偷用到 Link List,這些有趣的資料結構對於
儲存劇本有多大幫助。不過在這裡為了普遍性我想還是給大家自
行研究。:P
  
  那回歸我們本意,既然我們是希望每個人都可以簡單學會遊
戲設計-那上面講的所有專業知識,你都可以忘掉了-不過你切
記你還是要了解他基本概念是什麼-
  接著你可能就會希望,有個能人能設計出個簡單的AVG設
計引擎,來幫助不懂程式的你怎麼寫AVG來!
  簡單的AVG編輯器?這當然是有可能的!甚至是最容易實
現的遊戲編輯器。典型的AVG編輯器有戀愛遊戲設計大師、吉
里吉里、和EAVG。
  簡單來說就是避開讓企劃人員接觸到程式碼的可能,藉由一
些虛擬碼、甚至是一些介面,讓企劃人員可以簡單製作AVG。
  所謂虛擬碼是什麼?它就是一個專門給程式看「現在要做什
麼」的代碼。
  以吉里吉里為例,它底層程式架構為TSJ語法,那是一個
類似JavaScript的程式語言。但由於一般人學習該語法仍有門檻
,因此他又有一個 KAG虛擬碼把 TSJ包起來。
  比方說我們可以定義<I>代表顯示某張圖片、<S>代表撥放某
首音樂,<T>代表顯示一段文字,並在一定時間後消去。
  那企劃組人員要寫一段劇情,它就可以這樣寫:
  <I>Angel_At_Snow.jpg</I>
    <S>Angel's Song.mp3 </S>
    <T>他佇立在一片雪白的遠野,四周都是白的</T>
    <T>他的衣服是白的,背後的翅膀也是白的</T>
    <T>輕飄飄的羽毛好像跟瑞雪融合,倘佯在一片白色的無盡裡...</T>
  這對企劃組來來說,可以說是大大節省的他所需要付出的心
力和學習時間,只要透過簡單的語法,就可以輕易交代現在劇本
內容、以及要表現出來的場景。
  那他程式方面設計原理是什麼?
  其實也很簡單,就是一個幫助企劃組人員把上述虛擬碼轉化
成程式碼,在幫助他們把程式碼編譯出來的步驟。
  比方說上述虛擬碼,轉換成程式可能是這樣的:
    #include <MyLibary.h> //我們可能會大幅簡化顯示圖片和音樂的過程 
              //因此,你必須寫一些函式庫,然後包進來
  Image_Main->LoadFromFile("Angel_At_Snow.jpg");
    Form->Music->LoadFromFile("Angel's Song.mp3");
    Memo1->Lines->Append("他佇立在一片雪白的遠野,四周都是白的");
    Memo1->Lines->Append("他的衣服是白的,背後的翅膀也是白的");
    Memo1->Lines->Append("輕飄飄的羽毛好像跟瑞雪融合,
                          倘佯在一片白色的無盡裡...");
   接著就在編譯成可以執行的執行檔就好了。中間當然別忘了
Link你的函式庫。因為你在轉化虛擬碼為實際程式碼過程中。
  很有可能被迫省略一些步驟,比如說圖片特效處理,那些東
西對企劃人員來說可能只是一行-
OB
   <A> "滿天飛雪的動畫" </A>
    而這些對你來說很有可能其實是一大串的程式碼。因此你必
須額外寫函數庫,以便企劃人員可以更簡單地寫出他的遊戲來。
  你們兩個互相合作,他貢獻他的編劇能力、你貢獻你的程式
技術,一個遊戲,就這樣誕生了!!!
----------------------------
結語:
  終於到結語了!鬆了口氣吧!經過這次旅程,我們從AVG
基本概念說起,討論他分歧點概念、事件概念、劇情概念,並簡
單提及AVG的資料結構與演算法。
  後面我們特別介紹了如何去撰寫一個AVG編輯器。這裡目
的就是希望讓遊戲設計門檻更降低!讓遊戲設計更普及!希望大
家看完本篇文章,能得到些什麼啟示,也歡迎大家針對本篇文章
內容繼續進行討論!
  之後敝人也會投入去撰寫個免費的、公開原始碼的AVG編
輯器,期盼讓更多人能加入遊戲設計行列,讓一群人一起追逐夢
想!
  若你跟敝人有著共同的理想,希望創造出個大家的遊戲、能
被大家共同設計的遊戲、為了大家而發展出的遊戲。也歡迎你跟
敝人聯絡~
  希望能跟大家一起築夢!一起設計出好玩得遊戲來!
----------------------------
(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(2) 人氣(10,942)

  • 個人分類:電腦技術
▲top
  • 1月 26 週四 200618:33
  • [心得]我的程式設計學習路程

大腦滿載
  最近寫程式,開始有了一種害怕的感覺,越來越
覺得程式設計是多麼廣大精深,好像永遠學不完的樣
子!越來越覺得自己能力不足.....
  記得什麼時候開始接觸程式語言呢?嚴格說來是
在高中二年級時後吧!記得當時是要參加高中數學科
展,我們需要一個程式來跑三角形內部連結等比例線
段的模擬。當然,要請懂寫程式的人來幫忙是不可能
的,只能自己寫Code,加上當時自己對程式設計有興
趣(沒錯,就是因為夢想寫個遊戲程式關係),就答
應擔下這個責任。

  從此開始了我跟程式設計的邂逅。
  一開始那個程式,現在看來相當簡單,只要有迴
圈、決策和圖形撰寫概念就可以寫出了,不過光是寫
該程式,就花了我一個月時間摸索,一個月時間撰寫
。等最後程式撰寫出來,科展也快開始了,於是就在
當年的中區科展我第一次展示自己的程式給那些評審
看。
  記得當年評審曾給了一個評語:「你們的三角形
等比例線段研究十分透徹,但更讓我印象深刻的就是
那個程式模擬。」
  就這樣,我投入程式的懷抱。之後我撰寫程式,
大多是出於興趣而寫,比方說簡單的球類彈跳模擬、
選單控制,甚至還完成一個小具規模的遊戲。
  那個小具規模的遊戲,大約類似普文字通劇情遊
戲哪樣,也就是左邊一個框架裡面放著圖片,右邊一
個框架有著選單讓你選你現在要做什麼動作,下面一
個框架用文字捲動方式敘述現在劇情。
  沒錯,這個小遊戲只需要簡單繪圖功能、locate
定位和printf列印、和結構化程式概念就可以寫出了
。不過這個程式也被我自認是高中寫程式的一個成果
。
  到了大學,首先出現的衝擊就是, Windows的流
行開始!沒錯,當時各種電腦,全部開始邁向 Win95
、 Win98的時代,我記得我當時就為了升級到 Win95
,重灌電腦不曉得N百遍,最後甚至連26495─
OEM─0004782─75062都背了下來∼
  那對程式設計有什麼影響呢?DOS下程式設計
和視窗程式設計有什麼不一樣呢?我只能說那真的要
經歷過才知道了∼硬要說的話,我只能說考量的東西
完全都不一樣了!
  想想以前在DOS時代,主記憶體永遠只有 640
KB、這對稍微複雜一些的遊戲來說當然是不夠,於是
我們必須去撰寫一些記憶體管理、甚至必須透過 DOS
提供的中斷常式向硬體下一些低階命令。
  現在到 Windwos,這些任務作業系統都會幫你做
好,取而代之的就是那些極端繁瑣而複雜的Win32 API
、我記得大一開始學這個,光開一個視窗,就必須寫
個數十行指令去登記、去呼叫。
  當然之前學到的知識,對現在大有幫助,事實上
當時光是會迴圈和決策,就能唬遍班上所有同學,指
標、結構更是不用說,光要花時間去解釋這些你都會
看到同學們以程式強人的眼光看著你。
  但繁瑣的 WinAPI 仍是一個高門檻,於是我在大
二時間的程式功力幾乎就停擺了,即便要寫個程式,
都要先開到 DOS底下開Borlac C++、寫著一些小程式
,如當時同學想知道某一個大數是否是質數,就來請
我寫個質數判斷程式等。
  一直到大三情況才有所改變,原因是開始接觸所
謂的 RAD工具,當時一開始接觸的是 Borlad C++ Build
這個我到現在工作還在用的東西。
  於是,在接近一年的中斷後,我再度踏入視窗程
式的領域,之所以如此原因就在,他把 Win API包裝
的實在太好了。
  比方我要寫上述質數判斷程式大約只要十幾分鐘
,先拉個Edit輸入數值、再拉個按鈕,按鈕上點個兩
下,寫個大約三四行程式;當然,或許你要它執行效
率快一點,這樣你就要開始思考一些較複雜的演算法
。
  但無論如何,在這編程過程中你完全不需要透過
API去呼叫一個視窗、不需要知道按鈕類別 TButton
是從哪個類別繼承過來或是何時釋放等。
  可以說大大降低視窗程式設計的門檻!於是,我
再度投入程式設計的懷抱。
  隨著大三上下也逐漸學到了資料結構、演算法這
些程式功力課程,也讓我越來越有種學不完的感覺。
  在這裡必須說的是,很多人對這兩個理論性的東
西一直沒有實務性的認識,甚至常有用不上的感慨,
事實上只是遇到的問題不夠多罷了!比方說Tree結構
,我想我如果沒寫過初步的決策式人工智慧,我可能
永遠用不上這個架構。至於像演算法中的動態規劃,
更是提供解決一些程式問題的新的思路,一些本來要
指數運算時間的居然能在線性運算時間算出,對程式
效能有很大的突破空間。
  但必須承認的是,除非遇到特殊專案,否則許多
資料結構和演算法都用不太上來,但這兩個工具仍必
須當做基本工具來使用!
  隨著時間流逝,大四主要撰寫程式在於影像處理
方面,要學的是 BMP架構和Graphic類別的繼承。
  研究所階段研究DSP、需要大量資料運算,更
需要重新研習相關的數學運算程式(如FFT)、並
需要深入了解 GDI繪圖函式。
  在研究所階段也開始體悟到什麼是所謂 DirectX
,沒錯,又是為了遊戲XD。我從來沒放棄過寫遊戲程
式的夢想。不過我接觸 DirectX的方式不太一樣,我
當初僅是要使用它來更快速繪圖而已。
  說到這不得不回頭說一下遊戲設計,仿間有太多
DirectX遊戲設計的書籍,許多初學者可能連C都不
太會寫就能對這個名詞琅琅上口。
  這也當然啦∼現今許多遊戲要灌的時候就要你去
安裝新的 DirectX版本,這等於間接告訴那些想設計
遊戲的玩家他們有用到 DirectX的函式庫,這造成大
批學子,以為 DirectX=遊戲設計;注意這個等號,
於是啦∼哪些連C都不太懂得學子,一上來就嚷著說
要學 DirectX,認為那就是遊戲設計的全部,他們可
能買了許多相關的書籍,也跑了相當多的程式範例;
可是當他們要去修改時候,馬上被沉長的 Win API擊
退,最後弄得灰頭土臉。其實 DirectX只是提供了許
多遊戲設計時候需要的函式庫,更直接地對硬體下命
令來完成更有效率的繪圖、音效。
  但是!要能應用到這些仍需要有深厚的 WinAPI
基礎!否則光是會用這些函式,卻前後連結不起來、
或是不知道什麼時候用它有什麼用呢?
  又扯遠了。總之,為了能快速繪圖,我開始學習
DirectX提供的繪圖函式,可是總難入其門,而能將
之用得像 GDI函式一樣、甚至大多時候我會使用 BCB
提供的繪圖方法,這也不得不稱讚 BCB實在把那些複
雜的東西包裝得太好,這使人可以更簡單去做許多事
情。
  但另一方面他也使用慣他的人更不容易踏入 Win
API 的門檻,甚至也讓許多人自認為「很懂視窗程式
設計」了!實際上我用這些包裝後的東西也開始有越
用越惶恐的感覺....
 一直到現在,我工作了,工作內容有一大部分需
要用到程式設計,這也使得我為了飯碗不得不繼續增
強自己程式功力。
  可是,越學習就越發現,程式設計怎麼這麼廣大
精深啊!
  最近由於開始寫三國遊戲,需要做需多資料庫管
於是開始接觸到BDE、ADO元件,還需要學會資料庫處
理 SQL語法。為了要控制Word、Excel文件,需要學
習 COM的用法。
  在公司要撰寫丟送封包的程式,需要學習Socket
函式、Select多工技巧,有的必需使用 BCB6.0 內建
的Indy元件。什麼ICMP協定、 ARP協定,以前都只有
聽過,現在不但要用相關的 Win API函式和了解相關
的檔案架構。有時候用到 Windows多工,還需要啟動
多執行緒(Muti-Thread)。
  還有各式各樣的管理系統要寫,有的涉及到低階
系統設計,回過頭來要去查中斷函式並需要瞭解簡單
計算機硬體架構、作業系統一下Linux一下Windows。
更由於客戶要求程式能兼容於新作業系統Vista而需要
去看相關技術文件。
  可以說,越深入學習,越覺得程式設計真是廣大
精深!尤其感覺到,以前會寫個九九乘法表被當作程
式設計基礎,能涉及到資料結構和演算法已經算很深
入;如果再扯到類別和多型,那程式幾乎已是看不太
懂。現在你忽然發現會上面那些工具還只是基礎!
  接著你就會發現,一本像字典一樣厚的工具書,
被你翻了又翻、翻了又翻,Win API 函式庫永遠是查
不完、用不完,MSDN程式範例是看了又看、看不懂還
要看;閒暇時後偶爾逛逛delphi.ktop之類網站看別人
寫的程式是練基本功方式、有時候還得為了小問題大
傷腦筋。
  越深入學習,越覺得自己功力不足。
  有時在仿間書局閒逛,常看到「三十天學會程式
設計」、「九十天學會遊戲設計」之類標語的書。我
有時會想笑,但有時又不得不想想,這樣的書、這樣
的標語口號,是否就是要給那些所謂的「初學者」一
個「夢想」,讓他們認為學習途徑是可以很短的而不
至於一開始就退縮、一開始就被嚇跑。
  或許就是這樣的「夢想」,使得那些入門的人獲
得一個前進的動力。不致於一開始就被沉長的程式碼
、複雜的技巧擊退。
  當這些初學者逐漸摸索進來後,他們自然就會發
現這個領域的博大精深了;於是,立志堅定的人自然
就會繼續學習下去,永無止盡....
  於是我在那些所謂初學者身上,彷彿能看見,高
中時代的自己....
  那種努力編織著夢想、完全初生之犢不畏虎的熱
血、完全不知程式設計有多廣大精深的傻勁!就這樣
不斷往前衝刺....
  或許這對現在有些畏懼的我,也是種激勵!我有
時也真的好想握住那些懷抱著設計遊戲夢想的熱血青
年,甚至擁抱他們,對他們說:
  「加油!我們或許學習領域層次不同,但同樣有
著一份希望創造的熱血;在學習過程中我會提供給你
我的經驗,當我注視著問題以及你那份學習的渴望,
我也能學習到許多,且讓我們一起學習!」
  在此祝福每一位:)!!
--
(繼續閱讀...)
文章標籤

天使 發表在 痞客邦 留言(8) 人氣(36,734)

  • 個人分類:電腦技術
▲top
«1...78

訂閱/追蹤此部落格

文章分類

toggle 美食 (2)
  • 美味食記 (60)
  • 食譜分享 (39)
toggle 休閒 (2)
  • 國外旅遊 (28)
  • 國內旅遊 (49)
toggle 興趣 (4)
  • 部落格知識家 (58)
  • 動漫評論 (11)
  • 電腦技術 (79)
  • 電玩攻略 (146)
toggle 居家 (5)
  • 單親爸爸紀錄 (5)
  • 親子育兒 (34)
  • 居家生活 (31)
  • 寵物日記 (31)
  • 勵志感人 (34)
toggle 個人 (3)
  • 職場甘苦 (16)
  • 搞笑趣事 (58)
  • 心情隨筆 (91)
toggle 藝文 (1)
  • 圖文創作 (34)
toggle 娛樂 (2)
  • 電影評論 (10)
  • 音樂評析 (14)
toggle 流行 (2)
  • 時尚流行 (25)
  • 時事新聞 (55)
  • 未分類文章 (1)

近期文章

  • [考據] 咻~蹦一聲很大聲 的迷因來源探討
  • [懷舊老遊戲] 大航海時代II全主角攻略 記憶考驗
  • [工作] 軟體工程師會被取代?學什麼程式語言好?
  • [歷史] 二戰時世界各國有發展核武嗎?為什麼最後是美國在日本丟原子彈?
  • [感想] 為什麼宗教和玄學永遠都比科學吸引人
  • [電腦] 如何抓取Facebook影片,不需額外裝工具
  • [歷史] 為什麼關羽會被拜為神、拜關公信仰怎麼來的呢?
  • [科普] 費馬大定理的證明趣聞
  • [科普] 新竹產矽嗎?為什麼科學園區會選擇在新竹?
  • [餐飲] 為什麼自助餐蒸蛋價格這麼便宜?蒸蛋比例要多少?

熱門文章

  • (539,225)咖啡的種類介紹(藍山、曼特寧、巴西、卡布奇諾、拿鐵...)
  • (261,208)颱風假在家的小遊戲推薦-養魚遊戲豪華版(附下載點)
  • (164,642)[題庫] 貧民百萬富翁題庫選
  • (113,546)麥阿喜 (Dragostea Din Tei) 原文歌詞、翻譯與介紹
  • (79,667)美味蟹堡作法 食譜秘方大公開!
  • (67,039)論真實歷史上的趙雲(自三國志趙雲傳與趙雲別傳)
  • (48,686)[食譜] 比五十嵐還好喝的自製可可芭蕾
  • (45,836)Super Junior Sorry Sorry 原文歌詞、羅馬拼音與幻聽歌詞
  • (38,759)印度F4 中文歌詞第一手翻譯與詳細介紹 (都督嚕大大大)
  • (19,260)BCB中Indy元件問題(IdHTTP, IdTCPClient)

最新迴響

  • [26/01/20] 蔡明 於文章「麥阿喜 (Dragostea Din T...」留言:
    他們確實是摩爾多瓦人沒錯,但其實他們是在羅馬尼亞出道的羅馬尼...
  • [26/01/20] 蔡明 於文章「麥阿喜 (Dragostea Din T...」留言:
    他們確實是摩爾多瓦人沒錯,但其實他們是在羅馬尼亞出道的羅馬尼...
  • [25/11/10] Pleaz 於文章「PLANETES 惑星 by 黒石ひとみ...」留言:
    版主這篇幫了很多人 大感謝 影片的不同版本 h...
  • [25/08/17] 菸酒生 於文章「美味蟹堡作法 食譜秘方大公開!...」留言:
    最近正處在論文地獄,翻閱文獻的我發現標題有超連結,點進來是美...
  • [25/04/27] 蘋果用蘋果 於文章「[電腦] 如何抓取Facebook影片,...」留言:
    下載Facebook影片可以使用網址變更為mbasic,然後...
  • [25/01/15] 訪客 於文章「颱風假在家的小遊戲推薦-養魚遊戲豪華版(...」留言:
    我想回味瘋狂水族箱 童年的遊戲 看到這案連結怎麼沒有...
  • [25/01/09] 馬來西亞的99后 於文章「[懷舊] 西元2000年的美好(關於電腦...」留言:
    這個年代部落格都很少人在用了。今天聽著惡作劇的《遇到》,那種...
  • [24/12/25] 訪客 於文章「[政治] 為什麼台灣難以擺脫藍綠(國民黨...」留言:
    台灣最新詐術~你是否發現最近怪事一羅匡~{生意倒店}諸事不...
  • [24/11/14] 訪客 於文章「有效減肥成功的七十種方法/原則...」留言:
    跟大家分享我自己在用的減肥方法,懶人如我真的什麼動力每天每天...
  • [24/05/03] 訪客 於文章「[攻略] 精靈寶可夢(神奇寶貝)紅綠藍皮...」留言:
    想請問寶可夢的經驗值要去哪裡升比較快...

文章彙整

參觀人氣

  • 本日人氣:
  • 累積人氣: