java實現(xiàn)簡單石頭剪刀布游戲
本文實例為大家分享了java實現(xiàn)簡單石頭剪刀布游戲的具體代碼,供大家參考,具體內(nèi)容如下
問題描述
Alice, Bob和Cindy一起玩猜拳的游戲。和兩個人的猜拳類似,每一輪,他們會從石頭、剪刀、布中各自選一個出拳,基本的勝負規(guī)則是石頭贏剪刀、剪刀贏布、布贏石頭。如果一輪中正好可以分成勝負兩邊,則負邊的每個人要支付給勝邊的每個人一塊錢。如果無法分成勝負兩邊,則都不出錢。比如,如果Alice出石頭,而Bob和Cindy都出布,則Alice要分支付Bob和Cindy一塊錢。再如,如果Alice出石頭, Bob出剪刀, Cindy出布,則都不出錢。他們?nèi)斯策M行了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); } }
運行截圖
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
java結合keytool如何實現(xiàn)非對稱簽名和驗證詳解
這篇文章主要給大家介紹了關于java結合keytool如何實現(xiàn)非對稱簽名和驗證的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-08-08Spring使用@Filter注解創(chuàng)建自定義過濾器
Spring 中鮮為人知但非常有用的注解之一是 @Filter,它支持自定義過濾器,下面我們就來深入研究一下如何使用 Spring 的 @Filter 注解來創(chuàng)建自定義過濾器吧2023-11-11MyBatis Mapper中 @Select注解調(diào)用靜態(tài)常量的問題分析
在Java編碼中,我們通常會把這些數(shù)字或者字符串定義在常量類或者接口中,可以直接在mapper中也可以使用這些常量就比較好,這篇文章主要介紹了MyBatis Mapper中 @Select注解調(diào)用靜態(tài)常量,需要的朋友可以參考下2023-06-06