当前位置: 首页 > 编程笔记 >

Java实现的剪刀石头布游戏示例

顾永福
2023-03-14
本文向大家介绍Java实现的剪刀石头布游戏示例,包括了Java实现的剪刀石头布游戏示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Java实现的剪刀石头布游戏。分享给大家供大家参考,具体如下:

ChoiceAnswer.java

public class ChoiceAnswer {
    String texts[] = { "石头", "剪刀", "布" };
    int value; // 【1】石头\t【2】剪刀\t【3】布
    String getText() {
        return texts[value - 1];
    }
    ChoiceAnswer(int value) {
        this.value = value;
    }
    /**
     * 返回0表示平手,返回1表示赢,返回-1表示输
     */
    int compTo(ChoiceAnswer c) {
        if (value == c.value) {
            return 0;
        }
        if (value + 1 == c.value || (value == 3 && c.value == 1)) {
            return 1;
        }
        return -1;
    }
}

Game.java

import java.util.Scanner;
public class Game {
    void p(String s) {
        System.out.println(s);
    }
    void showWelcome() {
        p("欢迎使用······");
        p("请选择:【1】石头\t【2】剪刀\t【3】布");
    }
    @SuppressWarnings("resource")
    ChoiceAnswer getUserChoice() {
        Scanner sc = new Scanner(System.in);
        int userChoice = Integer.parseInt(sc.nextLine());
        while (userChoice < 1 || userChoice > 3) {
            p("你输入的不正确!请重新输入!");
            userChoice = Integer.parseInt(sc.nextLine());
        }
        return new ChoiceAnswer(userChoice);
    }
    ChoiceAnswer getComputerChoice() {
        int computerChoice = (int) ((Math.random() * 3) + 1);
        return new ChoiceAnswer(computerChoice);
    }
    void showResult(ChoiceAnswer userChoice, ChoiceAnswer computerChoice) {
        int result = userChoice.compTo(computerChoice);
        if (result == 0) {
            System.out.println("平手,您和电脑均选择了:" + userChoice.getText());
        } else if (result == 1) {
            System.out.println("恭喜,您赢了!您选择了:" + userChoice.getText()
                    + ";   电脑选择了:" + computerChoice.getText());
        } else {
            System.out.println("对不起,您败了!您选择了:" + userChoice.getText()
                    + ";电脑选择了:" + computerChoice.getText());
        }
    }
    void start() {
        showWelcome();
        ChoiceAnswer userChoice = getUserChoice();
        ChoiceAnswer computerChoice = getComputerChoice();
        showResult(userChoice, computerChoice);
    }
    public static void main(String a[]) {
        System.out.println("小牛知识库测试结果:");
        new Game().start();
    }
}

运行结果:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Java实现石头剪刀布小游戏,包括了Java实现石头剪刀布小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java实现石头剪刀布的具体代码,供大家参考,具体内容如下 代码: 运行效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Python实现石头剪刀布游戏,包括了Python实现石头剪刀布游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了一个简单的小游戏,分享给大家。 利用随机函数制作石头剪刀布小游戏 程序只运行一次 每次出拳一次要运行一次,很麻烦,要让程序一直运行 在程序中加个while条件就解决啦 长期玩游戏不利于身心健康,玩游戏要有度 那就默认游戏一开始有三次机会吧,每玩一次减掉一次

  • 本文向大家介绍JavaFX实现石头剪刀布小游戏,包括了JavaFX实现石头剪刀布小游戏的使用技巧和注意事项,需要的朋友参考一下 用JavaFX写一个石头剪刀布的小游戏,供大家参考,具体内容如下 课程上布置的作业,其实java很少用来写这种程序的 - GUI界面部分 - 石头剪刀布的逻辑部分 书上教的是JavaFX,其实还有很多方法,书上说AWT和Swing基本上淘汰了,但事实上… 代码 MyJav

  • 我写了一个“石头、布、剪刀”游戏: 它可以工作,但是,这是很多s,我知道这对于语句时,问题是我不知道如何。 我试着根据输入使用一个返回语句:“返回0代表石头,1代表布,2代表剪刀”,然后使用一个条件来表示“嘿,如果一个玩家返回1,另一个玩家也返回1,那么就把‘平局’放进去,其他可能的结果也一样。”。 我试图将一个数字与结果联系起来:

  • 我的任务是编写一个程序,让用户对着电脑玩石头、纸、剪刀的游戏。 说明: 主方法应该有两个嵌套的循环,其中外循环将允许用户根据需要经常玩游戏,内循环将玩游戏,只要有一个平局。在userChoice()方法的while循环中调用方法isValidChoice()来验证用户输入的选项必须是“Rock”、“Paper”或“Scissors”。如果输入了无效的字符串,isValidChoice()将返回fa

  • 本文向大家介绍JavaScript实现的石头剪刀布游戏源码分享,包括了JavaScript实现的石头剪刀布游戏源码分享的使用技巧和注意事项,需要的朋友参考一下 这个游戏主要设计到两点: 首先是胜负运算 由于石头剪刀布是循环性的 石头 杀 剪子 剪子 杀 布 布   杀  石头 石头  杀  剪子 。。。 根据以上特点找出规律,写出算法即可。 让电脑随机 这点比较容易,前面我有写过文章介绍,不明白的