日期:2014-05-20  浏览次数:20681 次

关于游戏道具的设计,求助
游戏里的道具使用这部分是怎么设计的呢?
如果有很多种道具,使用效果也不一样,不可能都写到if else里面吧?

我现在想的是建立一个个单独的java类,然后在spring里配置上,但是具体怎么做还在尝试。。。
有没有什么好的方法啊,求助。。。
------解决方案--------------------
引用:
Quote: 引用:

这么大个架子。策划做完了吗?有些什么道具,功能是否分类了?
一个道具使用入口,根据道具分类引入不同的使用方法,switch(id)产生不同效果


没想那么多。。。现在是想到什么做什么。
准备先把基本的架子搭起来,然后再好好想想怎么规划。
你的建议是一个道具一个类,还是一个使用方法一个类啊?


简单的来说,你做过系统没?懂不懂对象的概念?一个物品道具包括各种参数,你怎么以一个方法来描述?先明白什么叫对象模型的概念吧,既然你想用java来搞,就用得象是java的特性才可以吧
------解决方案--------------------

写一个基类,所有继承该类的子类都是道具。
写一个接口,所有道具都应当实现这个接口。
------解决方案--------------------
引用:
Quote: 引用:


写一个基类,所有继承该类的子类都是道具。
写一个接口,所有道具都应当实现这个接口。

嗯,和我想的一样!
道具的使用用一个接口来写,根据不同的道具实例化不同的接口,然后使用道具时就能有不同的作用了。

我不想在程序里用代码判断使用了什么道具,现在是这么做的:
在数据库的道具类型表中增加一个字段,直接把spring中配置的bean的id写进去,这样使用这类道具时就直接调用对应的bean了,用的是applicationContext.getBean(name);

感觉还可以,不知道有没有什么坏处呢?


你不需要在程序里去判断用了什么道具,你使用道具  只是调用了这个道具实例的某一个方法。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:


写一个基类,所有继承该类的子类都是道具。
写一个接口,所有道具都应当实现这个接口。

嗯,和我想的一样!
道具的使用用一个接口来写,根据不同的道具实例化不同的接口,然后使用道具时就能有不同的作用了。

我不想在程序里用代码判断使用了什么道具,现在是这么做的:
在数据库的道具类型表中增加一个字段,直接把spring中配置的bean的id写进去,这样使用这类道具时就直接调用对应的bean了,用的是applicationContext.getBean(name);

感觉还可以,不知道有没有什么坏处呢?


你不需要在程序里去判断用了什么道具,你使用道具  只是调用了这个道具实例的某一个方法。


其实这个说简单也简单,说难也难,我建议你先去看看headfirst设计模式的第一章,那个设计鸭子模型的做法,相信你会学习到东西