“猜拳游戏”,用面对对象的思想完成!!

package game;
import java.util.*;
public class Personal {
    private String name;
    private int score;
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public void setScore(int score){
        this.score=score;
    }
    public int getScore(){
        return score;
    }
    public int play() {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入1-3,分别代表剪刀、石头、布");
        int num=input.nextInt();
        switch(num) {
        case 1:
            System.out.println(name+"你出的是:剪刀");
            break;
        case 2:
            System.out.println(name+"你出的是:石头");
            break;
        case 3:
            System.out.println(name+"你出的是:布");
            break;
        }
        return num;
    }
}
package game;

public class Computer {
    private String name;
    private int score;
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public void setScore(int score){
        this.score=score;
    }
    public int getScore(){
        return score;
    }
    public int play() {
        int num = (int)(Math.random()*3+1);
        switch(num) {
        case 1:
            System.out.println(name+"你出的是:剪刀");
            break;
        case 2:
            System.out.println(name+"你出的是:石头");
            break;
        case 3:
            System.out.println(name+"你出的是:布");
            break;
        }
        return num;
    }
}
package game;
import java.util.*;
import java.util.concurrent.SynchronousQueue;
public class Game {
    private Personal per;
    private Computer com;
    private Scanner in;
    private  int  count;
    public Game() {
        com = new Computer();
        per = new Personal();
        in = new Scanner(System.in);
    }
    public void selectRole() {
        System.out.println("请为person选择角色:1.唐僧     2.孙悟空    3.猪八戒    4.沙和尚");
        int roleP = in.nextInt();
        switch(roleP) {
        case 1 :
            per.setName("唐僧");
            break;
        case 2:
            per.setName("孙悟空");
            break;
        case 3:
            per.setName("猪八戒");
            break;
        case 4:
            per.setName("沙和尚");
            break;
        }

      System.out.println("person选择角色:"+per.getName());
      int roleC = (int)(Math.random()*4+1);
        switch (roleC) {
        case 1:
            com.setName("牛魔王");
            break;
        case 2:
            com.setName("铁扇公主 ");
            break;
        case 3:
            com.setName("红孩儿");
            break;
        case 4:
            com.setName("紫霞仙子");
        }
        System.out.println("Computer选择的角色为:"+com.getName());
    }

public void play() {
    boolean flag = true;
    while(flag) {
        System.out.println("请"+per.getName()+"出拳:");
        int quanp=per.play();//1 2 3   剪刀 石头 布
        int quanc=com.play();
        if((quanp==1&&quanc==3)||(quanp==2&&quanc==1)||(quanp==3&&quanc==2)) {
            System.out.println(per.getName()+"赢了");
                per.setScore((per.getScore()+10));
                com.setScore((com.getScore()-10));
            }else if(quanp == quanc) {
                System.out.println("平局");
            }else {
                System.out.println(com.getName()+"赢了");
                per.setScore((per.getScore()-10));
                com.setScore((com.getScore()+10));
            }
        count++;
        System.out.println("是否继续游戏?(Y/N)");
        String answer = in.next();
        if(answer.equalsIgnoreCase("N"))
            flag = false;
       }
    }
public void showResult(){
    System.out.println(per.getName()+"最终得分为:"+per.getScore());
    System.out.println(com.getName()+"最终得分为:"+com.getScore());
    System.out.println("一共进行了"+count+"局游戏");
    if(per.getScore() > com.getScore())
        System.out.println("最终是"+per.getName()+"赢了");
    else if(per.getScore() == com.getScore())
        System.out.println("最终是平局了");
    else
        System.out.println("最终是"+com.getName()+"赢了");
    }
}
package game;

public class Text {
    public static void main(String [] args) {
        Game g = new Game();
        g.selectRole();
        g.play();
        g.showResult();
    }
}

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值