尤物网站在线-尤物网站永久在线观看-尤物网在线观看-尤物天堂-久久久久久久亚洲精品一区-久久久久久久亚洲精品

游戲排行榜java實現
創始人
2024-06-20 17:07:42
0

一、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寫一個游戲排名界面,最好是有代碼和解釋,謝謝!

java實現的簡單猜數字游戲代碼,通過隨機數與邏輯判斷來實現游戲功能

代碼如下:

import java.util.InputMismatchException;

import java.util.Scanner;

public class Main{

public static void main(String[] args){

//產生一個隨機數

int number=(int)(Math.random()* 100)+ 1;

//加入count

int count= 0;

//在這里加入最大值,和最小值

int max= 100;

int min= 1;

while(true){

//鍵盤錄入數據

Scanner sc= new Scanner(System.in);

System.out.println("請輸入你要猜的數據:("+ min+"~"+ max+")");

try{

count++;

int guessNumber= sc.nextInt();

//判斷

if(guessNumber> number){

max= guessNumber;

System.out.println("你猜大了");

} else if(guessNumber< number){

min= guessNumber;

System.out.println("你猜小了");

} else{

System.out.println("恭喜你,花了"+ count+"次就猜中了");

//問是否繼續

System.out.println("請問還要繼續嗎?(yes)");

sc= new Scanner(System.in);

String str= sc.nextLine();

if("yes".equals(str)){

//重寫賦值隨機數

number=(int)(Math.random()* 100)+ 1;

count= 0;

max= 100;

min= 1;

} else{

break;

}

}

} catch(InputMismatchException e){

System.out.println("你輸入的數據有誤");

}

}

}

}

三、如何用java編寫一個游戲排行榜的功能

1)把記錄的東西存到一個ArrayList里但是退出以后再進入就沒了。

2)把記錄的東西存到一個txt文件中用特殊的方式存再用特殊的方式取

比如說存的時候用“,”隔開名字和分數,在取的時候用split方法去分割

名字和分數。

3)把名字和分數存到數據庫要的時候調用就是了(這個是最好的方法)

至于排行的話重寫compareTo方法然后用Collections.sort去排序。

相關內容

熱門資訊

超污游戲排行榜 一、情侶之間有哪些比較污的小游戲提起適合情侶在房間玩的污的游戲,大家都知道,有人問情侶之間有哪些比較...
超游戲小說排行榜 一、十大必看網游小說排行榜排行榜:1、第一本:《網游之縱橫天下》,作者:失落葉。書評:這本書是月恒三...
大型rpg免費手游排行榜 一、rpg回合制手游排行榜最新rpg回合制手游排行榜如下:1、《夢幻西游》《夢幻西游》作為豬場的老i...
2017iphone游戲排行榜 一、iphone手機必玩的單機游戲排行榜很多好的游戲都是需要聯網的,導致很多情況下無法進行玩耍,這時...
17寸游戲本電腦排行榜 一、筆記本電腦好還是臺式電腦好筆記本電腦和臺式電腦有何異同?哪個性價比更高?先說區別,筆記本便攜,臺...
暗殺2手游排行榜最新 一、狙擊游戲排行榜2021狙擊游戲有著獨屬于自己的魅力,玩家可以在游戲中享受廝殺的快感,千里之外擊斃...
pvp槍戰手游排行榜 一、二戰槍戰手游排行榜前十名二戰槍戰手游排行榜前十名《巔峰坦克》、《模擬二戰》、《鐵甲風暴》、《坦克...
國足mt游戲排行榜 一、我叫mt橙卡國足騎騎天賦哪個最好國足騎騎(騎士)【活動副本---國足火了產出】神圣天賦(默認天賦...
pc網頁游戲排行榜 一、求電腦大型網絡游戲排行,有哪些比較推薦的電腦大型網絡游戲排行:《魔獸世界》、《穿越火線》、《冒險...
卡牌合體手游排行榜 一、卡牌類手游排行榜前十名卡牌類手游排行榜前十名如下:1、《部落沖突:皇室戰爭》《部落沖突:皇室戰爭...