2011年6月23日 星期四

期末專案

期末專案 - KUTAR之發氣球與機智搶答

這個期末專案的靈感是來自學長的作品 - 小朋友上樓梯與下樓梯
小朋友上、下樓梯操作很簡單,下樓梯只要控制左右,上樓梯除了左右還有跳的動作。
我這兩個遊戲也很簡單,只要點滑鼠左右鍵即可,相當好上手!
不過可別光看遊戲操作簡單就認為沒什麼挑戰性,遊戲的速度可是會隨著時間越來越快,滑鼠點太慢或太快都可能導致失誤,失誤一次遊戲就結束了。
而且這系列遊戲還挺奸詐的呢!有的時候遊戲會做假動作騙你,或者是場景突然變化混淆你的視聽。
所以說這遊戲可是相當考驗手速、反應與節奏感!

第一款 - 發氣球
遊戲說明:遊戲中你要發氣球給來遊樂園玩的kutar們,kutar有兩種,分別是大kutar與小kutar,大隻的要給大氣球,小隻的要給小氣球。如果發錯或發的太慢就算失敗了,此時主角可是會變胖以表示尷尬、難過或遭遇挫折。

第二款 - 機智搶答
遊戲說明:遊戲中畫面上方會出現問題與答案選項,你必須要在極短時間內正確回答,否則對方比你搶先一步回答就失敗了(當然對方一定會答對,所以你要搶答)。

遊戲影片(二合一):


心得:
我發現以程式碼模擬滑鼠和鍵盤事件比我當初想像的要簡單多了,原本以為是要寫網路port方式或是把輸入指令動態寫到.dll檔裡,然後遊戲再去讀它。後來老師有在落格貼模擬滑鼠和鍵盤事件的連結,裡面有程式碼可以參考,不過還是因為一些程式語法不熟悉,轉換成bcb的語法上碰到一些問題,後來同學告訴我用兩行程式就能辦到(mouse_event中mouse down與mouse up),再加上我只有滑鼠部分要輸入而沒有鍵盤輸入,程式似乎又變的更加簡單,結果程式碼一加還真的偵測到滑鼠就會點,當場愣了一下,只不過滑鼠會瘋狂亂點還要再加上一些條件限制才行,雖然程式碼簡單還是要感謝同學的一席話。
另外關於一些程式技巧,這程式的主角就是callbackfunction了,這callbackfunction裡包含了轉換視訊畫面成圖片、然後圖片跟背景色彩值相減、然後依臨界值把相減後圖片的轉成黑白(為了去掉雜訊還要轉換成Block,想像成圖縮小再放大的模樣)、最後假如白點出現在某個區域就要去產生滑鼠或鍵盤事件,使得遊戲接受到指令開始遊戲。一個callbackfunction有這麼多事要做,而且還要每秒做三十次,光想就知道電腦一定很喘,遊戲的流暢與否關鍵就在這了,因此在這個callbackfunction裡能不做事的就盡量別放進來,這大概是我在這們課所體會最深之一了。

沒有留言: