1. 程式人生 > 程式設計 >Java控制檯實現猜拳遊戲小遊戲

Java控制檯實現猜拳遊戲小遊戲

本文例項為大家分享了Java猜拳遊戲的具體程式碼,供大家參考,具體內容如下

先來看一下效果圖:

首先我們建立一個Person類,這個類有name和score兩個屬性,有play這個方法,原始碼如下:

package com.samoy;

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

  public Person(String name,int score) {
    this.name = name;
    this.score = score;
  }

  public String play(int i) {
    return i == 1?"剪刀":(i == 2?"石頭":"布");
  }
}

接下來是主程式入口:

package com.samoy;

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

public class JavaTest {

  public static void main(String[] args) {

    int num = 0;

    System.out.println("*****************\n****猜拳,開始****\n*****************");
    System.out.println("出拳規則:1.剪刀 2.石頭 3.布");
    System.out.println("請選擇對方角色<1:劉備 2:孫權 3:曹操>");

    Scanner scanner = new Scanner(System.in);

    //new一個對手
    Person opponent = new Person("",0);
    int nameIndex = scanner.nextInt();
    while (true){
      if (nameIndex == 1){
        opponent.name = "劉備";
        break;
      }else if (nameIndex == 2){
        opponent.name = "孫權";
        break;
      }else if (nameIndex == 3){
        opponent.name = "曹操";
        break;
      }else {
        System.out.println("輸入錯誤!輸入對方角色<1:劉備 2:孫權 3:曹操>");
        nameIndex = scanner.nextInt();
      }
    }

    System.out.println("請輸入您的姓名:");
    Scanner scanner1 = new Scanner(System.in);
    Person self = new Person(scanner1.next(),0);
    System.out.println(self.name + " VS " +opponent.name);
    System.out.println("要開始遊戲嗎?<y/n>");

    Scanner scanner2 = new Scanner(System.in);
    String option = scanner2.next();
    while (option.equals("y")){
      System.out.println("請出拳:1、剪刀 2、石頭 3、布");
      Scanner scanner3 = new Scanner(System.in);
      int select = scanner3.nextInt();
      String result1;
      if (select!=1&&select!=2&&select!=3){
        System.out.println("輸入錯誤!請輸入出拳規則:1、剪刀 2、石頭 3、布");
        select = scanner3.nextInt();
      }
      result1 = self.play(select);
      System.out.println(self.name+"出:"+result1);
      String result2 = opponent.play(new Random().nextInt(3)+1);
      System.out.println(opponent.name+"出:"+result2);


      if (result1.equals(result2)){
        System.out.println("和局");
      }else if (result1.equals("剪刀")&&result2.equals("布")||result1.equals("石頭")&&result2.equals("剪刀")||result1.equals("布")&&result2.equals("石頭")){
        System.out.println("你贏了! "+self.name+"贏!");
        self.score += 1;
      }else {
        System.out.println("你輸了! "+opponent.name+"贏!");
        opponent.score += 1;
      }
      num++;
      System.out.println("需要進行下一局嗎?<y/n>");
      option = scanner2.next();
      if (option.equals("n")){
        System.out.println("=================");
        System.out.println("共進行"+num+"局\n"+self.name+"得分為"+self.score+","+opponent.name+"得分為"+opponent.score +"\n");
        if (self.score>opponent.score){
          System.out.println(self.name+"贏!"+self.name+"好棒!");
        }else if (self.score == opponent.score){
          System.out.println("平局!");
        }else {
          System.out.println(opponent.name+"贏!"+self.name+"笨蛋!");
        }
        System.out.println("感謝你的使用!");
      }else if (!option.equals("y")){
        System.out.println("輸入錯誤,請重新輸入!");
        System.out.println("需要進行下一局嗎?<y/n>");
        option = scanner2.next();
      }
    }
  }
}

原始碼下載:Java猜拳遊戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。