java小程序——人机猜拳

人机猜拳互动游戏的开发主要功能
1) 选取对战角色
2) 猜拳
3) 记录分数

//抽象出电脑与玩家共同属性和行为

abstract class Player {
    String name;
    int score;


    public Player(){

        name="名字";
        score=0;
    }

    public abstract int showFist();
}
//完成电脑类

public class Computer  extends Player{

    @Override
    public int showFist() {
        int show=(int)(Math.random()*10)%3+1;
        switch (show) {
        case 1:
            System.out.println(name+"出拳:剪刀");
            break;
        case 2:
            System.out.println(name+"出拳:石头");
            break;
        case 3:
            System.out.println(name+"出拳:布");
            break;

        }
        return show;
    }

}
//实现玩家类
import java.util.Scanner;

public class Person extends Player{
    public int showFist(){
        @SuppressWarnings("resource")
        Scanner input=new Scanner(System.in);
        System.out.print("\n请出拳: 1剪刀 2石头 3布 (输入相应数字) :");
        int show=input.nextInt();
        switch(show){
            case 1:
                System.out.println("你出拳:剪刀");
                break;
            case 2:
                System.out.println("你出拳:石头");
                break;
            case 3:
                System.out.println("你出拳:布");
                break;
        }
        return show;
    }

}
//主要的游戏类

import java.util.Scanner;

public class Game {
    Person   person;
    Computer computer;
    int count = 0;

    public void initial() {
        person = new Person();
        computer = new Computer();
        count=0;

    }
    public void  startGame() {
        System.out.println("-------------欢迎进入游戏世界-----------------");
        System.out.println("*******************************************");
        System.out.println("****************猜拳,开始********************");
        System.out.println("*******************************************");
        System.out.println("请选择对方角色:(1:刘备,2:孙权,3:曹操)");
        @SuppressWarnings("resource")
        Scanner input = new Scanner(System.in);
        int role = input.nextInt();
        if (role == 1) {
            computer.name="刘备";
        }else if (role == 2) {
            computer.name="孙权";

        }else if (role== 3) {
            computer.name="曹操";
        }
        System.out.println("请输入你的名字:");
        @SuppressWarnings("resource")
        Scanner personname = new Scanner(System.in);
        String  pname = personname.next();
        person.name=pname;

        System.out.println("要开始么?(y/n)");
        @SuppressWarnings("resource")
        Scanner queding = new Scanner(System.in);
        String  con = queding.next();

        int perFist;
        int compFist;

        while (con.equals("y") ) {
            perFist=person.showFist();
            compFist=computer.showFist();

            if((perFist==1&&compFist==1)||
                    (perFist==2&&compFist==2)||
                    (perFist==3&&compFist==3)){
                        System.out.println("结果:和局,再来一局吧!\n");
                }else if((perFist==1 && compFist==3)||
                          (perFist==2 && compFist==1)||
                          (perFist==3 && compFist== 2)){
                              System.out.println("结果:恭喜,你赢了!");
                              person.score++;
                          }else{
                            System.out.println("结果:你输了!");
                                computer.score++;
                            }
                count++;
                System.out.print("\n是否开始下一轮(y/n):");
                con=input.next();
        }
        showResult();
    }
    private void showResult() {
        // TODO Auto-generated method stub
        System.out.println("--------------------------------");
        System.out.println(computer.name+"    VS    "+person.name);
        System.out.println("对战次数:"+count);
        System.out.println("姓名\t得分");
        System.out.println(computer.name+"\t"+computer.score);
        System.out.println(person.name+"\t"+person.score);
    }



}
//开始游戏
public class PlayGame {
    public static void main(String[] args) {
        Game game = new Game();
        game.initial();
        game.startGame();
    }
}

代码比较简单就不写详细解析了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值