Java编写人机猜拳游戏

也就是咱们和电脑猜拳哈!

(小编写的代码可能还不够完美!!!!请友友们多多指教!!!!)

1.Rule类是一个父类,让接下来的子类继承,在里面定义了一个子类的公共属性name和score以及caiQuan方法.

package com.xy.game;                         //包名

public abstract class Rule {                 //定义抽象类
    String name;                             //定义子类中的公共属性
    int score;
    String sr="";                            //由于子类中多次用到,所以就定义了一个
    public int caiQuan(int n) {              //定义有返回值的caiQuan方法
        switch (n) {                         //将键盘接收的n转换为相对应的字符串
            case 1:
                sr = "剪刀";
                break;
            case 2:
                sr = "石头";
                break;
            case 3:
                sr = "布";
                break;
        }
        return n;                            //返回键盘接收的数据n
    }
}

2.子类Computer继承父类Rule

package com.xy.game;                              //包名
 
public class Computer extends Rule {              //Computer继承Rule,定义电脑类
    Computer computer;                            //属性
    User user;
    public int chuQuan() {                        //定义chuQuan方法
        Computer computer=new Computer();         //实例化对象
        int n= (int) (Math.random()*3+1);         //生成随机数(1,2,3)
        super.caiQuan(n) ;                        //调用父类中的caiQuan方法
        System.out.println("电脑出"+sr);          //输出语句
        return n;
        }

}

 3.子类User继承父类Rule

package com.xy.game;                                     //导包

import java.util.Scanner;                                //键盘录入导包

public class User extends Rule {                         //定义User类,继承父类Rule
    Computer computer;
    User user;                                           //属性
    public int chuQuan() {                               //定义chuQuan方法
        Scanner sc = new Scanner(System.in);             //键盘录入
        int n = sc.nextInt();                            //键盘接收
        super.caiQuan(n);                                //调用父类caiQuan方法
        System.out.println("您出" +sr);                  //输出
        return n;
    }
}

 4.在Game类中定义游戏规则,以及开始游戏

package com.xy.game;                                 //包名               

import java.util.Scanner;                            //键盘录入导包
public class Game extends Rule {                     //定义Game类,继承Rule
     User user;                                      //属性
     Computer computer;
    public static void main(String[] args) {         
        User user = new User();                      //实例化对象
        Computer computer = new Computer();
        Game game = new Game();
        Scanner sc = new Scanner(System.in);         //键盘录入数据
        System.out.println("===================================");   //游戏格式,好看而已啦
        System.out.println("==============猜拳游戏=============");
        System.out.println("====游戏规则:1.剪刀  2.石头  3.布====");
        System.out.println("====电脑角色:1.妲己  2.香香  3.镜====");
        System.out.println("===================================");
        System.out.println("请输入您的游戏ID:");
        user.name = sc.next();                       //键盘录入接收游戏ID
        System.out.println("请选择电脑角色:");
        int s = sc.nextInt();                        //键盘录入接收电脑角色的代号
        switch (s) {
            case 1:
                sr = "妲己";
                break;
            case 2:
                sr = "香香";
                break;
            case 3:
                sr = "镜";
                break;
        }
        computer.name = sr;                         //电脑角色
        System.out.println(user.name + " *VS* " + computer.name); //例如输出张三 *VS* 妲己
        for (; ; ) {                                       //死循环,多次游戏
            System.out.println("是否继续游戏:y/n");         //判断是否继续游戏
            String s1 = sc.next(); 
            if ("Y".equals(s1) || "y".equals(s1)) {        //输入y或Y,游戏继续
                System.out.println("请输入您想出的拳:");
                int u = user.chuQuan();                    //得到玩家调用chuQuan后的返回值
                int c = computer.chuQuan();                //得到电脑调用chuQuan后的返回值
                if (u == 1 && c == 3) {                    //判断输赢
                    System.out.println(user.name + "胜!");
                    user.score++;                          //玩家的分数
                } else if (u == 3 && c == 1) {
                    System.out.println(computer.name + "赢!");
                    computer.score++;                      //电脑的分数
                } else if (u > c) {
                    System.out.println(user.name + "胜!");
                    user.score++;
                } else if (u > c) {
                    System.out.println(computer.name + "赢!");
                    computer.score++;
                } else {
                    System.out.println("平局!");
                }
            }else {
                break;
            }
        }
        if (user.score>computer.score){                    //最终判断电脑的分数与玩家的分数         
            System.out.println("最终"+user.name+"胜出!");
        }else if(user.score

5.成果展示 

Java编写人机猜拳游戏_第1张图片 Java编写人机猜拳游戏_第2张图片

(小编也在努力学习更多哟!以后会多多分享哒!)

希望对友友们有所帮助!!!!

Java编写人机猜拳游戏_第3张图片

你可能感兴趣的:(JAVA小练习,java)