java實現簡單石頭剪刀佈遊戲
本文實例為大傢分享瞭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); } }
運行截圖
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。