發表文章

目前顯示的是 8月, 2021的文章

高中二年級下學期自主學習作品[經典遊戲破解 - 適者生存解俄羅斯方塊]

圖片
經典遊戲破解 - 適者生存解俄羅斯方塊 作者:朱沿道 高二下自主學習作品 動機 用 Unity 做完一個遊戲,雖然感到很驕傲,但頓時失去了目標。國中二年級時,為了發洩被家長限制遊戲時間的不悅,決定奮發圖強。既然我不能玩別人的遊戲,那我自己做出來的遊戲你就拿我沒辦法了吧。因為這個原因,我學習程式設計,到了現在。 那時的我認為這個目標我會花一段時間才能完成,但沒想到在高二上就完成了。我了解到我需要一個更遠大的目標,來提供我學習程式的動力。這時突然爆發 COVID-19 ,許多人的性命在短短的一年被取走了。現在科技這麼進步,為何還是阻止不了傳染病的擴散?在反思的過程,發覺到活著的意義:相較於做遊戲,努力地迎合玩家,無止盡的跟隨大眾喜好,不如 提升人們生活品質,藉由科技改變環境 ,即使離開了人世,我的努力還是會繼續留在人世,成為未來人的階梯。數學已發展了許多世紀,幫助人們在研究領域度過重重困難。電腦是一個強大的數學工具,突破了人們對於計算的想像,將會是人類進步的另一利器。因此,我希望可以學習大數據與機器學習,將來可以充分地利用此工具,回饋給人們的生活。 人生的志向已經立定了,還是得要有一個短期目標朝向志向前進。這時,我回想起一年級下學期在社團製作的專案。那時的我對破解遊戲感到興趣,並且立刻數學課所學之期望值應用在此,還參加了小論文競賽,並且獲得了佳作。竟然此舉動受到了不錯的成效,那此時為何不要破解一個關於機器學習的遊戲? 目標 完成一個可以自動遊玩線上俄羅斯方塊的程式。 專案說明 什麼是俄羅斯方塊 俄羅斯方塊是一個益智型電腦遊戲,每一刻都會有俄羅斯方塊從版面上方掉落,可藉由鍵盤控制俄羅斯方塊左右移動與旋轉,當一列被塞滿俄羅斯方塊時,該列會消失,上面所有列向下移一格,目標為不讓堆積的俄羅斯方塊超過最上面的界線,當俄羅斯方塊超過上面界線時,遊戲結束。 確定輸入 在此使用 IPO 模型,先了解輸入的資料,接著確定輸出的格式,最後再根據輸入與輸出思考處理資料的方法。在此主要有三個欲知的資料,一是現在版面的狀況,接著是正在落下的俄羅斯方塊種類,下一個落下的俄羅斯方塊也是重要的資料。 首先,因為是線上俄羅斯方塊,唯一偵測這些資料的方法就是讀取螢幕某特定位置的顏色。至於這種方法需要先知道偵測的位置,非常麻煩,因此盡量能避免就避免。現在版面的狀況可