西洋棋的棋盤由64個黑白相間的網格與32顆棋子組成,2位棋士分別操作國王、皇后、城堡、騎士、主教和士兵等6種共16顆棋子,從這麼簡單的規則出發,估計能夠走出1043至1050種棋局變化,是個相當具有深度的棋藝遊戲。1983年推出的1K ZX Chess程式大小僅有672byte,然而這個記錄被BootChess的487byte給打破了。
超級小的陽春西洋棋
在BootChess出現之前,檔案大小最小的西洋棋程式是David Horne於1983年推出的1K ZX Chess,這款Sinclair ZX81電腦的西洋棋程式僅佔用672byte記憶體,而且還內建電腦對手,讓玩家可以與電腦對奕。
1K ZX Chess的記錄維持了32個年頭,然而在2015年初被Red Sector Inc所推出的BootChess所打破,BootChess將完整的西洋棋遊戲放在487byte的程式中,檔案大小只有1K ZX Chess的72.47%,足足小了四分之一以上。
使用組合語言所撰寫的BootChess,不但小巧的檔案大小讓人驚豔,它更是橫跨Windows、Linux、OS X以及BSD等多個平台。BootChess的工藝成就或許在近期內很難被打敗,除非有人直接對BootChess的程式碼進行最佳化,否則BootChess要與1K ZX Chess一樣,維持30年以上的最小西洋棋程式寶座,也並非不可能。
▲1983年推出的1K ZX Chess維持了32年最小西洋棋程式的頭銜。(圖片來源:維基百科 ,本圖根據美國版權法的合理使用)
▲當年Your Computer Magazine雜誌對1K ZX Chess的報導。(圖片來源:網際網路檔案館 )
▲ZX81是Sinclair Research於1981年在英國推出的電腦。(圖片來源:維基百科,本圖採用創用CC姓名標示-相同方式分享,作者為Evan-Amos )
▲BootChess的介面相當陽春,不過這也是為了縮小檔案大小的手段之一。
▲檔案大小僅有487byte的BootChess,打破了1K ZX Chess留下的記錄。
▲有興趣的讀者可以到這邊 下載BootChess程式。
撰寫組合語言難度高
基本上電腦的程式語言可以粗分為低階語言與高階語言,低階語言之所以被稱為「低階」,是因為該它運作時與處理器的機器語言或指令直接對應,因此也被稱為原始的程式語言。而高階語言則比較接近人類的日常語言,使用一般人易於接受的文字來表示,能夠降低撰寫程式的難度,易讀性也比較高。
低階語言並非比高階語言差,相反的,低階語言由於無需大量的編譯動作即可被處理器所執行,因此以該類程式語言編寫的原始碼編譯和運作效率一般較高階語言的原始碼為高。
組合語言(assembly language)即為低階語言的1種,除了撰寫起來比高階語言(如Java或C等程式語言)更困難之外,再加上它是用於電腦、微處理器、微控制器或其他可程式化元件的低階語言,在不同的裝置中組合語言對應著不同的機器語言指令集,所以不像許多高階語言,可以在不同系統平台之間移植,更可看出BootChess的精湛之處。
延伸閱讀:
大企業都在用哪些程式語言?圖解程式語言編年史
在西洋棋、將棋打敗人類之後,電腦也將在圍棋戰勝人類
電腦勝人腦?將棋電腦打敗日本女棋王
標籤:知識百科 , 教學 , 新聞 , 程式語言 , 西洋棋 , 程式 , 組合語言 , bootchess , 棋 , 最小程式系列
下一則
購買超高解析度顯示器前,你必須先搞懂顯示傳輸介面帶來的影響
您可能會有興趣的文章
家用主機秘辛22:ePSP破解,介入模擬器與實體主機間的溝通
談到破解ePSP,就不得不感謝kermit模組,這個模組的功能是負責ePSP模擬器與實體Pla...
採H.265基礎的圖片壓縮新技術BPG,大幅提高低流量畫質
著名法國程式設計師法布里斯•貝拉,將次世代影像編碼格式H.265的技術運用在他新開發...
GIF全新進化,GIFV動畫不再卡卡
GIF圖檔是網路上常見的檔案格式之一,它除了能夠儲存單張畫面外,也支援多重畫面組成的動畫,像是...
在美國,寫什麼程式收入最高?答案是:Java
大家對於工程師的印象不外乎是高收入還有熬夜加班到爆肝,不過是不是真的每種程式語言的工程師都能有...
11 種你可能還不知道的 Chrome 實用擴充功能
隨著瀏覽器的競爭越來越白熱化,有不少團隊也為了增加瀏覽器使用的方便性開發了擴充功能,從提升工作...
您可能會有興趣的文章
留言列表