兔子的性质-Javascript游戏

从具有基本javascript的简单网络博客跃跃欲试,全面揭示了兔子生活中令人毛骨悚然但令人着迷的偶然事件,这已在启发人。 上次完成博客后,我将目光投向了兔子模拟。 它从编码basicRabbit对象开始:该对象具有性别,年龄和xy位置属性。 这是由moveRabbit对象“继承”的,该对象具有其自己的movingChance对象(以便计算应采取的方向:向左,向右,向下,向上或noMove)。

当我做为第一个真正的编程游戏的Zombtron游戏使用对象和继承时,该游戏促使我学习了其他知识:纯原型继承。 无需按照典型的Java多态性设置构造函数,而是将对象设置为充当对象的模型(上述“ tile”对象),然后通过“ new”关键字复制该对象。 上面发生的事情是我正在创建一个平铺对象,以后将其复制并放入一个数组中以供以后访问。 此外,如果该图块具有特定于它的属性(否则将产生不同的对象),则需要在此步骤中修改这些属性。 我立即注意到,实际上是为了管理一个构造函数通常处理的新对象的“构造”部分而编写了大量的代码。 也许有更好的方法可以做到这一点。

除了使用纯原型继承以外,代码没有其他奇异的概念或想法。 有很多小东西,管理图块的逻辑及其颜色,每只兔子在图块上的不同位置(雄性是蓝色,粉红色是雌性,黄色是孩子),创建了实现怀孕的功能和属性,并按年龄划分死亡,因饥饿而死(对于邪恶的兔子),因被食死。 这些事情在概念上并不复杂。 结果是我对语言更加熟悉了,无论如何这至少是一半。

尽管如此,我们决不能忘记其中的关键游戏元素。 尽管游戏没有目标,但它确实提供了(广泛的)玩家互动性。 您可以在木板的左侧或右侧释放瘟疫。 鼠疫然后有机会感染患病的兔子,这种疾病每新一回合有10%的机会杀死它们。 不论其他属性如何,受灾兔子都是深绿色的。

就是这样 动态类型系统和令人难以置信的灵活使用功能开始吸引我。 只要您知道自己在做什么,并且了解闭包,执行上下文,词法环境以及通过更正规的培训就收到的所有爵士乐,您就可以很好地操纵代码。 语言本身从来没有感到束缚,并且我不断学习有关如何使原型系统和对象的简单性一起工作的新知识。 总而言之-一个有趣的项目!