评论

收藏

[Java] java实现简单石头剪刀布游戏

编程语言 编程语言 发布于:2021-08-16 17:47 | 阅读数:587 | 评论:0

本文实例为大家分享了java实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下
问题描述
Alice, Bob和Cindy一起玩猜拳的游戏。和两个人的猜拳类似,每一轮,他们会从石头、剪刀、布中各自选一个出拳,基本的胜负规则是石头赢剪刀、剪刀赢布、布赢石头。如果一轮中正好可以分成胜负两边,则负边的每个人要支付给胜边的每个人一块钱。如果无法分成胜负两边,则都不出钱。比如,如果Alice出石头,而Bob和Cindy都出布,则Alice要分支付Bob和Cindy一块钱。再如,如果Alice出石头, Bob出剪刀, Cindy出布,则都不出钱。他们三人共进行了n轮游戏,请问最后每个人净赚多少钱?即赚的钱减去支付的钱是多少?
代码
package Ring1270.pra.java01;
import java.util.Scanner;
/**
 * finger-guessing game: * n:number of games * A: Person A's money * B: Person B's money * C: Person C's money * 0: Stand for stone * 1: Stand for Scissor * 2: Stand for cloth * rule1: Two persons give the same result means game over * Rule2: The money add 1 everytime which win * Rule3:The money less 1 everytime which fail * */public class D_FingerGuessingGame {
  public static void main(String[] args) {
  int A = 0;
  int B = 0;
  int C = 0;
  Scanner scanner = new Scanner(System.in);
  System.out.printf("The number of game:");
  int n = scanner.nextInt();
  StringBuffer stringBuffer = new StringBuffer();
  for (int i = 0; i <= n; i++) {
    String s = scanner.nextLine();
    char[] D = s.toCharArray();
    for (int j = 0; j < D.length; j++) {
    //A and B success
 if (D[0] == D[1] && D[0] != D[2]) {
      if ('0' == D[0] && '1' == D[2]) {
      A++;
      B++;
      C -= 2;
      }
      else if ('1' == D[0] && '2' == D[2]) {
      A++;
      B++;
      C -= 2;
      }
      else if ('2' == D[0] && '0' == D[2]) {
      A++;
      B++;
      C -= 2;
      }else {
      A--;
      B--;
      C += 2;
      }
    }
    // A and C success
 if (D[0] == D[2] && D[0] != D[1]) {
      if ('0' == D[0] && '1' == D[1]) {
      A++;
      B -= 2;
      C++;
      }
      else if ('1' == D[0] && '2' == D[1]) {
      A++;
      B -= 2;
      C++;
      }
      else if ('2' == D[0] && '0' == D[1]) {
      A++;
      B -= 2;
      C++;
      }else {
      A--;
      B += 2;
      C--;
      }
    }
    // C and B success
 if (D[1] == D[2] && D[1] != D[0]) {
      if ('0' == D[1] && '1' == D[0]) {
      A -= 2;
      B++;
      C++;
      }
      else if ('1' == D[1] && '2' == D[0]) {
      A -= 2;
      B++;
      C++;
      }
      else if ('2' == D[1] && '0' == D[0]) {
      A -= 2;
      B++;
      C++;
      }
      else {
      A += 2;
      B--;
      C--;
      }
    }
    break;
    }
  }
  System.out.println(A);
  System.out.println(B);
  System.out.println(C);
  }
}
运行截图
DSC0000.jpg

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家
原文链接:https://blog.csdn.net/weixin_43388956/article/details/113938103

关注下面的标签,发现更多相似文章