首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用课外信息:囚徒困境

使用课外信息:囚徒困境
EN

Stack Overflow用户
提问于 2016-09-14 02:32:26
回答 1查看 110关注 0票数 1

这周我们班要做一个叫“囚徒困境”的实验。这个想法是,两个罪犯在不同的房间里接受讯问,可以选择彼此合作,也可以选择叛逃并出卖对方。我们的工作是使用下面的框架来编写策略:

代码语言:javascript
运行
复制
 package specs;

    public interface Strategy {
        public void opponentMove(boolean isDefecting);
        public boolean isDefecting();
    }

这些策略然后通过模拟器与其他学生制定的策略进行对比。

我的问题是:我如何让我的策略记住它的最后一步,或者它的对手的最后一步。在我看来,strategy类唯一知道的就是它不是C就是D,并且它在某个地方有一个对手,也就是C或D。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-14 02:36:18

这非常简单,在TitForTat的情况下,这两个方法成为lastMove状态变量的简单的getters和setters。

代码语言:javascript
运行
复制
public class TitForTat implements Strategy {
  private boolean lastMove;

  public void opponentMove(boolean isDefecting) {
     lastMove = isDefecting;
  }

  public boolean isDefecting() {
    return lastMove;
  }
}

我希望你能从这一点推断出其他策略。

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

https://stackoverflow.com/questions/39476835

复制
相关文章

相似问题

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