首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于简单的象棋游戏来说,实施状态模式是一个好的设计选择吗?

对于简单的象棋游戏来说,实施状态模式是一个好的设计选择吗?
EN

Stack Overflow用户
提问于 2013-03-24 08:22:14
回答 2查看 1.4K关注 0票数 1

我试图写一个离线,没有AI,没有GUI同步命令行国际象棋游戏,两个用户玩(或者一个用户同时玩白色和黑色)。这意味着只有一个线程。

国际象棋游戏包括特殊动作{捕捉、传、升、掷、刑、相持}

用户通过声明开始位置和结束位置与游戏进行交互。例如e1 g1.就这样,一句话。

我试图充分利用面向对象设计的特权。但仅仅是为了这个要求。实现状态模式值得吗?由于用户只输入命令和游戏,因此不应要求用户在此之后作出任何其他决定。

编辑:很抱歉我没说清楚。我所困惑的是是否要在游戏控制级别上实现像这样的状态:

或者像这张图片那样的棋子级别:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-24 08:28:31

如果你不打算以后改进游戏,或者在游戏中添加更多的功能,那么就没有必要让它变得有状态了。

但是,如果有任何机会(如1%)的未来工作,那么你最好使它有状态。因为编写不必要的代码总是更容易在新的上下文中重写功能。

票数 2
EN

Stack Overflow用户

发布于 2013-03-24 08:32:12

使用状态将给您提供相同的好处,在一个宇宙应用程序国际象棋游戏,它将为您提供一个完整的UI应用程序。主要的好处是你可以跟踪允许的移动和游戏状态,就像你已经说过的:弃球,传球,检查,检查伴侣等等。

游戏状态和可能的动作不受使用控制台应用程序、UI、分布式web应用程序或其他任何东西的影响。他们与游戏的内在逻辑有关。

编辑:

对于UI国际象棋应用程序,我可以想到的一个好处是,如果您希望专门化ceratin状态的外观,例如:当有检查状态时,在国王上放一个红色的方块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15596504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档