这个问题该怎么设计,求高手

夹心饼干 2008-12-02 05:33:56
在游戏中常常有比赛的活动,有循环赛,有淘汰赛;首先玩家报名,报名截止之后安排赛事,每到比赛前一段时间创建场地,玩家可以进入,到了比赛结束,根据玩家分数确定胜负获得赛分并且安排下一轮,循环这个过程直到赛程结束。
要求模拟整个过程并且足够抽象


老大给了这样一个任务,太抽象了,问高手,如果是你你会怎么做?
我自己是这样做的,创建了一个 玩家类,一个比赛类,然后在比赛类下派生出一个循环类和一个淘汰赛类.
我写了一个报名模块,一个循环赛记分,一个淘汰赛记分规则

请教是否应该这样做?还要加什么模块吗? 我揭贴很快的哦!!!
...全文
158 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfkjsdhfks 2008-12-03
  • 打赏
  • 举报
回复
工作量也真不小.
星羽 2008-12-03
  • 打赏
  • 举报
回复
Player
Field
GameManager
hityct1 2008-12-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xxgamexx 的回复:]
实体类
操作类
一边写一边你就有感觉了~
[/Quote]
支持,但也不要视为教条。看有哪些名词(实体类),动词(操作类),然后设计类。

夹心饼干 2008-12-03
  • 打赏
  • 举报
回复
这个问题给得太抽象了,我模块都写好了,也测试了
但是每人人机交互,汗~~~~~~我打算是只写个模块然后测试好了交了算了
xzhangyu 2008-12-02
  • 打赏
  • 举报
回复
我个人觉得可以进行如下抽象:
流程控制类---功能类似足协(不是中国足协哈:-D)
报名组件---供足协调用
赛事组件---供足协调用,赛事组件里面包括赛事选择模块,赛事规则模块
场地资源管理类
参赛玩家数据管理类

没有详细思考哈,供楼主参考。。。
cattycat 2008-12-02
  • 打赏
  • 举报
回复
我觉得还要把场地也设计成一个类,为了适应游戏将来要扩充很多的场地。
考虑有什么设计模式能满足这个问题。
好的设计要能适应很多的用户来玩,很多的比赛,系统有可扩展性。
icosagon 2008-12-02
  • 打赏
  • 举报
回复
赛事类话我觉得应该有赛事生成部分,赛事过程(处理所有玩家的赛事并记每个玩家的分数),判断淘汰,判断结束条件这几个函数,这是整体赛事。
玩家之间的赛事最好抽象出一个类来,因为可能也许是2个人一场赛事,也可能是4个人一个赛事。

这几个部分当然得根据循环赛和淘汰赛的不同而不同,可以有一个基类. 基类可以有一个玩家类的集合,一个玩家间赛事类的集合和一个run函数,run函数 循环调用赛事生成,过程,淘汰,结束条件.

并不是所有东西都能在设计中搞定,所有不确定的东西都给它一个函数或类来抽象,不过这样会增加复杂度,凭经验把握。

因为你说的也不是十分清楚,不知合不合需求。


xxgamexx 2008-12-02
  • 打赏
  • 举报
回复
实体类


操作类


一边写一边你就有感觉了~
backway 2008-12-02
  • 打赏
  • 举报
回复
可以~
帅得不敢出门 2008-12-02
  • 打赏
  • 举报
回复
每到比赛前一段时间创建场地
这个场地如果复杂的话也要类吧.
zqlclj 2008-12-02
  • 打赏
  • 举报
回复
同意LZ
liubuweiright 2008-12-02
  • 打赏
  • 举报
回复
帮顶

管理类
代码转载自:https://pan.quark.cn/s/a4b39357ea24 基于VHDL语言的24进制多功能数字钟 FPGA多功能数字钟设计 安装要 本项目采用QuartusII9.0版本设计,非9.0版本打开可能会存在兼容性问题。 本项目选用FPGA器件为CycloneIII_EP3C40Q240C8 设计任务 设计一个24进制多功能数字电子钟,要具备以下功能: (1)时钟显示:能够以十进制在7段数码管上显示“时”、“分”、“秒”、“十分之一秒”。 (2)校表功能:能够对时钟进行校正。 (3)启动/暂停功能:能够控制时钟的启动和暂停。 (4)一键清零功能:能够将时钟清零。 (5)整点报时功能:能够在整点时发出报时信号。 (6)闹钟功能:能够在设置的时间到达时发出闹钟信号。 顶层设计原理图如下: image 设计方案/设计原理及总体框图 设计实现思路: (1)计时功能。 计时功能主要由四个计数器模块共同构成,其中十分之一秒计时器为十进制计数、分,秒计时器为六十进制计数、小时计时器为二十四进制计数。 计时器之间采用进位信号进行串联。 (2)十进制7端数码管显示功能。 显示功能由译码器模块实现。 译码器模块的两个输入端分别为刷新端和数据端。 七个译码器的刷新端连接十分之一秒的周期脉冲信号。 而数据端连接计数器的输出端,用以将4位输出BCD码译码为7端数码管的七位显示信号。 (3)校表功能。 校表功能由二选一模块和校时模式选择器模块构成。 其中二选一模块用于连接下一级计时器模块的进位信号和手动按钮脉冲信号。 当控制信号为“0”时,二选一模块输出计时器模块的进位信号。 而当控制信号为“1”时,二选一模块输出手动按钮信号。 控制信号由校时模式选择器模块输出,校时模式选择器输出端连...
内容概要:本文围绕基于交替方向乘子法(ADMM)的多主体综合能源系统分布式协同优化展开研究,提出一种可在保护各参与主体数据隐私的前提下实现全局协同优化的分布式算法框架。通过构建增广拉格朗日函数,将集中式优化问题分解为多个子问题,各主体并行迭代解并仅交换边界变量信息,从而在保证隐私安全的同时实现系统整体能效与经济性的提升。研究详细阐述了ADMM算法的数学建模过程、收敛性条件及其实现在多主体电-热-气综合能源系统中的应用,并通过Matlab代码进行仿真验证,展示了其在园区、微电网群等场景下的有效性与实用性。; 适合人群:具备一定电力系统优化、分布式算法理论基础及Matlab编程能力的研究生、科研人员以及从事综合能源系统、能源互联网、智能电网等相关领域的工程师;特别适合关注分布式优化、隐私保护协同调度等前沿方向的专业技术人员。; 使用场景及目标:①应用于多主体异构能源系统的协同调度,如工业园区、城市能源网络、微电网集群等复杂场景;②实现各利益主体在不共享原始负荷、成本等敏感数据的情况下完成联合优化,提升系统整体运行效率;③为ADMM算法在实际能源系统中的工程化部署提供可复现的代码实例与完整技术路径参考。; 阅读建议:建议读者结合提供的Matlab代码逐模块理解算法实现细节,重点掌握增广拉格朗日函数构造、对偶变量更新机制与收敛判据的设计;同时可进一步拓展学习一致性ADMM(C-ADMM)、乘子惩罚方法等改进算法,深化对分布式优化理论体系的理解。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧