java實現人機猜拳遊戲的程式碼

程式碼女民工發表於2021-11-26

需求說明:

建立遊戲類

       屬性:甲方玩家(使用者)、乙方玩家(計算機)、對戰次數

編寫遊戲類方法1——初始化

編寫遊戲類方法2——計算並返回對戰結果

編寫遊戲類方法3——顯示對戰結果  

程式碼如下:


import java.util.*;

//建一個Person類

public class Person {

    Scanner input = new Scanner(System.in);

    /**

     * 定義屬性

     */

    String name ;

    int score;

    /**

     * 人的出拳方法

     */

    public void showFirst(){

        System.out.print("請出拳:1.剪刀 2.石頭 3.布(請輸入相應數字:)");

        int num = input.nextInt();

        switch(num){

        case 1:

            System.out.println("你出拳: 剪刀");

            break;

        case 2:

            System.out.println("你出拳: 石頭");

            break;

        case 3:

            System.out.println("你出拳: 布");

            break;

        default:

            System.out.println("輸入有誤,請重新輸入:");

        }

    }

}


建一個Computer類

import java.util.*;

public class Computer {

    Scanner input = new Scanner(System.in);

    /**

     * 類的屬性

     */

    String name;

    int score;

    /**

     * 計算機出拳方法

     */

    public void showFirst(){

        int num = (int)(Math.random() * 10 % 3 + 1);

        switch(num){

            case 1 :

                System.out.println("電腦出拳:剪刀");

                break;

            case 2 :

                System.out.println("電腦出拳:石頭");

                break;

            case 3 :

                System.out.println("電腦出拳:布");

                break;

            default:

                System.out.print("輸入有誤,請重新輸入:");

        }

    }


}

最後是遊戲類

import java.util.*;

public class Game {

    Scanner input = new Scanner(System.in);

    /**

     * 定義屬性

     */

    Person person;//甲方

    Computer computer;//乙方

    int count;//對戰次數

    /**

     * 初始化方法

     */

    public void Initial(){

         person = new Person();

         computer = new Computer();

         count = 0;

    }

    /**

     * 遊戲頭及規則、選擇對手

     */

    public void Show(){

        System.out.println("-----------歡迎進入遊戲世界-----------");

        System.out.println("\t******************");

        System.out.println("\t**    猜拳,開始    **");

        System.out.println("\t******************");

        System.out.println("\n出拳規則:1.剪刀 2.石頭 3.布");

        System.out.print("請選擇對方角色:(1.劉備 2.孫權 3.曹操):");//選擇對方角色

        int num = input.nextInt();

        switch(num){

            case 1:

                System.out.println("你選擇了  劉備對戰");

                break;

            case 2:

                System.out.println("你選擇了  孫權對戰");

                break;

            case 3:

                System.out.println("你選擇了  曹操對戰");

                break;

        }


    }

    /**

     * 開始遊戲

     */

    public void Start(){

        System.out.print("要開始嗎?(y/n)");

        String answer = input.next();

        int perFirst;//使用者出拳

        int compFirst;//計算機出拳

        while(answer.equals("y")){//出拳

            perFirst = person.showFirst();

            compFirst = computer.showFirst();

        if((perFirst == 1 && compFirst == 1)||(perFirst == 2 && compFirst == 2)||(perFirst == 3 && compFirst == 3)){

            System.out.println("結果:和局,真衰!嘿嘿,等著瞧吧 !\n");//平局

        }else if((perFirst == 1 && compFirst == 3) || (perFirst == 2  && compFirst == 1) || (perFirst == 3 && compFirst == 2)){

             System.out.println("結果: 恭喜, 你贏了!");  //使用者贏

             person.score++;

        }else{

            System.out.println("結果說:^_^,你輸了,真笨!\n");  //計算機贏

            computer.score++;

        }

        count++;

          System.out.print("\n是否開始下一輪(y/n):  ");

           answer = input.next();

        }

    }

   

    }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007056/viewspace-2844394/,如需轉載,請註明出處,否則將追究法律責任。

相關文章