网球游戏系统的制作方法

文档序号:1587525阅读:236来源:国知局
专利名称:网球游戏系统的制作方法
技术领域
本发明涉及网球游戏系统,具体涉及例如通过操作输入装置来对打监视器画面上显示的球的网球游戏系统。
背景技术
传统的网球游戏系统中,一般游戏者通过操作设于作为输入装置的控制器的游戏杆等来控制监视器画面上的网球游戏者的位置,调整击球位置。
因而,传统的任何网球游戏系统中,是否能适当和灵巧地操作控制器是游戏胜败的关键,因此不易玩好,尤其是对于老人或小孩更为困难。

发明内容
本发明的主要目的在于提供比较简单易玩的网球游戏装置。
本发明的网球游戏装置,是在打球侧网球手和对方网球手之间对打监视器画面上显示的球的网球游戏系统,其中设有计算球从对方网球手击回的预测返球位置的装置,以及基于预测返球位置移动打球侧网球手的击球位置的击球位置移动装置。
网球游戏系统作为实施例用附图标记10表示,其中包括通过AV电缆(22表示实施例中的相应部分的附图标记,以下同)连接到监视器即电视接收机(20)的游戏机(12),以及对游戏机进行操作输入的球拍型输入装置(34);游戏者操作该球拍型输入装置,指示监视器画面上打球侧网球手打球。该场合,游戏机包含游戏处理器(52),由游戏处理器构成预测返球位置计算装置(步骤S141)和击球位置移动装置(步骤S145及S146)。
具体而言,在实施例的

图19的步骤S141中,游戏处理器计算来自对方网球手的返球预测位置,并将此时打球侧网球手的现在位置及其预测返球位置进行比较,判断预测返球位置是否在打球侧网球手的打球可能范围(步骤S143),若该判断装置判断为在打球可能范围外,则击球位置移动装置即游戏处理器移动击球位置。
再有,若设监视器画面的左右方向为X轴,则击球位置移动装置在X轴方向移动击球位置。
另外,输入装置中设置了操作开关(38),位置变更装置(图20的步骤S152及S158)响应该操作开关的操作,将击球位置变更到相当于与监视器画面垂直的方向的Z轴方向,击球位置设为前卫位置或后卫位置。
依据本发明,由于打球侧网球手的击球位置被自动地控制,即使不能熟练操纵操作装置也能够移动击球位置,因此老人或小孩也能较简单地玩游戏。
对于本发明的上述目的和它的其他目的、特征与优点,在参照附图对以下的实施例进行的详细说明之后将会进一步清晰理解。
附图的简单说明图1是本发明一实施例的体感网球游戏系统的整体结构的图解。
图2是图1的实施例中的电视监视器上显示的游戏画面的一例图解。
图3是图1的实施例中的电视监视器上显示的游戏画面的另一例图解。
图4是表示图1的实施例的框图。
图5是图1的实施例中的球拍型输入装置的内部结构的图解。
图6是表示球拍型输入装置的电路图。
图7是表示球拍型输入装置的动作的各部分波形图。
图8是表示图1的实施例的整体动作的流程图。
图9是图1的实施例的状态或状况的转移的图解。
图10是表示图4的实施例中的MCU的整体动作的流程图。
图11是表示图10所示的加速度检测处理的具体动作的流程图。
图12是表示图10的实施例中的代码发送处理的具体动作的流程图。
图13是表示图8的实施例中的游戏处理器的代码接收处理的具体动作的流程图。
图14是表示图8的实施例中的游戏处理器的抛球前处理的具体动作的流程图。
图15是表示图8的实施例中的游戏处理器的抛球中处理的具体动作的流程图。
图16是表示图8的实施例中的游戏处理器的往复击打(rally)中处理的具体动作的流程图。
图17是表示图8的实施例中的游戏处理器的球座标控制处理的一部分具体动作的流程图。
图18是表示球座标控制处理的另一部分具体动作的流程图。
图19是表示图8的实施例中的游戏处理器的网球手座标控制处理的一部分具体动作的流程图。
图20是表示网球手座标控制处理的另一部分具体动作的流程图。
图21是表示图8的实施例中的游戏处理器的计分处理的具体动作的流程图。
本发明的最佳实施方式参照图1,本发明的一实施例的体感网球游戏系统10包含游戏机12,该游戏机12通过AC适配器14被供给直流电源。但是,也可用电池16取代。游戏机12还通过AV电缆22与电视监视器20的AV端子18连接。
游戏机12还包括外壳,该外壳上除了电源开关24以外,还设有方向按钮26、确定键28及取消键30。方向按钮26分为4个方向(上下左右)的个别按钮,例如在为进行电视监视器20的显示画面上菜单或游戏模式选择而移动光标时采用。确定键28用来确定对游戏机12的输入。另外,取消键30用来取消对游戏机12的输入。
游戏机12中还设有红外受光部32,该红外受光部32接收来自后述的球拍型输入装置34的红外LED36的红外信号。
本实施例中采用2个球拍型输入装置34。各球拍型输入装置34上设有红外LED36和发球开关38。发球开关38用来进行网球游戏中发球时的抛球(toss-up)的操作,另外在向后飞去的往复击打中充当将击球位置移动到前卫或后卫位置的拨动开关使用。另外,如上所述,来自红外LED36的红外信号由游戏机12的红外受光部32接受。如后面说明的那样,球拍型输入装置34中设有用作加速度传感器的压电蜂鸣器元件,游戏机12接收到来自该压电蜂鸣器元件的加速度相关信号后,使图2或图3所示游戏画面上的球40发生变化。
参照图2,体感网球游戏系统10中的电视监视器20上显示的游戏画面中,球40和选手“角色”(character)42作为“精灵”(SPRITE)画面显示,而球网“角色”44和球场“角色”46作为文本屏幕(TEXTSCREEN)显示。另外,形成有显示现在游戏中网球游戏计分的计分显示部47。再有,如图3所示,进行对战型游戏时,电视监视器20的显示画面被分成上下2个画面,上侧显示从一方网球手看到的画面,下侧显示从另一方网球手看到的画面。而且,上下均显示球40、选手“角色”42、球网“角色”44和球场“角色”46。
该体感网球游戏系统10中,网球手将球拍型输入装置34与游戏画面上显示的球40的移动定时相一致地在真实空间中实际挥动时,游戏处理器52(图4)将来自压电蜂鸣器元件的加速度相关信号通过从红外LED36传送到红外受光部32的红外信号检测出,例如按照球拍型输入装置34达到预定的移动速度的定时和球40在画面上的位置,宛如球40从球拍弹回那样使球40朝向球场46的对手侧方向移动。按照球40移动后位置来识别是界外还是界内等。但是,挥动了球拍型输入装置34的定时和球40在画面上的位置有偏差时,例如认为是击空(向后飞去)。
参照图4,球拍型输入装置34如上所述包含红外LED36和发球开关(键开关)38,还内置了加速度传感电路48。加速度传感电路48如后述的图5所示包含压电蜂鸣器元件66及其关连电路,来自该加速度传感电路48的加速度相关信号被提供给MCU50。MCU50是例如8位的单片微机,将来自压电蜂鸣器元件的加速度相关信号变换成数字信号提供给红外LED36。
来自2个球拍型输入装置34各自的红外LED36的数字调制的红外信号,由游戏机12的红外受光部32接收,并经数字解调后输入到游戏处理器52。该数字信号的1位以开关38的导通或截止作为「1」或「0」传送,因而,游戏处理器52通过检验该位能够判别打过来的是来自哪方网球手的发球。
作为游戏处理器52,可使用任意种类的处理器,本实施例中采用本申请人开发且已申请专利的高速处理器。该高速处理器例如已在特开平10-307790号公报[G06F13/36,15/78]和与此对应的美国专利第6,070,205号中详细公开。
游戏处理器52包含运算处理器、图形处理器、声音处理器和DMA处理器等的各种处理器(未图示),还包含取得模拟信号时使用的A/D变换器,以及接收键操作信号或红外信号等输入信号并将输出信号提供给外部设备的输入输出控制电路。因而,来自红外受光部32的解调信号和来自操作键26-30的输入信号经由该输入输出控制电路供给运算处理器。运算处理器按照该输入信号进行必要的运算,并将结果供给图形处理器等。因而,图形处理器或声音处理器按照该运算结果执行画面处理或声音处理。
处理器52中设有内部存储器54,该内部存储器54包含ROM或RAM(SRAM和/或DRAM)。RAM作为暂时存储器、工作存储器或计数器或寄存器区(临时数据区)和标志区利用。再有,外部存储器56(ROM和/或RAM)通过外部总线与处理器52连接。该外部存储器56中预先设定了游戏程序。
处理器52基于来自红外受光部32或操作键26-30的输入信号在上述各处理器中执行运算、图形处理、声音处理等,输出视频信号和音频信号。视频信号由前述图2或图3所示的TEXT SCREEN和SPRITE画面合成,这些视频信号和音频信号,通过AV电缆22和AV端子18提供给电视监视器20。因而,电视监视器20的画面上,在显示例如图2或图3所示的游戏画面的同时,伴随必要的声音(效果音、游戏音乐)重放。
该体感网球游戏系统10中,简而言之,游戏机12即游戏处理器52接受包含来自2个球拍型输入装置34的红外信号的加速度数据,球拍型输入装置34的移动加速度达到峰值时,确定球40(图2)的移动参数,按照该参数使球40在游戏画面上移动。
如图5所示,球拍型输入装置34包括手把部分58及从该手把的前端延伸的击球部分或拍面部分60,这些手把部分58和拍面部分60例如由分成2部分的塑料外壳一体形成。
球拍型输入装置34的塑料外壳的拍面部分60内部,设有用以将分成2部分的外壳相互接合的支柱,还固定安装了构成加速度传感电路48(图4)的压电蜂鸣器元件66。众所周知,压电蜂鸣器元件66包含贴附在金属板68上的陶瓷板70,一旦金属板68和陶瓷板70上的电极之间被施加电压,就会发出蜂鸣声。本实施例中,这种结构的压电蜂鸣器元件66作为加速度传感器使用。即,陶瓷板70的材料为压电陶瓷,众所周知这种压电陶瓷受到应力作用时会产生电信号。因此,本实施例中,在金属板68和上述电极之间,将响应压电蜂鸣器元件66即球拍型输入装置34的移动而在陶瓷板70上发生的电信号取出。如后所述,本实施例中,通过按电信号进行预定的数字信号处理,在MCU50上取得加速度相关数字信号或数据。
外壳内还通过支柱装有印制电路板72。印制电路板72上装有发球开关38,同时还装有图4所示的MCU50以及红外LED36。
参照图6,先前说明的压电蜂鸣器元件66由加速度传感电路48所包含。另外,MCU50上设有外装的振荡电路80,MCU50响应来自该振荡电路80的时钟信号而动作。
而且,MCU50将矩形波信号从输出端口0输出,例如通过10kΩ的电阻82加到压电蜂鸣器元件66的一个电极66a上。压电蜂鸣器元件66的电极66a,例如经由0.1μF的电容84接地。电极66a上还连接有二极管电路86,由此将电压的变动幅度限定在一定范围以内。
压电蜂鸣器元件66的另一电极66b与MCU50的输入端口0连接,并与二极管电路88连接,由此将电压的变动幅度限定在一定范围以内。另外,压电蜂鸣器元件66的2个电极66a和66b由例如1MΩ的较高电阻90电气隔离。
图7(A)所示的矩形波信号施加于压电蜂鸣器元件66的电极66a时,伴随电容84的充放电,在MCU50的输入端口0上输入图7(B)所示的三角波信号。但是,矩形波信号的大小(峰值)和三角波信号的大小(峰值)分别由二极管电路86和88决定。
球拍型输入装置34(图4)静止时,即不改位移置时,如图7(B)的左端所示,三角波信号的负(-)侧电平不变化。但是,一旦球拍型输入装置34被操作者在三维空间内移动,由于伴随该移动产生的压电效应,在压电蜂鸣器元件66上产生电压。该加速度相关电压将三角波信号的负侧电平偏置。因而,球拍型输入装置34一旦移动,压电蜂鸣器元件66上就产生与该位移加速度的大小相应的电平的加速度相关电压,因而,输入到MCU50的输入端口0的三角波信号的负侧电平如图7(B)所示按照速度相关电压92的电平变动。
如后所述,MCU50将这样的三角波信号的负侧电平变动变换成加速度数据,按照该加速度数据驱动LED36。
以下,参照图8和图9说明图1的实施例的体感网球游戏系统10的概略动作。将图1所示的电源开关24导通后游戏就开始,但是图4所示的游戏处理器52首先执行步骤S1的初始化处理。具体而言,就是将系统和各变量初始化。
之后,游戏处理器52在步骤S2更新画面信号,将监视器20上显示的画面更新。但是,该显示画面更新按每1帧(电视帧或视频帧)执行。
然后,游戏处理器52按照状态执行处理。但是,最初进行的处理是选择游戏模式。该游戏模式选择中,操作者或网球手,在图7的步骤S3中操作图1所示的选择键26,选择1人游戏模式或2人游戏模式或者单人模式或双人模式,同时设定游戏的难易度等。
实际的网球游戏,从发球进行到往复击打,为了发球,需要将球40(图2、图3)在游戏画面内进行抛球。因而,游戏处理器52在步骤S4执行抛球前的处理,接着在步骤S5执行抛球中处理。即,如果在抛球前处理中按动发球开关38,就转移到抛球中处理,如果抛球中处理中没有挥动球拍型输入装置34,就返回到抛球前处理。然后,若在抛球中处理中球拍型输入装置34被挥动,则进入后面的步骤S6的往复击打处理。然后,若在往复击打中处理中确定了计分,则进入下一步骤S7的计分处理。另外,如果计分处理中该计分尚未满足局结束条件,就返回到游戏模式选择(S3)或抛球前处理(S4)。
再有,如图8所示,在步骤S5的抛球处理后和步骤S6的往复击打处理后,在步骤S8中,为了按照球拍型输入装置34的加速度数据将球40(图2、图3)在游戏画面内移动,执行球40的座标运算处理。
之后,若有视频同步信号的中断,则执行步骤S2(图8)的画面更新。另外,步骤S9的声音处理,在声音中断发生时执行,从而输出游戏音乐或击球声的效果音。发生该声音处理以外的中断时,在图8的步骤S10中,游戏处理器52接收从红外受光部32输入的红外信号(代码)。
参照图10,图10表示MCU50的整体动作,该最初的步骤S11中,MCU50将后面说明的检测偏移值、偏移计数器等的MCU50处理的变量初始化,同时将输入端口和输出端口(图6)初始化。
之后,经过步骤S12的加速度检测处理(后文详述),在步骤S13中MCU50判断球拍型输入装置34是否是第1网球手的。若MCU50的特定的输入端口设定为「1」,则为第1网球手,若为「0」则第2网球手,因此在步骤S13中只要看MCU50的该特定的输入端口即可。然后,若在步骤S13中判断为″是″即为第1网球手,或判断为″否″即为第2网球手,则分别在步骤S14或步骤S15判断是否为发送状态。
MCU50中设有软件计数器作为状态计数器(未图示),该状态计数器每达到定值就成为发送状态。因而,在步骤S14和S15中,检测该状态计数器是否达到了定值。若在步骤S14或S15中判断为″否″,则在步骤S16中将发送代码设为「0」,或者若在步骤S14或S15判断为″是″则保持原样,进入步骤S17的代码发送处理(后文详述)。在步骤S17中执行代码发送处理后,在步骤S18中将状态计数器(未图示)加一(+1),然后返回步骤S12。再有,如后文所述,代码发送处理以位串行方式进行,但其所需时间为数微秒左右,极其短暂。
图11是表示图10的步骤S12的详细流程图,在其加速度检测处理的最初的步骤S21中,MCU50将寄存器(未图示)中设定的检测偏移值拷贝到偏移计数器(未图示)。「检测偏移值」是为了在压电蜂鸣器元件66上无电压发生时,将图7(A)所示的矩形波判断的高电平和低电平时间上等分地输入的值,动作开始时该检测偏移值设定在任意的缺省值上。
在接着步骤S21的步骤S22中,MCU50将其输出端口0设定为「1」。即,「1」即为输出高电平。随后,在步骤S23中,MCU50从输入端口0读取数据。
在步骤S24中,判断步骤S23中读取的输入端口0的数据是否为「1」。若为″是″,则在下一步骤S25中MCU50将累计计数器(未图示)加一(+1)。「累计计数器」是用以算出读取高电平的期间的计数器,该输入端口为「1」或高电平时加一,为「0」时无动作。
若步骤S25中将累计计数器加一或在步骤S24判断为″否″,则在后续的步骤S26中MCU50将偏移计数器加一,在下一步骤S27中判断该偏移计数器的计数值是否达到规定值。即,在步骤S22中在输出端口0置「1」后,只要在该步骤S27中判断为″否″,MCU50就继续从输出端口0输出「1」。
然后,若在步骤S27中判断为该偏移计数器的计数值达到规定值,则在下一步骤S28中MCU50在该输出端口0上置「0」即低电平。在下一步骤S29中,MCU50将寄存器中设定的检测偏移值拷贝到偏移计数器上。
接着在步骤S30中,MCU50从输入端口0读取数据。在步骤S31中判断步骤S30中读取的输入端口0的数据是否为「1」。若为″是″,则在下一步骤S32中MCUT50将累计计数器加一(+1)。
若在步骤S32中将累计计数器加一,或在步骤S31判断为″否″,则接着在步骤S33中MCU50将偏移计数器减一(-1),在下一步骤S34判断该偏移计数器的计数值是否达到0。即,步骤S28中输出端口0置「0」后,只要该步骤S34中判断为″否″,MCU50就继续从输出端口0输出「0」。
然后,若在步骤S34中判断为″是″,即偏移计数器成为零(0)时,接着在步骤S35中,MCU50从累计计数器的计数值减去中间值,求得差值。这里所谓″中间值″,是指从步骤S27到步骤S23为进行高电平检测的重复次数和从步骤S34到步骤S30为进行低电平检测的重复次数的合计次数设为「N」时的「N/2」。在步骤S35中用中间值求出差值,是为了将理想的压电蜂鸣器元件中且任何加速度相关电压均不在压电蜂鸣器元件中发生的状态下的高电平和低电平期间之比(占空比50%)作为确定加速度的基准。
详细而言,累计计数器如上所述在输入端口0读取「1」或高电平的次数,若为理想的压电蜂鸣器元件且电压不发生时,则步骤S35中的「累计计数器-中间值」的差值应当为零。然而,若压电蜂鸣器元件66上有任何电压发生,则就可得到有效的数值作为该差值。因而,在步骤S36中,按照该差值确定球拍型输入装置34的位移加速度。基本上,差值数据乘预定的系数之积即成为加速度数据。
之后,在步骤S37中,基于步骤S35得到的差值修正检测偏移值。即,由于初始状态时网球手或操作者不挥动球拍型输入装置34,压电蜂鸣器元件66上无加速度相关电压发生。尽管如此步骤S35中仍会检测到不为零的差值,这意味着步骤S21中设定的检测偏移值从该球拍型输入装置采用的压电蜂鸣器元件的特性看是不正确的。即压电蜂鸣器元件不是理想的压电蜂鸣器元件。因而,这时为了修正压电蜂鸣器元件的个体特性与理想的压电蜂鸣器元件的特性的偏差,在步骤S37中按照差值对检测偏移值进行修正。
另一方面,若在步骤S37中必定变更或修正检测偏移值,则检测偏移值就应得到修正,即使基于压电蜂鸣器元件实际发生的加速度相关电压得到的差值来修正。但是,压电蜂鸣器元件的电压发生期间与其他期间相比非常短。因此,即使每次进行差值检测时执行步骤S37也无特别的问题。即,因为网球游戏开始时已作了适当的修正,之后即使每次加速度检测执行步骤S37,检测偏移值也不会有大的变动,因而对于实际的网球游戏不会构成任何障碍。
下一步骤S38中,MCU50从输入端口1读取来自键开关即发球开关38的值「1」或「0」,接着在步骤S39中,MCU50基于来自该键开关38的值和在前面步骤S36中确定的球拍型输入装置34的位移加速度或移动加速度,再附加奇偶检验位而算出发送代码,返回主例程的步骤S13(图10)。
以下,参照图12说明步骤S17(图10)中从球拍型输入装置34向游戏处理器52的代码发送。最初在步骤S41中,MCU50将步骤S12或S16中作成的发送代码拷贝到临时数据寄存器(未图示)。然后,判断其最高有效位是否为「1」。若最高有效位为「1」,则在步骤S42中判断为″是″,接着在步骤S43中,MCU50在输出端口上置「1」并将LED36(图4)导通。之后在步骤S44中经过一定的待机时间,但若步骤S42中判断为″否″即最高有效位为「0」,则保持原样直接进入步骤S44。
在步骤S44中经过规定待机时间后进入步骤S45,MCU50在输出端口1置「0」并将LED36截止。之后,在步骤S46中经过一定的待机时间。
在步骤S46中经过规定待机时间后进入步骤S47,MCU50左移1位,将发送完成位设为最下位。即,为进行位串行发送,将发送位换位。然后,在步骤S48判断全部位的发送是否结束。若为″否″则返回到步骤S42,若为″是″就结束,进入图10所示的步骤S18。
以下,参照图13说明图8的步骤S10中所示的游戏处理器52的代码接收处理。由于该代码接收处理通过定时器中断进行处理,在最初的步骤S51中游戏处理器52判断是否有定时器中断。若为″否″则在步骤S52中设定定时器中断,若为″是″则直接进入步骤S53。
在步骤S53中,游戏处理器52在存储器54(图4)内保留代码接收用的临时数据区。然后,在下一步骤S54中,从输入来自红外受光部32的输出信号的输入端口读取数据。接着在步骤S55中,游戏处理器52右移临时数据,将步骤S54中读取的数据设为该临时数据的最高有效位。
之后,在步骤S56中判断全部位的接收是否结束,若判断为″否″则在步骤S57等待下一定时器中断。若判断为″是″则在步骤S58中解除定时器中断,在步骤S59中将临时数据作为接收代码拷贝。游戏处理器52用该接收代码执行图8的游戏处理。
如前面的图8所示,在步骤S3中选择游戏模式后,游戏处理器52在下一步骤S6执行「抛球前」处理。该抛球前处理,具体而言,就是按图14所示的流程图执行。
在抛球前处理的最初步骤S61中,游戏处理器52在游戏开始时用随机数判断发球者是否为CPU(而不是游戏者),以后就按实际网球规则进行。
若在步骤S61中判断为″否″,则意味着使用该球拍型输入装置的网球手必须发球,因此,游戏处理器52在步骤S62中核查来自输入装置34的接收数据。具体而言,核查在存储器54中暂时存储的接收数据。然后,基于该接收数据判断发球开关38是否已按动。若在步骤S63中判断为″否″,则在步骤S64中,游戏处理器52显示例如「按动按钮抛球!」的电文,促使网球手抛球即操作发球开关38。
再有,若在步骤S61中判断为″是″,则在下一步骤S65和步骤S66中,游戏处理器52判断是否由CPU抛球。若进行了抛球,则与前面的步骤S63中判断为″是″的情况相同,游戏处理器52为了在下一步骤S67骤执行「抛球中」处理的球40(图2、图3)的上抛(抛球),确定球的各轴向速度Vx、Vy、Vz。之后,在步骤S68将状态转移到「抛球中」。
「抛球中」处理,具体而言,就是按照图15所示的流程图执行。即,在最初的步骤S71中,游戏处理器52更新被抛的球的各轴座标Px、Py、Pz,同时在步骤S72中基于该更新完成的座标判断球的位置是否达到了能够发球(serve)的范围。例如,由于Y轴位置即球的高度没有在定值以内就不能发球,判断球是否达到了该预先设定的可发球范围内。
若在步骤S72判断为″是″,则在下一步骤S73中游戏处理器52判断球位置是否在发球可能范围以外。然后,若在步骤S73判断为″是″,即球在发球可能范围外,则在下一步骤S74,游戏处理器52使抛出的球的各轴座标返回到抛球前的状态,使状态再次转移到「抛球前」。
若在步骤S73中判断为″否″,即球在发球可能范围内,则游戏处理器52在步骤S75中判断发球者是否为CPU。若在步骤S75者判断为发球者是游戏者(″否″),则游戏处理器52在下一步骤S76者核查来自游戏者操作的球拍型输入装置34的接收数据。另外,若在该步骤S75中判断为″是″,则在步骤S77中游戏处理器52按照预定的CPU的行动算法判断是否有挥动(是否有与游戏者挥动球拍型入力装置34的动作相当的处理)。然后,在步骤S78中判断是否作了挥动(或与此相当的动作)。
若挥动的判断为″是″,则在下一步骤S79中,游戏处理器52根据球座标和挥动的大小计算发球后的球的初速。若发球者为游戏者,则根据游戏者操作的球拍型输入装置传送过来的代码检测与该输入装置的拍面垂直的方向上的位移加速度,从而检测挥动的大小,并基于该值计算球的初始速度。发球动作由此而结束,因此,游戏处理器52在步骤S80中将发球侧网球手作为下一击球侧网球手设定,并在步骤S81中将状态转移到「往复击打中」。
「往复击打中」处理,具体而言,按照在图16所示的流程图执行。即,在最初的步骤S91中执行球座标控制处理,在下一步骤S92中判断状态是否为「往复击打中」,若判断为″否″则直接返回,若判断为″是″,则分别在步骤S93和S94中执行网球手1和网球手2的座标的控制处理。
步骤S91中的球座标控制处理步骤,具体而言,就是按照图17和图18所示的流程图执行。
图17的最初步骤S101中,游戏处理器52将开出的球的各轴座标Px,Py,Pz和速度矢量更新,在下一步骤S102中判断球的位置(座标)是否在网球手1的接球范围内。若在该步骤S102中判断为″是″,则游戏处理器52在后续步骤S103中核查来自网球手1用的球拍型输入装置的接收数据,基于该接收数据判断球拍型输入装置是否已被挥动。若判断为″否″,则在步骤S92(图16)照原样直接返回,若判断为″是″,则在下一步骤S105中,基于此时的球座标和挥动的大小(即球拍型输入装置挥动时的加速度),计算接球后的球的初始速度矢量。之后,在步骤S106中,将网球手1设定为击球侧网球手,然后返回到步骤S92。
若在步骤S102中判断为″否″,则在步骤S107中判断球的位置是否在网球手2的接球范围内。若在步骤S107中判断为″是″,则在步骤S108中,游戏处理器52判断网球手2是否为CPU。若为″否″则在步骤S109中核查来自网球手2用的球拍型输入装置的接收数据,若为″是″,则在步骤S110中判断是否有挥动(与此相当的信号)。然后,在步骤S111中,判断是否作了挥动。若在步骤S111中判断为″否″,则处理直接原样返回。但是,若判断为″是″,则在下一步骤S112中,基于此时的球座标和挥动的大小(即球拍型输入装置挥动时的加速度)计算接球后的球的初始速度矢量。然后,在步骤S113中将网球手2设定为击球侧网球手,再返回步骤S92。
若在步骤S107中判断为″否″,即球在接球可能范围外,则在下一步骤S114中游戏处理器52判断球是否超出接球可能范围。如上所述,作为接球可能范围预先设定一定的各轴X、Y、Z的范围,在该范围内接球侧的网球手将球击回。因而,在步骤S102、5107和S114中,游戏处理器52判断球是否在这样的接球可能范围内。
若在步骤S114判断为″是″,即球超出了接球可能范围,则在步骤S115在结果寄存器(设定在存储器54内)中设定「向后飞去」,并在下一步骤S116将状态转移到「计分处理」。
若在步骤S114判断为″否″,即球在接球可能范围内,则在图18所示的最初的步骤S117中,游戏处理器52判断球座标的Z座标是否达到落网位置。若在步骤S117判断为″是″,则在步骤S118中游戏处理器52判断球座标的XY座标是否在「触网」的判断范围内。若判断为″否″,则在步骤S119中,游戏处理器52判断球座标的XY座标是否在「落网」的判断范围内。若为″否″则直接返回,若为″是″则在步骤S120判断击球是否为发球。然后,若在步骤S120判断为″是″,则在步骤S121中在结果寄存器中设定「发球失误(Fault)」,若判断为″否″则在结果寄存器中设定为「落网」,并分别在下一步骤S123中将状态返回到「计分处理」。
若在步骤S118判断为″是″,即球已到达触网判断位置,则在步骤S124判断击球是否为发球。然后,若在步骤S124中判断为″是″,则在步骤S121中结果寄存器中设定「触网」,并在步骤S126中将状态转移到「计分处理」后返回。若判断为″否″,则根据球的速度矢量计算落网接触后的球的初始速度矢量,然后返回。
若在步骤S117中判断为″否″,即球的Z座标未到达落网位置,则在下一步骤S128中游戏处理器52判断球座标的Y座标是否到达球场地面(即,监视器画面上,球40是否落到球场46)。若在步骤S128中判断为″是″,则在步骤S129中游戏处理器52判断球座标的XZ座标是否在场内。
若判断为″否″,则在步骤S131中,在结果寄存器上设定「界外(Out)」,并在下一步骤S132中,将状态转移到「计分处理」后返回。若在步骤S129中判断为″是″,则根据球的速度矢量计算弹起后球的初始速度矢量,然后返回。
若图17和图18所示的球座标控制处理结束,就在步骤S92中判断状态是否为「往复击打中」,若判断为″是″,则进入图19和图20所示的网球手座标控制处理。但是,由于该处理对于网球手1和网球手2是相同的,以下说明对两方均适用。再有,其网球手位置控制处理也与前面的处理相同,也是按每1视频帧执行。
在最初步骤S141中,游戏处理器52根据球的速度矢量计算预测返球位置(这是回到下一击球侧网球手的球场的球返回的预测位置)。然后,在步骤S142中将步骤S141计算的预测返球位置和网球手现在的位置(X座标)进行比较,在步骤S143中判断球的预测返球位置是否在击球侧网球手的击球可能范围内。判断为″是″,意味着不移动或变更击球侧网球手的击球位置,击球侧网球手能够击到球,这时,直接进入下一步骤S147(图20)。
若预测返球位置不在击球侧网球手的击球可能范围内,则执行作为本实施例特征的击球位置自动控制。即,在步骤S144中,游戏处理器52判断击球侧网球手现在的X座标是否比预测返球位置的X座标大。在该步骤S144中判断为″是″,意味着监视器画面上击球侧网球手位于预测返球位置右侧,因此击球位置需向左移动。因而,这时在步骤S145中将击球位置的X座标的现在值减去定值。相反地,在步骤S144中判断为″否″,意味着监视器画面上击球侧网球手在预测返球位置左侧,因此击球位置需要向右移。因而,这时在步骤S146中需要将击球位置的X座标的现在值加上定值。如此执行步骤S145或S146,能够相对于预测返球位置自动地移动击球侧网球手的击球位置。之后,进入步骤S147。
再有,步骤S145或S146中的「定值」的大小,与网球手的移动速度即步伐速度有关系,因此可以通过将该定值设置成按每个各网球手而异,设定各网球手的特性(步伐速度)。
另外,以上说明中,只就X座标的自动控制作了说明。但是不言而喻,本实施例的考虑方式根据需要能够容易地用于其他座标例如Z座标。
在图20的步骤S147中,游戏处理器52核查存储器54内设定的「前卫后卫状态」,在步骤S148中对状态作出判断。若前卫后卫状态为「前卫」,则进入步骤S149判断该网球手是否为CPU。若判断为″否″,则该网球手为游戏者,在下一步骤S150中游戏处理器52核查发球开关38的状态,在步骤S151中判断发球开关38是否按动。即,在步骤S151中判断往复击打中发球开关38是否按动。若判断为″是″,则处于「前卫」的网球手的前卫后卫状态设定为「后退」。但是,若在步骤S149中判断为″是″,即该网球手是CPU,则在步骤S153和S154中判断是否进行后退。若进行后退则进入步骤S152,若判断为″否″则直接返回。如此,若在往复击打中操作发球开关38,则能够使处于前卫位置的击球侧网球手即击球位置向后卫位置移动。
若前卫后卫状态为「后卫」,则进入步骤S155,判断该网球手是否为CPU。若判断为″否″,则该网球手是游戏者,在下一步骤S156中,游戏处理器52核查发球开关38的状态,并在步骤S157判断发球开关38是否被按动。即,在该步骤S157中判断往复击打中发球开关38是否按动。若判断为″是″,则将处于「后卫」的网球手的前卫后卫状态设定为「前进」。若在步骤S155判断为″是″,即该网球手是CPU,则在步骤S159和S160中判断是否前进。若需要前进,则进入步骤S158,若判断为″否″,则直接返回。如此,若在往复击打中操作发球开关38,就能够使处于后卫位置的击球侧网球手即击球位置向前卫位置移动。
而且,「前卫后卫状态」为「前进」时,在步骤S161中,游戏处理器52在现在的Z座标上加定值,使网球手朝前进方向移动。然后,若在步骤S162中判断达到了前进方向限界的Z座标,则在下一步骤S163中使状态转移到「前卫」。相反地,前卫后卫状态为「后退」时,在步骤S164中,游戏处理器52从现在的Z座标减定值,使网球手朝后退方向移动。然后,若在步骤S165中判断为到达了后退方向限界的Z座标,则在下一步骤S166中将状态转移到「后卫」。然后,无论以上任何一种情况均返回。
再有,「得分计算」的动作按图21所示的流程图执行。详细说明就是,游戏处理器52在步骤S171中核查结果寄存器,并在步骤S172判断结果。若结果为「发球失误」,则在步骤S173判断是否已设置发球失误标志,即是否已记录有1次发球失误。若判断为″是″,则为了在监视器上显示「两次发球失误」,游戏处理器52在步骤S174中设定显示电文「DOUBLE FAULT」。与此同时,在步骤S175中,游戏处理器52将不对击球侧的网球手加分。即,给不在击球侧的网球手加分,并在步骤S176中将该得分在得分显示部48(图2、图3)上显示。之后,在步骤S177中清除发球失误标志,并在步骤S177和S178中判断一局是否结束。若在步骤S179判断为″是″,则在下一步骤S180和S181判断比赛(match)是否结束。若判断为″是″,则在步骤S184转移到「游戏方式选择」状态后返回。
若在步骤S181中判断为″否″,则在步骤S182交换发球并设定成后卫后,进入步骤S183,并转移到抛球前状态,然后返回。再有,若在步骤S179的一局结束判断中判定为″否″,则进入步骤S183。
然后,若结果寄存器内存放的结果为「落网」,则在步骤S185中设定显示电文「NET」,并进入前面的步骤S175。另外,结果寄存器指示的结果为「界外」,则在步骤S186中设定显示电文「OUT」,然后进入步骤S175。若结果为「向后飞去」,则在步骤S187给击球侧网球手加分,然后进入前面的步骤S176。
若前面的步骤S172的判断为「触网」,则在步骤S188设定显示电文「LET」,在步骤S189将双方的网球手的前卫后卫状态设定为「后卫」,同时在步骤S190中将状态转移到「发球前」,然后返回。
再有,在结果为发球失误且步骤S173中判定为″否″时,若为第一次发球失误,则在步骤S191设定显示电文「FAULT」,同时在步骤S192中设定发球失误标志,之后进入步骤S189。
如此,使球拍型输入装置34在三维空间中位移或挥动,从而能够通过图1的体感网球游戏系统10能够在监视器20的画面内进行网球游戏。
再有,上述实施例中,压电蜂鸣器元件中产生的加速度相关信号作为电压信号取出,但也可以将该信号作为电流信号取出。
而且,上述实施例中,数字信号传送装置由MCU50和LED36构成,将加速度相关数字信号无线传送到处理器侧。但是,信号传送装置也可以不用无线方式而采用适当的数据传送线。
而且,以上例示了作为加速度相关信号输出数字信号的方式,但是也可以将检测出的电压值或电流值作为模拟信号传送。
以上对本发明作了详细说明和图示,但这只限于作为图解和举例说明,不能理解为对本发明的限定,本发明的精神和范围由所附的各项权利要求加以规定。
权利要求
1.一种将监视器画面上显示的球在击球侧网球手和对方网球手之间对打的网球游戏系统,其中设有计算从对方网球手击回的预测返球位置的装置;以及基于所述预测返球位置移动击球侧网球手的击球位置的击球位置移动装置。
2.如权利要求1所述的网球游戏系统,其特征在于还设有判断装置,该装置通过比较所述击球侧网球手的现在位置和所述预测返球位置,判断所述预测返球位置是否在所述击球侧网球手的击球可能范围内;所述判断装置判断为在击球可能范围外时,由所述击球位置移动装置移动所述击球位置。
3.如权利要求1或2所述的网球游戏系统,其特征在于所述击球位置移动装置在所述监视器画面的左右方向移动所述击球位置。
4.如权利要求3所述的网球游戏系统,其特征在于还设有给出击球指示的输入装置,并按来自所述输入装置的击球指示在所述监视器画面上击球。
5.如权利要求4所述的网球游戏系统,其特征在于所述输入装置包含操作开关;还设有位置变更装置,该装置响应所述操作开关的操作,在所述监视器画面上将所述击球位置变更为前卫位置或后卫位置。
全文摘要
网球游戏系统包括通过AV电缆连接到电视接收机的游戏机和向该游戏机提供操作输入的球拍型输入装置,游戏者通过操作该球拍型输入装置指示监视器画面上显示的击球侧网球手打球。此时,游戏机所包含的游戏处理器计算对方网球手的返球预测位置,并将这时的击球侧网球手的现在位置与其预测返球位置作比较,判断预测返球位置是否在击球侧网球手的击球可能范围内,若该判断装置判断为在击球可能范围外,则击球位置移动装置即游戏处理器移动击球位置。
文档编号A63F13/10GK1662283SQ0381429
公开日2005年8月31日 申请日期2003年4月16日 优先权日2002年4月24日
发明者上岛拓 申请人:新世代株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1