黨偉珍
隨著現代電視機技術的發展和普及,電視機已經成了人們生活必不可少的一部分。人們對電視機的要求越來越高,電視機不僅可以用來收看電視節目,更可以作為家庭影院、卡拉OK的主要組成部分。除此之外,還可以作為學習工具和游戲玩具。
在普通的電視機上作互動游戲,就是在一定的規則約束下,通過電視機和遙控器,利用交互界面CRT,使用戶能夠直接參與游戲,增加電視機的趣味性,達到用戶娛樂的目的。由于游戲程序部分和電視機控制程序部分共享CPU資源,所以芯片功能是否能夠滿足游戲的基本要求往往成為游戲設計與選材的決定因素。這包括:OSD顯示功能的能力、給予的代碼空間等等。游戲代碼空間過大,則相應的對CPU的代碼空間要求提高。
然而在電視機軟件中又是如何來實現游戲的操作呢?其實,我們可以這樣想,電視機軟件可以提供一個用戶界面,方便用戶來控制電視機操作,那為什么不能同樣地構造一個游戲界面,以提供給用戶進行游戲操作呢?在電視機軟件中,我們把游戲部分當作普通的按鍵操作處理來看待,只不過這種關于游戲的按鍵操作比普通的按鍵操作要有更多的邏輯關系處理在里面。用來游戲的按鍵是可以和普通按鍵復用的,游戲的時候當作游戲鍵用,看電視的時候當作普通的電視機操作按鍵用。


帶有游戲軟件的電視機的原理示意框圖如圖1所示。E2PROM用來存儲游戲過程中的各種狀態以及電視機操作過程中的各種狀態。CPU中的ROM用來存儲游戲軟件的列表、 電視機控制程序的程序代碼。
我們拿一個簡單的拼圖游戲(圖2)來解釋一下在電視機軟件中增加游戲軟件的方法。拼圖游戲是一種操作規則比較簡單的益智類游戲。其實很多人小時候可能都玩過的,我記得那時候都是拼板,魔方和它也是同樣的道理。但那時候的拼板玩OK一次以后,要自己手動將其搞亂,新的隨機產生的位置總共有40320種,所導致的難度更是無法把握,要想難度逐級遞增來考驗自己的智力水平,那是沒有辦法的。而現在,用電視機做玩具,卻可以幫助我們選擇我們所能適應的難度。
圖2所示的游戲規則為:按照排列的難度,將以上8個數字放在不同的格子里,要求玩家以白色的格子為緩沖,上下左右移動數字塊,以達到如上圖所示結果為目的。
游戲要求:
1、要求游戲分別有一個關數的選擇界面和操作界面。
2、要求以電視遙控器為手柄,以電視機為顯示屏,將游戲內嵌于電視機軟件中。
在電視軟件中,一般定時有按鍵搜索,在檢測到有按鍵按下時,執行按鍵處理程序。在按鍵處理程序中,判斷當前osd(屏顯)狀態,若為游戲關數選擇界面,則按鍵處理程序用來選擇關數、進入游戲界面和返回普通電視狀態;若為游戲操作界面,則按鍵處理程序用來實現相關的游戲動作和返回游戲關數選擇界面;否則,按鍵處理程序用來進入游戲關數選擇界面或者處理普通的電視功能。

該游戲所用到的按鍵主要由一個游戲鍵、四個方向鍵、一個確認鍵來控制。三種按鍵按下后程序框圖如圖3所示。
編程軟件中涉及到的 數據結構與游戲模塊中的函數見本刊網站。現在,我們已經知道了如何在一個普通的電視機軟件上增加游戲模塊了。觸類旁通,其它電視機上的附加模塊,例如萬年歷等獨立模塊都是相同的道理,相較而言,這些模塊的開發制作和普通的電視機軟件的開發制作是相互獨立的,因而也就比較簡單。進一步的比如節目預約等功能模塊就和普通電視機軟件的聯系更加密切,這也就需要對電視機機原理尤其是節目管理部份的原理再進一步了解才行。