党伟珍
随着现代电视机技术的发展和普及,电视机已经成了人们生活必不可少的一部分。人们对电视机的要求越来越高,电视机不仅可以用来收看电视节目,更可以作为家庭影院、卡拉OK的主要组成部分。除此之外,还可以作为学习工具和游戏玩具。
在普通的电视机上作互动游戏,就是在一定的规则约束下,通过电视机和遥控器,利用交互界面CRT,使用户能够直接参与游戏,增加电视机的趣味性,达到用户娱乐的目的。由于游戏程序部分和电视机控制程序部分共享CPU资源,所以芯片功能是否能够满足游戏的基本要求往往成为游戏设计与选材的决定因素。这包括:OSD显示功能的能力、给予的代码空间等等。游戏代码空间过大,则相应的对CPU的代码空间要求提高。
然而在电视机软件中又是如何来实现游戏的操作呢?其实,我们可以这样想,电视机软件可以提供一个用户界面,方便用户来控制电视机操作,那为什么不能同样地构造一个游戏界面,以提供给用户进行游戏操作呢?在电视机软件中,我们把游戏部分当作普通的按键操作处理来看待,只不过这种关于游戏的按键操作比普通的按键操作要有更多的逻辑关系处理在里面。用来游戏的按键是可以和普通按键复用的,游戏的时候当作游戏键用,看电视的时候当作普通的电视机操作按键用。
带有游戏软件的电视机的原理示意框图如图1所示。E2PROM用来存储游戏过程中的各种状态以及电视机操作过程中的各种状态。CPU中的ROM用来存储游戏软件的列表、 电视机控制程序的程序代码。
我们拿一个简单的拼图游戏(图2)来解释一下在电视机软件中增加游戏软件的方法。拼图游戏是一种操作规则比较简单的益智类游戏。其实很多人小时候可能都玩过的,我记得那时候都是拼板,魔方和它也是同样的道理。但那时候的拼板玩OK一次以后,要自己手动将其搞乱,新的随机产生的位置总共有40320种,所导致的难度更是无法把握,要想难度逐级递增来考验自己的智力水平,那是没有办法的。而现在,用电视机做玩具,却可以帮助我们选择我们所能适应的难度。
图2所示的游戏规则为:按照排列的难度,将以上8个数字放在不同的格子里,要求玩家以白色的格子为缓冲,上下左右移动数字块,以达到如上图所示结果为目的。
游戏要求:
1、要求游戏分别有一个关数的选择界面和操作界面。
2、要求以电视遥控器为手柄,以电视机为显示屏,将游戏内嵌于电视机软件中。
在电视软件中,一般定时有按键搜索,在检测到有按键按下时,执行按键处理程序。在按键处理程序中,判断当前osd(屏显)状态,若为游戏关数选择界面,则按键处理程序用来选择关数、进入游戏界面和返回普通电视状态;若为游戏操作界面,则按键处理程序用来实现相关的游戏动作和返回游戏关数选择界面;否则,按键处理程序用来进入游戏关数选择界面或者处理普通的电视功能。
该游戏所用到的按键主要由一个游戏键、四个方向键、一个确认键来控制。三种按键按下后程序框图如图3所示。
编程软件中涉及到的 数据结构与游戏模块中的函数见本刊网站。现在,我们已经知道了如何在一个普通的电视机软件上增加游戏模块了。触类旁通,其它电视机上的附加模块,例如万年历等独立模块都是相同的道理,相较而言,这些模块的开发制作和普通的电视机软件的开发制作是相互独立的,因而也就比较简单。进一步的比如节目预约等功能模块就和普通电视机软件的联系更加密切,这也就需要对电视机机原理尤其是节目管理部份的原理再进一步了解才行。