gpt4 book ai didi

java - 石头、剪刀、布机器人

转载 作者:太空宇宙 更新时间:2023-11-04 15:20:23 24 4
gpt4 key购买 nike

我的类(class)本周将举行机器人竞赛,我们应该让我们的机器人战胜其他人的机器人。比赛项目为石头、布、剪刀、炸药、水气球。炸药胜过一切,除了水气球,而水气球只胜过炸药。老师写了竞技场,还有其他一些机器人,一个智能机器人,一个打印机(纸)机器人,一个随机机器人,还有他的机器人向我们展示了一些例子。我喜欢这个智能机器人,我用它来创建我的机器人,显然我需要在我的机器人中做更多的事情。我不确定还需要添加什么以及如何使我的机器人获胜。我还需要记录我有多少炸药。

我的问题如下:我可以向机器人添加什么以使其获胜以及如何跟踪炸药?这是我的机器人:

public class herro1cb extends Bot {

public herro1cb(int dynamiteQuantity) {
super(dynamiteQuantity);
_dynamiteLeft = dynamiteQuantity;
setName("Chelsea");
}

@Override
public Move doMove(Move opponentsPrior, int points) {


switch( opponentsPrior ){
case Dynamite:
return _dynamiteLeft > 0 ? Move.Dynamite : Move.WaterBalloon;
case WaterBalloon:
return Move.Scissors;
case Scissors:
return Move.Rock;
case Paper:
return Move.Scissors;
case Rock:
return Move.Paper;
default:
return _dynamiteLeft > 0 ? Move.Rock : Move.Dynamite;
}


}

}

以下是扩展内容:

public abstract class Bot implements Comparable<Bot> {

private String _name;
protected int _dynamiteLeft = 0;

public Bot( int dynamiteQuantity ){
_dynamiteLeft = dynamiteQuantity;
}


public String getName(){
return this._name;
}
public void setName(String value){
this._name = value;
}

public abstract Move doMove(Move opponentsPrior,int points);

public void reset(int dynamiteRenewal){
_dynamiteLeft = dynamiteRenewal;
}


@Override
public int compareTo(Bot o) {
return +Integer.compare( this.hashCode() , o.hashCode() );
}
}

提前致谢!

最佳答案

如果每个人都试图创建一个“比对手思考得更远”的机器人,那么你应该尝试保留所选 Action 的历史记录。尝试找出其他机器人会提前思考多少次迭代。没有什么可以阻止您评估您所做的每一步棋的整个历史记录。

通过说比对手思考得更远,我的意思是:

I just chose scissors, but the opponent chose rock, so he beat me. In order to win, I should change to paper, but the opponent will know that, and will pick scissors. In order to beat his "intelligent" move, pick rock instead.

如果其他机器人基于此算法,如果您能找出他们提前思考的迭代次数,您就可以击败他们。

我猜你无法制造出足够智能的东西来击败随机机器人。

备注:你现在在代码中的逻辑基本上击败了对手之前的 Action 。

关于java - 石头、剪刀、布机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com