面向对象_猜拳游戏

通过控制台命令方式实现一个猜拳游戏,用户通过输入(1.剪刀,2.石头,3.布)与电脑PK,最后通过积分的多少判定胜负

猜拳游戏实现思路:
    1、在控制台输出玩法提示
    2、是否开始游戏(接收1表示开始,0表示退出)
    3、接收游戏的局数
    4、循环接收用户的出拳(1.剪刀 2石头 3.布)
    5、系统随机出拳
    6、进行比较记录胜者次数
    7、公布结果

package com.study.second;



import java.util.Random;

import java.util.Scanner;



/*

      作业:

          通过控制台命令方式实现一个猜拳游戏,用户通过输入

          (1.剪刀,2.石头,3.布)与电脑PK,最后通过积分的多少判定胜负

 */

public class NinetySix_NinetySeven {

    public static void main(String[] args) {

        Game g = new Game();

        g.begin();

    }

    

}



//猜拳游戏类

class Game{

    public void begin(){

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

        System.out.println("*******猜拳游戏***********");

        System.out.println("游戏规则:(1.剪刀 2石头 3.布)");

        System.out.println("游戏开始(1/0):");

        Scanner input = new Scanner(System.in);

        int result = input.nextInt();

        if(result == 1){

            System.out.println("请输入猜拳的次数:");

            int num = input.nextInt();

            

            play(num);

        }else{

            System.out.println("拜拜!");

        }

    }

    

    //游戏的核心方法

    public void play(int num){

        int userCount = 0;//用户胜利的局数

        int pcCount = 0;//电脑胜利的局数

        Random r = new Random();

        

        Scanner input = new Scanner(System.in);

        

        while(num>0){

            int x = r.nextInt(100)%3+1;//电脑出的拳(100%3 是1,2 加1 3  范围就是1,2,3)

            

            System.out.println("请输入你的选择(1.剪刀 2石头 3.布)");

            int s = input.nextInt();

            if(s==1){

                switch(x){

                    case 1:

                        System.out.println("平局,你出剪刀,电脑出剪刀");

                        break;

                    case 2:

                        System.out.println("你输了,电脑赢了,你出剪刀,电脑出石头");

                        pcCount++;

                        break;

                    case 3:

                        System.out.println("你赢了,电脑输了,你出剪刀,电脑出布");

                        userCount++;

                        break;

                }

            }

            if(s==2){

                switch(x){

                    case 1:

                        System.out.println("你赢了,电脑输了,你出石头,电脑剪刀");

                        userCount++;

                        break;

                    case 2:

                        System.out.println("平局,你出石头,电脑出石头");

                        break;

                    case 3:

                        System.out.println("你输了,电脑赢了,你出石头,电脑出布");

                        pcCount++;

                        break;

                }

            }

            if(s==3){

                switch(x){

                    case 1:

                        System.out.println("你输了,电脑赢了,你出布,电脑剪刀");

                        pcCount++;

                        break;

                    case 2:

                        System.out.println("你赢了,电脑输了,你出布,电脑出石头");

                        userCount++;

                        break;

                    case 3:

                        System.out.println("平局,你出布,电脑出布");

                        break;

                }

            }

            

            

            num--;

        }

        

        //公布结果

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

        System.out.println("你胜:"+userCount);

        System.out.println("电脑胜:"+pcCount);

        if(userCount == pcCount){

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

        }else if(userCount > pcCount){

            System.out.println("你赢了,电脑输了");

        }else{

            System.out.println("你输了,电脑赢了");

        }

    }

    

}

 

你可能感兴趣的:(面向对象)