顯示具有 97363051 張懷 標籤的文章。 顯示所有文章
顯示具有 97363051 張懷 標籤的文章。 顯示所有文章

2011年6月24日 星期五

期末專案:太空軍校生 Windows彈珠台!!

 前陣子整理VMware上安裝的XP時,心血來潮玩個接龍,
忽然注意到這款,僅在XP上內建的微軟小遊戲--windows立體彈珠台。

 還記得小時候逛夜市時 那總能讓小孩子玩得不亦樂乎的整排彈子台??
結合著視訊,現在就來讓大家重新回味一下這款,映入絲絲童年的小遊戲。

Windows彈珠台



視訊主程式畫面

 老師教導的作法是,先擷取建立一張背景圖,
再讓後面的影像做對比來判斷出畫面內有無動作。

 不過個人想說,這種做法受到背景變動的影響很大,
所以寫這程式時,背景圖與對照圖是以時間差的方式在做更新,
因此程式一開始不用擷取背景,直接按一下 Button [Now is Off]
即開始判斷WebCam所拍攝的場景裡,有無東西在動。



 畫面的中間的[Hide],可以隱藏背景組跟對照組,
這時會出現一個框框[Mouse Place],那是執行按鍵輸出功能的判斷開關。
將滑鼠移進那範圍,程式才會開始判斷左右手的舉起與否,
輸出遊戲左右桿動作的指令。

 這算是一個安全鎖的功能,防止不小心跳出遊戲畫面時,
對其他程式亂輸出指令。


 至於視訊程式,對於動作的判斷,因為想要讓動作自由、直覺些 ,
偵測到大動作(如:抬起左手)即作出指令輸出(揮動左桿),
不用緊盯著視訊畫面,一邊猜測那判斷區塊在空中的位置。

 而因為這遊戲指令比較簡單,只需輸出左桿跟右桿的動作,
所以沒有用複雜的計算,就只是判斷黑框的左邊三分之一與右邊三分之一,
其白點所占畫面比例,來判斷是否觸發動作。

 如覺得判斷不靈活,程式右上角[White Point] 可自訂輸入判定百分比例,
讓其判斷更靈敏、或是更穩重。



遊戲與視訊程式執行畫面


實際執行影片


 這次寫作時,卡住了許多地方。
因為研讀老師的範例程式碼不確實,漏掉幾行參數,
結果後面的一些功能怎嚜試都總是出錯,
最後還是花大量時間重新從以前程式碼一步一步做修正與理解...

 至於自己更改的部分功能,像是:背景影像與對照影像的同步更新,
原本是想要把截圖丟進callback function定時截圖,不過試驗失敗,
後來就想到換個方法,連背景部分都是用同步視訊擷取視窗連結,
只要抓好時間差,就可以抓到中間的間隔,判斷出動作。

 白點判定範圍,一開始是想可能要寫大量演算式,
後來想到其實遊戲功能並不複雜,那不如設個參數來統計,
左半與右半邊的白點數量,再設定一個門檻,只要超過就判定有動作輸出,
這部分很快即完成。

 其中弄最久的部分,是個不起眼的keybd_event( x,0,0,0) 輸出鍵盤事件。
剛開始程式寫好後在記事本上做測試,都可以正常執行,
不過換到遊戲上後,不知為何接受到指令後就沒動作了。
最後才注意到,忽略了keybd_event( x,0,KEYEVENTF_KEYUP,0)
鍵盤彈起事件....



結語與期末回顧

 這學期過的散散漫漫,沒有做好學習,弄到最後要寫期末專案,
這邊卡住那邊當機...
 期末專案雖然多是從老師的範例程式修修改改拼拼貼貼過來,
不過總想要試著自己添加些不同的元素,讓其慢慢變成自己的東西。
但真的說要完全自立寫出來,以現在的功力實在是很有待加強,各種方面...
 三十分鐘新增幾個小功能,後面要花三個小時以上Debug,想說
學到的經驗、得到的結論,大概不是什嚜Debug、寫作的技巧,
而是對學習態度的懺悔...
 一邊感謝著老師平日的教導、同學的幫忙,
(尤其謝謝李翼豪學同學,李大師細心指導哀!!)
沒有這些幫助這個總結整學期精華的作品恐怕沒辦法這嚜順利生產出來;
(雖然其實也沒多順利...)
一邊也總要反省:是不是該好好認真了,再這樣混下去,問題可會不少....

2011年5月24日 星期二

Week 15 作品評鑑感想及期末專案構想

看過了老師Blog上,歷屆修課學長姐們的作品,各各皆獨具特色,其中讓我最喜歡的一個作品,是2010作品集次序16的紀辰融學長 - 神經的貓。
跟其他學長姐們的作品相比較,這位學長的作品雖然沒有華麗的特效、耳目一新的設計跟令人驚艷的功能,但是那輕鬆又流暢的遊戲,簡單的構想跟幾張圖片切換能讓整個畫面生動了起來。讓人忍不住回想當年流行的電子寵物,明明只是黑白幾點方塊拼湊的點陣圖,卻是如何讓人時時滿心掛記,視線捨不得離開那虛擬生命的每一步動作。

評鑑過學長作品後,就要開始慢慢構想自己的期末專案。其實當初也在許多網站看過相關視訊遊戲文章,偶爾也有些許想法:如果是我來寫視訊作品...
  • 要使用什麼主題??
  • 要表現出什麼樣的畫面??
  • 既然是視訊,那介面果然是要簡單又高互動性??
  • 如果場景僅侷限在一個小方框,那選擇桌上型遊戲如何??
  • 簡單又高互動的遊戲類型果然是趣味競技類遊戲??
  • 桌球、推球,之類的遊戲好似已經有人做過了??
  • 那桌上型足球呢??
  • 如果照正式規則雙方皆四排十二木人場面上共二十四個人偶畫面是否過於擁擠不易控制,而應縮減排數及人偶數??
漫漫想法慢慢成型。

2011年3月29日 星期二

Hw.2 WebCam 程式



 這次的作業,因為個人的怠惰,遲了很久才交....
 也因為隔了幾個禮拜,好幾行程式碼都印象稀疏,雖說作業將老師的範例程式碼複製貼上就完成了,也雖然每行程式碼後頭都有中文註解說明它的功用,不過一行一行重新理解應用方式也花了一點時間。只是有一點還是搞不懂,有時程式打開來就跳出


的選項,即使選擇了也一片黑屏,好像是程式抓不到WebCam,但左方明明都有抓到訊息。


而程式碼一字未改關掉打開後,有時又能正常讀取....

心得報告: 第56號教室的奇蹟

 孩子常常被「害怕」控制著。

 以前從未細想過,總認為師長們說一就是一,說三不敢有二。隨年紀增長,發現自己或是同濟的愈來叛逆,即使不說真的目無法紀,也不如兒時的唯命是從。這本書開頭第一句就讓我忍不住停下、細嚼。仔細回想過去以來,師長們眼中的「認真學習」的動力源頭,是否真就如同書中抬頭點破的,我們是被害怕控制著?即使師長們說教完摸著咱的頭說道:「這些道理你們現在不懂沒關係,長大後就會慢慢理解了。」我們好像也不是因為「信任」解那口中所題的「以後」、「未來」,而是「害怕」當下如不應承師長的話,接下來會有如何懲罰?

 書中接下來提到了如何打破由「害怕」所建立的互動關係,以「信任」做為取代;這能不含任何隱喻,純粹由字面上的意思雙方「信任」著,在此看來竟意外的耀眼。一直以來總有一個藏在心裡的價值觀,信任好像是大家說好為了讓事情順利進行下去把衝突壓下檯面大家心知肚明的一個幌子;卻沒想過這想法一開始就違背了「信任」這詞的涵意。常常看日本動畫,裡面最常出現的兩個詞彙「信じる」(相信)、「約束」(約定),其實現在很多地方,都從小教育大家以信任為基礎來與人互動,只不過被一直以來的價值觀曲解了它的意義,總覺得那種純粹的信任是多麼不切實際,而總未動身去作出真正的信賴,真正的與人建立信任關係。

 除了信任與害怕,書中歸類的互動關係還能分六部份:
   第一階段:我不想惹麻煩
   第二階段:我想要獎賞
   第三階段:我想取悅某人
   第四階段:我要遵守規則
   第五階段:我能體貼別人
   第六階段:我有自己的行為準則並奉行不悖

 既是歸類,自然會想找例子來印證它,最直觀的範例就屬自身成長過程。而反省從小的行動,好似從來沒脫離前三階段,甚至是前兩階段。小時候,總是被大人們說乖巧聽話,而持續「乖巧聽話」的動力,最初好像總是因為這樣照著做,父母就會很高興。父母一高興,一方面取悅到他們,也一方面表現良好會得到稱讚,或是糖果餅乾;偶爾一兩次沒遵照教導時,換來的賞罰也清楚得表達「不乖」會造成自身多少的麻煩。

 作者的希望是能階段性成長,漸漸引導學會遵守規則跟體貼別人。看到這邊我卻有自己的想法:其實所謂的四、五階段,不就是前三階段的集合?因為不想惹麻煩,自然會遵守規則。如同行車要繫安全帶、騎車要戴安全帽,不就主要怕招來警察,給自身添上不必要的麻煩?而體貼別人,於理上擁有公德心,就是遵守規範;於情上也可讓對方高興,算是取悅他人;最後通俗一點,禮尚往來對方也會體貼回饋,這不就是屬獎賞?

 或許,其實作者是要表達,出於內心的階段準則。就想偶爾不小心騎車滑跤,這時會慶幸有戴安全帽讓傷害致於沒很嚴重,達到規則之下,希望保障駕駛人安全的目的;體貼他人也是讓生活品質更好,讓位給陌生人不是為了回報而是希望對方能更舒服,良好的社會風氣循環給人內外的提升助益良多。

 最後的第六階段:有自己的行為準則並奉行不悖,可以引用子曰:「七十而從心所欲,不踰矩。」一如作者所說的:此為道德最高目標。雖然不易行,但退一步也可以讓人發想,能否找到一條屬於自己的「道」?一條值得一生遵循的「道」,每個人定有不同,書中未給標準答案,而是給了一個方向,我們可以遵照作者所指引的方向,也可以自己由歷練中慢慢追尋,但是能喊出:「找到了!」的那瞬間,或許又是自我成長的一刻?

 雖然寫了通篇心得,其實對這本書的想法化成語言完整表達的並沒多少。老師會指定這本書要求我們細讀,應該是此書裡面有引人省思的地方。當初會讀這本書,純粹只是把它當成作業來應付,也未花時間真正在上面細讀,甚至覺得讀書心得報告這東西應該是小學生寫的課題,還能用書中所提之「第一階段」表達心態。已經許久未為了閱讀而閱讀,好似漸漸已淡忘年幼時拿到書物,雀躍翻閱的感覺,或許應該再找時間從頭慢慢看,體會書中道理。不敢說是溫故知新,但如同咀嚼純麥麵包一般,在口中愈嚼、愈久、愈香。

Hw.1 WebCam遊戲



 以前對這些互動遊戲的印象,不是要在特製的機台(Wii那類遊戲機)上才能玩,就是要買專門的配件(如遊戲場常看到的射擊遊戲機台感應槍),沒想過原來只要有一個普通的WebCam(甚至說現今大部分筆記型電腦上都會附有)就可以遊玩到,而且畫面簡單又流暢,像是試玩的這款滑雪遊戲,在人有動作時還會將輪廓表出以便辨認,實在讓人有耳目一新的感覺。