本文实例为大家分享了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); } }
运行截图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。