java项目实现猜拳小游戏

所属分类: 软件编程 / java 阅读数: 51
收藏 0 赞 0 分享

本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下

项目名称

猜拳小游戏

项目描述

玩家与电脑进行猜拳游戏,玩家行为采用输入方式,电脑行为采用随机形式。

代码实现

测试类

public class Test {
  public static void main(String[] args) {
    Game game = new Game();
    game.start();
  }
}

主类:实现主方法

public class Game {
  private People people;
  private Computer computer;
  public Game(){
    people = new People("zs");
    computer = new Computer("computer");
  }
  public void start(){
    boolean flag = true;
    while (flag) {
      System.out.println("开始游戏:");
      int count = 0;
      while (count < 3) {
        String peopleFist = people.doFist();
        String comFist = computer.doFist();
        //people赢
        if (peopleFist.equals("石头") && comFist.equals("剪刀") ||
            peopleFist.equals("剪刀") && comFist.equals("布") ||
            peopleFist.equals("布") && comFist.equals("石头")) {
          System.out.println(people.getName() + "赢了");
          people.addScore(1);
        } else if (peopleFist.equals("石头") && comFist.equals("石头") ||
            peopleFist.equals("剪刀") && comFist.equals("剪刀") ||
            peopleFist.equals("布") && comFist.equals("布")) {
          System.out.println("平局");
        } else if (peopleFist.equals("石头") && comFist.equals("布") ||
            peopleFist.equals("剪刀") && comFist.equals("石头") ||
            peopleFist.equals("布") && comFist.equals("剪刀")) {
          System.out.println(computer.getName() + "赢了");
          computer.addScore(1);
        }
        count++;
      }
      if (people.getScore() > computer.getScore()) {
        System.out.println(people.getName() + "赢了 " + people.getScore() + ":" + computer.getScore());
      } else if (people.getScore() == computer.getScore()) {
        System.out.println("平局");
      } else if (people.getScore() < computer.getScore()) {
        System.out.println(computer.getName() + "赢了 " + computer.getScore() + ":" + people.getScore());
      }
      System.out.println("是否开始新游戏:");
      Scanner scanner = new Scanner(System.in);
      String str = scanner.next();
      if (str.equals("否")) {
        flag = false;
      }else {
        people.setScore();
        computer.setScore();
      }
    }
  }
}

玩家

public class People {
  private String name;
  private int score;
  public People(String name){
    this.name = name;
    score = 0;
  }
  public String getName(){
    return name;
  }
  public void addScore(int score){
    this.score += score;
  }
  public int getScore(){
    return score;
  }
  public int setScore(){
    this.score = 0;
    return score;
  }
  public String doFist(){
    System.out.println("请出拳:");
    Scanner scanner = new Scanner(System.in);
    String fist = scanner.next();
    return fist;
  }
}

电脑

public class Computer {
  private String name;
  private int score;
  public Computer(String name){
    this.name = name;
    score = 0;
  }
  public String getName(){
    return name;
  }
  public void addScore(int score){
    this.score += score;
  }
  public int getScore(){
    return score;
  }
  public int setScore(){
    this.score = 0;
    return score;
  }
  public String doFist(){
    Random random = new Random();
    int n = random.nextInt(3);
    String fist;
    if(n == 0){
      fist = "石头";
    }else if(n == 1){
      fist = "剪刀";
    }else {
      fist = "布";
    }
    System.out.println("对方出的是:"+fist);
    return fist;
  }
}

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

利用MultipartFile实现文件上传功能

这篇文章主要为大家详细介绍了利用MultipartFile实现文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java编程实现NBA赛事接口调用实例代码

这篇文章主要介绍了Java编程实现NBA赛事接口调用实例代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java编程之双重循环打印图形

这篇文章主要介绍了Java编程之双重循环打印图形,属于Java编程基础练习部分,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

java基础学习JVM中GC的算法

这篇文章主要介绍了java基础学习JVM中GC的算法,通过图文加深对GC算法思路的理解。
收藏 0 赞 0 分享

Java编程Post数据请求和接收代码详解

这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Retrofit+Rxjava实现文件上传和下载功能

这篇文章主要介绍了Retrofit+Rxjava实现文件上传和下载功能,文中提到了单文件上传和多文件上传及相关参数的请求,需要的朋友参考下吧
收藏 0 赞 0 分享

Retrofit+Rxjava下载文件进度的实现

这篇文章主要介绍了Retrofit+Rxjava下载文件进度的实现,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java检查服务器的连通两种方法代码分享

这篇文章主要介绍了java检查服务器的连通两种方法代码分享,涉及ping的介绍以及检查服务器连通的两种方法代码示例,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java/Android 获取网络重定向文件的真实URL的示例代码

本篇文章主要介绍了Java/Android 获取网络重定向文件的真实URL的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java并发编程之同步器代码示例

这篇文章主要介绍了java并发编程之同步器代码示例,分享了相关代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享
查看更多