体育游戏中的Player类

最近在做一个棒球的游戏,开始感觉还是挺酷炫的,但是其实做法挺朴实的,想象中的球员是多么智能,这样那样的,其实只是表象。

关于球员的类是游戏里非常重要的部分,这个玩意怎么写呢,可以这样写......

棒球和足球篮球不太一样,比他更难或者更简单,估摸着思路可能不一样吧,没做过,不懂,有本人工智能编程什么的,有个例子讲足球的,刚哥就是看着书搞了一个出来,吊。。。我们的球员主要大部分的行为,都可以是这样的:让他跑到某个点,跑到了,播动画....比如 去接一个高飞球 这个那个的。最基本的函数就是,转身+跑步,外加还有一堆各种标记状态的玩意。再用一个枚举变量,表示当前状态,比如接球,接球状态就是先转身,再让他跑到一个点,这个点是当然是 球飞到的那个落点,提前知道球的落点是必须的。当然,必须要提前跑到,提前播动画,然后在动画正好把手举起来的时候,球落到手里,但是。。。。这样不好去做,所以,有些游戏 感觉球把人给穿过去了,又回到手里了,这很正常,因为我也遇到了。。。机器 帧率不稳定这样那样的原因,导致球运动 跟计算的不一样也挺正常的。。。最后再做一个类似大的局面一个处理,出现某一种情况,统筹一下 所有人的状态,A去接球,B去占垒。。。就好比篮球,我这次进攻,必须得两分,无论玩家怎么操作,结果就是得两分,虽然有点假,但是这样好处挺多的,比如假如这是一个联网游戏,你只需要把结果发过去,得两分得方式 多种多样,但是结果是一样的,在客户端只需要选一种情况表现一下就行,写过服务器的都分享说,不同机器上面对同一种操作造成的局面不一样是一个大坑。当然,篮球的情况,很复杂,应该是不能这么做,但是棒球不一样,棒球基本情况更容易总结出来。。。不管怎样,反正就这么做了。。。有问题,再YY,如果你把情况搞得多一些,还是可以玩一玩的。这样做,处理情况会比较多,但是思路简单朴实,如果自己去写一个ai去,自己决定自己应该干嘛,首先,这个挺难写的,效果也是个问题,比赛的时候情况还是非常复杂的,面面俱到真的很不容易。。。

最后,希望这个项目,可以有一个好的结果吧。

注:这个也是主要参考了XX游戏的实现方法。

注注:我觉得抄这个字替换参考更合适。。。

时间: 2024-10-05 15:49:45

体育游戏中的Player类的相关文章

游戏中常用到的碰撞检测帮助类

游戏中咱们经常用到碰撞检测,一般的游戏引擎也会自带有自身的检测碰撞类,但有时候不过灵活,这时候我们希望自己可以自定义一些碰撞检测类.tong顶一些啊... import android.graphics.Rect; public class CollisionUtil { /** * 矩形碰撞检测 参数为x,y,width,height * * @param x1 *            第一个矩形的x * @param y1 *            第一个矩形的y * @param w1

游戏中的三角学——Sprite Kit 和 Swift 教程(1)

原文链接 : Trigonometry for Games – Sprite Kit and Swift Tutorial: Part 1/2 原文作者 : Nick Lockwood 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy 更新 2015/04/20:升级至 Xcode 6.3 和 Swift 1.2 更新说明:这是我们广受欢迎的教程之一的第三个版本--第一个版本是 Cocos2D 的,由 Matthijs Hollemans 缩写,第二个版本由 Tony

游戏中精灵对象的属性功能设计

我们大部分it人事可能都玩过游戏,且不止一款游戏,都知道游戏有属性: 在游戏中,包含哪些属性,时候数值策划而定: 属性牵涉三个大问题, 1,属性不管是前期还是后期变更可能会非常大: 2,存在不同的属性系统,比如人物基础属性,坐骑属性,宠物属性等: 3,属性计算:属性最终计算: 第一条和第二条,是非常息息相关的功能块设计:需要做到统一,方便,且可扩展性设计: 有且是对策划在配置各种属性,各种系统中去配置属性,既要他们方便配置,思路清晰,又要方便程序扩展,转化: 1 package com.game

Unity优化方向——优化Unity游戏中的垃圾回收

介绍 当我们的游戏运行时,它使用内存来存储数据.当不再需要该数据时,存储该数据的内存将被释放,以便可以重用.垃圾是用来存储数据但不再使用的内存的术语.垃圾回收是该内存再次可用以进行重用的进程的名称. Unity使用垃圾回收作为管理内存的一部分.如果垃圾回收发生得太频繁或者有太多工作要做,我们的游戏可能会表现不佳,这意味着垃圾回收是导致性能问题的常见原因. 在本文中,我们将了解垃圾回收如何工作的,什么时候发生垃圾回收,以及如何有效地使用内存,从而最小化垃圾回收对游戏的影响. 诊断垃圾回收的问题 垃

游戏中的音效

1. 游戏中的即时音效: 在游戏中,根据情况播放的即时音效较为短暂.可以重复.也可以同时播放.由于Android中提供的MediaPlayer会占用大量的系统资源,而且播放时还会进行缓冲,有较大的延时,因此使用MediaPlayer无法实现即时音效的播放.而在Android中专门提供的SoundPool类主要用于管理和播放应用程序中的声音资源,使用该类时首先需要通过该类将声音资源加载到内存中,然后在需要的即时音效的地方播放即可,几乎没有延时现象.[由于SoundPool设计的初衷是用于无延时地播

漫谈游戏中的人工智能

写在前面   今天我们来谈一下游戏中的人工智能.当然,内容可能不仅仅限于游戏人工智能,还会扩展一些其他的话题. 游戏中的人工智能,其实还是算是游戏开发中有点挑战性的模块,说简单点呢,是状态机,说复杂点呢,是可以帮你打开新世界大门的一把钥匙.有时候看到知乎上一些可能还是前公司同事的同学的一些话,感觉还是挺哭笑不得的,比如这篇:http://zhi.hu/qu1h,吹捧机器学习这种玄学,对游戏开发嗤之以鼻.我只能说,技术不到家.Vision不够,这些想通过换工作可培养不来. 这篇文章其实我挺早就想写

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中应用很广泛的序列化技术Google的ProtoBuf,所以本文也是按照ProtoBuf的方式来操作的.ProtoBuf是一个开源库,简单来说ProtoBuf就是一个能使序列化的数据变得更小的类库,当然这里指的更小是相对的.好了ProtBuf的东西就不在多说,以后会专门写一篇帖子的.本帖其实就相当于上

Cocos2D-x中的核心类【1】

Cocos2D-x引擎的设计思路是将游戏的各个部分抽象成几个概念,包括导演.场景.布景层和人物精灵. 几乎任何一款游戏中都会有这些概念,而游 戏的复杂程度也就决定这些部分之间的关系的复 杂程度.具体说明如下: ?导演(CCDirector):顾名思义,导演类是 游戏中的组织者和领导者,是整个游戏的负责人.总指挥.导演类可以制定游戏的运行规则,从而让游戏内的场景.布景类和精灵类有序地进行. ?场景(CCScene):场景就是一个关卡,或者是一个游戏界面.这样的一个一个场景确定了整个的游戏. ?布景

游戏中的弹道学手册(转)

[1]直线单体必中飞弹 代表单位:<帝国时代1>的弓箭手,<海岛奇兵>的步兵 直线飞行,只会击中被攻击的单位,命中率100%.看起来飞弹会穿过一些单位,但其实只会击中被锁定为攻击目标的单位.如果飞弹在飞行的过程中目标单位已经被摧毁,则飞弹会继续飞行一段距离之后消失. 虽然理论上来说弓箭手的弹道应该是抛物线,但<帝国时代1>中的弓箭手是直线射击的,我们就不要对老游戏太苛求啦! [2]直线单体真实碰撞飞弹 代表单位:<合金弹头>的小手cc枪.H枪,绝大多数射击游