335
782
1万
版主
类也就是种类的意思,同面向对象编程思想中的类的意思相同,具有多个属性及多个规则。每个属性的取值的一个组合,称为类的一个实例,也叫一个对象。如:桌子类,有桌脚数和颜色两个属性,则该类的某个实例可能为四只脚、红色,则我们可以说这个实例表示一张四只脚的红色的桌子。 人的记忆力很差,不能记住千变万化的东西,如一幅画。但人又经常需要一看到某个东西时,能搜出它的大致资料,于是,人想出了种类。人将他们看到过的形形色色的东西进行归类,这样当人看到一个东西时,他不再去想这个东西是什么,而是想它是种什么东西。 因为种类的数量远远少于东西的数量,所以人可以很快找到所想物体是哪种东西,也就很快得到此物体的大致信息。应注意,当将种类分得很细的时候,也就不存在种类了,或可以认为一个种类就是一个物体。 在象棋游戏中,如前所述,有如下的游戏元素: 1. 某枚棋子的位置。 2. 某枚棋子是否存活。 3. 某枚棋子的种类。 4. 该哪方走棋。 其中的1、2、3游戏元素逻辑上表示的是同一种东西(棋子)的状态,所以在这里我们就应该定义一个类——棋子。其属性有三个:位置、是否存活和种类。这样我们就可以说这个象棋游戏只有33个游戏元素(象棋有32个棋子),而原来它有97个游戏元素,显得更简单了。 注意,类的存在不是必要的,它只是为了让人更好的了解游戏规则而人为定义出来的,只是为了使纷繁的游戏元素有条有理。 所以不同的人可以定出不同的类,这样好象显得类没有多大意义,所幸的是大部分人经常都会有大部分相同的类的定义,如象棋,几乎每个人都下意识的定了棋子这个类。 而对于复杂点的游戏,如RPG游戏,有些人就只定了加魔法的药和加血的药,而有些人就定的是药,可加血、魔法值、火属性等,将其视为一个类,而不加细分。通常后者是程序员而前者是玩家。 还应发现,游戏规则不定义任何的类,但游戏规则毕竟大多数是人定的,所以在规则的描述时都大量的使用了类。几乎任何棋类游戏都有棋子这个类。 有些规则是专门针对某一个类的,我们将这些规则称为这个类的规则。如象棋中的马走日、象飞田,都涉及到了棋子类中的种类这个属性。这里就有了一个问题:这个规则到底是属于哪个类的。 因为有些规则可能涉及到了多个类的属性,如RPG游戏中的,玩家攻击到敌人后,敌人的生命值减去玩家的攻击力的数值。此处就涉及到了玩家这个类的攻击力的属性和敌人这个类的生命值的属性。在此我们认为:规则的主语是哪个类的属性就是哪个类的规则。所以上述的规则应为敌人的规则。
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
Archiver|手机版|小黑屋|幻想森林
GMT+8, 2025-5-17 07:38 , Processed in 0.011111 second(s), 20 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.