Java——猜拳游戏

本文介绍了一个使用Java实现的简单石头剪刀布游戏。该游戏包括玩家与电脑对战的功能,采用面向对象的设计方法,实现了游戏逻辑与角色行为。通过三个回合决定最终胜负。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

果然,Java比C语言难多了

package com.bit.game;

import java.util.Scanner;

public class Person {
    private String name;
    private int score;

    public String fist(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请选择:石头、剪刀、布");
        String str = scanner.nextLine();//nextLine():可以扫描到一个内容并作为一个字符串而被获取到
        return str;
    }

    public void setScore(){
        this.score++;
    }
    public int getScore(){
        return score;
    }

    public Person(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
}
package com.bit.game;

import java.util.Random;

public class Computer {
    private String name;
    private int score;

    public String fist(){
        Random random = new Random();
        int n = random.nextInt(3) + 1;//1.2.3
        String str = null;
        switch(n){
            case 1:{
                System.out.println(name+":"+"石头");
                str = "石头";
                break;
            }
            case 2:{
                System.out.println(name+":"+"剪刀");
                str = "剪刀";
                break;
            }
            case 3:{
                System.out.println(name+":"+"布");
                str = "布";
                break;
            }
        }
        return str;
    }

    public void setScore(){
        this.score++;
    }
    public int getScore(){
        return score;
    }

    public Computer(String name) {
        this.name = name;
    }
    public String getName(){
        return name;
    }
}

package com.bit.game;

import java.util.Random;
import java.util.Scanner;

public class Game{
    private Person person;//组合
    private  Computer computer;//组合
    public  Game(){
        person = new Person("player");
        computer = new Computer("小a");
    }

    public void playThreeTimes(){
        int count = 0;
        for(count = 0;count < 3;count++){
            String pFist = person.fist();
            String cFist = computer.fist();

            if(pFist.equals("石头") && cFist.equals("剪刀") ||
                    pFist.equals("剪刀") && cFist.equals("布") ||
                    pFist.equals("布") && cFist.equals("石头")){
                System.out.println(person.getName()+"本局获胜");
                person.setScore();

            }else if(pFist.equals(cFist)){
                System.out.println("本剧平局");

            }else{
                System.out.println(computer.getName()+"本局获胜");
                computer.setScore();
            }
        }
    }

    public void getResult(){
        int pScore = person.getScore();
        int cScore = computer.getScore();
        if(pScore>cScore){
            System.out.println(person.getName()+"赢了");
        }else if(pScore == cScore){
            System.out.println("平局");
        }else{
            System.out.println(computer.getName()+"赢了");
        }
        System.out.println(person.getName()+":"+computer.getName()+"=====>"+person.getScore()+":"+computer.getScore());
    }

    public void start(){
        while(true){
            playThreeTimes();
            getResult();

            System.out.println("是否继续?");
            Scanner scanner = new Scanner(System.in);
            String str = scanner.next();
            if(str.equals("是")){
                continue;
            }else{
                break;
            }
        }
    }
}

package com.bit.game;

public class TestMain {
    public static void main(String[] args) {
        Game game = new Game();
        System.out.println("=================猜拳游戏开始!===================");
        System.out.println("===========游戏规则:三局两胜,统计分数===========");
        System.out.println("==================================================");
        game.start();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值