enum实战之石头剪刀布

本文通过实现一个简单的“石头剪刀布”程序,熟悉Java枚举类型(enum)多路分发的使用。

需要用到的类主要是以下四个:

  1. 游戏主体RoShamBo:包括ROCK,SCISSORS,PAPER三种动作;
  2. 对战结果Outcome:包括WIN,LOSE,DRAW三种对战结果;
  3. 对战接口Competitor:包括对战方法compete();
  4. 逻辑验证RoShamBoSample:随机生成对战数据,验证对战结果。
详细代码如下:

1,Outcome.java:

package com.sample.roshambo;

public enum Outcome {
    WIN, LOSE, DRAW;
}
2,Competitor.java:
package com.sample.roshambo;

public interface Competitor<T extends Competitor<T>> {
    Outcome compete(T competitor);
}
3,RoShamBo.java:
package com.sample.roshambo;

public enum RoShamBo implements Competitor<RoShamBo> {

    ROCK(Outcome.DRAW, Outcome.WIN, Outcome.LOSE), SCISSORS(Outcome.LOSE, Outco
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值