首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于三国杀的面向对象设计,该怎么处理

2013-08-09 
关于三国杀的面向对象设计各位论坛里的老鸟大虾们好 我是正在就读的软件专业大学生 最近突发奇想想要把三

关于三国杀的面向对象设计
各位论坛里的老鸟大虾们好 我是正在就读的软件专业大学生 最近突发奇想想要把三国杀这个游戏用C++自己实现出来。本来以为不难 结果真正开始设计了才发现根本无从下手 大家来看看如果让你从面向对象的角度设计实现三国杀 会怎么设计各种类和继承组合关系呢? 面向对象 C++ 三国杀
[解决办法]

三国杀待提取的类,类似如下:
1. 牌类 -- 基类
2. 技能类
3. 主公类 --继承牌类, 组合技能类
4. 叛贼类 --继承牌类, 组合技能类
5. 将军类 --继承牌类, 组合技能类

算法:
按照三国杀目前的出牌顺序,以及规则进行梳理。
[解决办法]
没玩过,也没做过游戏,不知道如何,但支持这种探索精神。
从大方面看,可考虑:
一、游戏表现部分
1、将绘图部分(屏幕表现部分)独立出去。
2、归纳游戏故事中逻辑,情节,场景。整理为类。对每个类给出说明及应用场合。
3、人物动作规划,总结每个场景及动作需要的绘图参数,建立绘图接口,但不实现。
4、美工,依据场景及动作规划由美工画出草图。游戏没有美工是不好看的。
二、故事逻辑部分
1、人物性格规划,不同的人物性格及行事风格,触发不同的局部执行路线。
2、游戏全局智能路线执行
3、游戏智能的实现。简单点的就是小兵自动寻找对手位置对杀。
三、操控类
1、总结出所需要的人物动作,场景动作,物品动作。
2、规划如何用键盘,鼠标等外设,操控游戏,实现这些动作。
3、操纵一个动作的要点,写出说明,并通过玩家的反馈,修改动作参数。

这么多东西,会有很多类,如何合理组合成一个类体系,实现游戏的功能,非常考验人。哪些该用继承,哪些该用组合,哪些需要用接口来实现,哪些需要用插件来扩展功能,哪部分使用动态脚本来调整参数及逻辑,哪些用线程实现,哪些用参数传递,哪些用消息传递......考虑这些问题时,需要整理已有的知识点,即哪些类是实现哪部分功能的,给出类功能说明,要求每个类的实现相对简单,当类多而复杂化时,需要将多个类做一个统一出口类,也就是接口类+接口实现类构成一个类体系,该体系完成一大类动作及任务。

组合一个个类,形成一个个类体系,说明每个类体系面向的对象,解决哪些问题。一个个类体系组成一个完整的系统。该系统具有实现一个游戏的基础功能及要素。

以上就一般化的类体系设计做个说明,如果在论坛探讨,只适合讨论某个小体系,而不适合泛泛而谈。(我不喜欢建模这个说法,对面向对象设计而言,建模就是建立对象模型,就是建立类体系)

热点排行