bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

猜拳代碼java,猜拳代碼js

Java使用循環,實現猜拳游戲統計多少局及勝率?

為了讓游戲有參與感,并體現java面對對象的思想,我先創建一個Player選手類,包含選手的名字playerName還有出拳方法guess()。出拳時采用隨機獲取0、1和2的方式分別代表石頭、剪刀和布,代碼如下:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、虛擬空間、營銷軟件、網站建設、蓮都網站維護、網站推廣。

public class Player {

private String playerName;

public Player(String playerName) {

this.playerName = playerName;

}

public String getPlayerName() {

return playerName;

}

//出拳方法 0-石頭 1-剪刀 2-布

public int guess() {

//隨機獲取0、1、2

int num = new Random().nextInt(3);

if (num == 0) {

System.out.print("選手" + this.playerName + "出的是石頭 ");

} else if (num == 1) {

System.out.print("選手" + this.playerName + "出的是剪刀 ");

} else if (num == 2) {

System.out.print("選手" + this.playerName + "出的是布 ");

}

return num;

}

}

然后在主類中,首先要輸入對局的總數,然后創建兩名選手進行pk,在pk()方法中制定了獲勝規則,詳見代碼注釋。最終統計并利用BigDecimal計算勝率(BigDecimal可以很完美的解決整數除法及其四舍五入保留小數的問題):

public class Main {

public static void main(String[] args) {

System.out.println("請輸入本局局數:");

Scanner scanner = new Scanner(System.in);

int sum = scanner.nextInt();

//創建結果數組,resultArray[0]代表p1的獲勝局數,resultArray[1]代表p2的獲勝局數,resultArray[2]代表平局局數

int[] resultArray = new int[3];

//創建兩名選手

Player p1 = new Player("張三");

Player p2 = new Player("李四");

for (int i = 0; i sum; i++) {

//根據總局數進行pk

int result = pk(p1, p2);

if (result == 1) {

resultArray[0]++;

} else if (result == -1) {

resultArray[1]++;

} else {

resultArray[2]++;

}

}

System.out.println("");

System.out.println("最終結果統計:");

System.out.println("選手[" + p1.getPlayerName() + "]獲勝局數為:" + resultArray[0] + ",勝率為:" +

new BigDecimal(resultArray[0]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");

System.out.println("選手[" + p2.getPlayerName() + "]獲勝局數為:" + resultArray[1] + ",勝率為:" +

new BigDecimal(resultArray[1]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");

System.out.println("平局局數為:" + resultArray[2] + ",平局率為:" +

new BigDecimal(resultArray[2]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");

}

//0-石頭 1-剪刀 2-布

//return 0:平局 1:p1獲勝 -1:p2獲勝

private static int pk(Player p1, Player p2) {

System.out.println("--------------------");

int a = p1.guess();

int b = p2.guess();

System.out.print("\n對局結果:");

//出拳相同平局

if (a == b) {

System.out.println("平局");

return 0;

}

//p1獲勝條件:p1出石頭時p2出剪刀,p1出剪刀時p2出步,p1出布時p2出石頭

else if ((a == 0 b == 1) || (a == 1 b == 2) || (a == 2 b == 0)) {

System.out.println("選手[" + p1.getPlayerName() + "]獲勝");

return 1;

}

//p2獲勝條件:p1出石頭時p2出布,p1出剪刀時p2出石頭,p1出布時p2出剪刀

else if ((a == 0 b == 2) || (a == 1 b == 0) || (a == 2 b == 1)) {

System.out.println("選手[" + p2.getPlayerName() + "]獲勝");

return -1;

} else {

//因為規定了隨機數產生0、1、2,所以其實不會走到本分支

throw new IllegalArgumentException("本局無效");

}

}

}

對局5局的運行結果:

我這里就只能統計當前游戲的數據了,如果你想統計多局游戲總的勝率信息,那么需要將每一局的比賽結果寫到txt文件里,最終根據txt文件內容統計即可。

用java如何編寫一個猜拳游戲?

我之前寫了個猜拳游戲的源代碼,不過沒你想的這么精彩。你才給5分就給你你自己修改了,應該很簡單的。要多給點分我可以幫你修改。\x0d\x0aimport java.util.Scanner;\x0d\x0aimport java.util.Random;\x0d\x0apublic class caiquan\x0d\x0a{\x0d\x0afinal int jiandao=0;\x0d\x0afinal int shitou=1;\x0d\x0afinal int bu=2;\x0d\x0a\x0d\x0apublic static void main(String[] args)\x0d\x0a{\x0d\x0aString yn="y";\x0d\x0awhile (yn.equals("y"))\x0d\x0a {\x0d\x0a Scanner scanner = new Scanner(System.in);\x0d\x0a System.out.println("歡迎玩猜拳游戲。請輸入0,1,2:0表示剪刀,1表示石頭,2表示布");\x0d\x0a int a = scanner.nextInt();\x0d\x0a\x0d\x0a Random rd = new Random();\x0d\x0a int b = rd.nextInt(3); \x0d\x0a\x0d\x0a switch (b)\x0d\x0a {\x0d\x0a case 0:\x0d\x0a {\x0d\x0a System.out.println("系統出的是剪刀");\x0d\x0a switch(a)\x0d\x0a {\x0d\x0a case 0:System.out.println("平");break;\x0d\x0a case 1:System.out.println("贏");break;\x0d\x0a case 2:System.out.println("輸");break;\x0d\x0a }\x0d\x0a }\x0d\x0a break;\x0d\x0a case 1:\x0d\x0a {\x0d\x0a System.out.println("系統出的是石頭");\x0d\x0a switch(a)\x0d\x0a {\x0d\x0a case 0:System.out.println("輸");break;\x0d\x0a case 1:System.out.println("平");break;\x0d\x0a case 2:System.out.println("贏");break;\x0d\x0a }\x0d\x0a }\x0d\x0a break;\x0d\x0a case 2:\x0d\x0a {\x0d\x0a System.out.println("系統出的是布");\x0d\x0a switch(a)\x0d\x0a {\x0d\x0a case 0:System.out.println("贏");break;\x0d\x0a case 1:System.out.println("輸");break;\x0d\x0a case 2:System.out.println("平");break;\x0d\x0a }\x0d\x0a }\x0d\x0a }\x0d\x0a Scanner ynn = new Scanner(System.in);\x0d\x0a System.out.println("是否繼續?是請輸入y,否則輸入n。");\x0d\x0a yn=ynn.next();\x0d\x0a }\x0d\x0a}\x0d\x0a}

java代碼猜拳游戲相關代碼請教

comp是電腦產生的隨機數字(電腦出的拳),people 是人出的拳。 因為剪刀石頭布只有 1 2 3

。如果電腦的數字比的你剛好大1,就是它比你的大。 如21,32對應就是(石頭大于剪刀,布大于石頭)。 但也有可能是剪刀大于布 。 那么剪刀的位子是1 ,布的位子是3. 所以當電腦數字減你的數字等于2時 就是(電腦出的布 ,你出的石頭這樣的情況了)。

所以是if((comp-people)==-1||(comp-people)==2) 這兩者結合就是你贏的時候

本文題目:猜拳代碼java,猜拳代碼js
URL鏈接:http://vcdvsql.cn/article26/heghcg.html

成都網站建設公司_創新互聯,為您提供微信公眾號網站內鏈、定制開發、搜索引擎優化、Google、全網營銷推廣

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設