java实现人机猜拳游戏的代码

需求说明:

创建游戏类

       属性:甲方玩家(用户)、乙方玩家(计算机)、对战次数

编写游戏类方法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();

        }

    }

   

    }


请使用浏览器的分享功能分享到微信等