App下載

Java數(shù)組練習(xí)之豆機(jī)游戲模擬 詳細(xì)源代碼

猿友 2021-07-30 17:37:35 瀏覽數(shù) (2442)
反饋

本篇文章將和大家分享,如何通過(guò)編寫Java代碼程序?qū)崿F(xiàn)豆機(jī)游戲的內(nèi)容。本文旨在幫助大家提升對(duì)于Java數(shù)組應(yīng)用的知識(shí),提高大家對(duì)于Java數(shù)組的理解。

一、題目介紹

豆機(jī),又叫做梅花瓶或者也叫作高爾頓瓶,它主要是用來(lái)做統(tǒng)計(jì)實(shí)驗(yàn),名字是用英國(guó)科學(xué)家瑟弗蘭克斯·高爾頓的名字來(lái)命名的。它是一個(gè)三角形形狀的,有序地?cái)[放釘子或者鉤子的直立板子,具體如下圖所示:

豆機(jī)模型

具體玩法是,是將球從入口處放入,當(dāng)球碰到釘子或者鉤子的時(shí)候,就會(huì)有50%的概率落向左邊或者落向右邊。在板子底部的槽子中,就會(huì)累積一定數(shù)量的球。

二、代碼展示

定義關(guān)于路徑 road 的方法,當(dāng)球落下有兩種走法,一種向左,一種向右。

 public static String[] road(String[] paths, int soltsCount){
        for (int i = 0; i <paths.length ; i++) {
            String path = "";
            for (int j = 0; j < soltsCount-1; j++) {
                if ((int)(Math.random()*2)==0){
                    path += "L";
                }else{
                    path += "R";
                }
            }
            paths[i] = path;
        }
        return paths;
    }

定義板子底部槽中落下的小球統(tǒng)計(jì)方法。

    public static int[] count(String[] paths, int[] solts){
        for (int i = 0; i <paths.length ; i++) {
            int count = 0;
            String path = paths[i];
            for (int j = 0; j < path.length(); j++) {
                if(path.charAt(j) == 'R'){
                    count ++;
                }
            }
            solts[count]++;
        }
        return solts;
    }

定義打印的方法,分別打印小球進(jìn)入到底部槽中的路徑以及槽中小球的個(gè)數(shù):

    public static void print(String[] paths){
        for (int i = 0; i < paths.length; i++) {
            System.out.println(paths[i]);
        }
    }

    public static void print(int[] solts){
        for (int i = 0; i < solts.length; i++) {
            System.out.println("第"+(i+1)+"個(gè)槽:"+solts[i]);
        }
    }

定義程序的主入口方法 main,在方法體內(nèi)自定義輸入小球的個(gè)數(shù),以及底部槽的個(gè)數(shù)。

三、結(jié)果打印

打印結(jié)果

四、總結(jié)

以上就是關(guān)于使用 Java 數(shù)組的知識(shí)來(lái)實(shí)現(xiàn)豆機(jī)游戲的小程序,想要了解更多關(guān)于 Java 數(shù)組好玩有趣的練習(xí),請(qǐng)關(guān)注W3Cschool相關(guān)技術(shù)文章,希望本篇文章能夠?qū)Υ蠹业膶W(xué)習(xí)有所幫助!


0 人點(diǎn)贊