溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaSE如何實現猜拳游戲

發布時間:2021-01-20 11:05:24 來源:億速云 閱讀:208 作者:小新 欄目:開發技術

這篇文章主要介紹JavaSE如何實現猜拳游戲,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

JavaSE實現猜拳游戲的具體代碼,具體內容如下

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

public class CaiQuan {
  private String userName;//存儲用戶名
  private String cName;//存儲對手
  private int cNameNum;//存儲玩家選擇的對手代號
  private String userInfo;//用戶出拳信息
  private String cInfo;//電腦出拳信息
  private int uNum;//接收用戶輸入的數
  private int cNum;//接受電腦產生的數
  private Scanner sc;
  private static final String Army01 = "張飛";
  private static final String Army02 = "關羽";
  private static final String Army03 ="劉備";
  private static boolean flag ;//平局和電腦勝為true,玩家贏為fasle
  private int selectInfo;//玩家是否繼續游戲,1表示繼續,0表示結束
  private int score = 0;//分數

  public static void main(String[] args) {
    CaiQuan cq = new CaiQuan();
    cq.gameInfo();
    do{
      cq.selectArmy();
      cq.userInput();
      cq.cOutput();
      cq.compareCaiQuan();
      cq.gameOver();
    }while(flag);
  }

  public CaiQuan(){

  }
  //打印游戲信息
  public void gameInfo(){
    System.out.println("歡迎進行猜拳小游戲!");
    System.out.println("1.表示石頭  2.表示剪刀  3.表示布");
    sc = new Scanner(System.in);
    if(userName==null){
      System.out.println("玩家請輸入用戶名:");
      System.out.println("=============================================");
      userName = sc.next();
    }
  }
  //選擇對手
  public void selectArmy(){
    System.out.println("=============================================");
    System.out.println("對手選擇列表:");
    System.out.println("1:"+Army01+"  2:"+Army02+"   3:"+Army03);
    System.out.println(userName+"請輸入對手:");
    System.out.println("=============================================");
    test01();
    System.out.println(userName+",您選擇的對手為"+cName);
    System.out.println("=============================================");
  }
  //判斷對手
  public void test01(){
    cNameNum = sc.nextInt();
    if(cNameNum==1){
      cName = Army01;
    }else if(cNameNum==2){
      cName = Army02;
    }else if(cNameNum==3){
      cName = Army03;
    }else{
      System.out.println("對手選擇錯誤,請重新選擇!");
      test01();
    }  
  }
  //開始游戲
  public void userInput(){
    System.out.println(userName+"請出拳:");
    System.out.println("1.表示石頭  2.表示剪刀  3.表示布");
    System.out.println("=============================================");
    test();
    System.out.println("=============================================");
    System.out.println(userName+"的出拳為:"+userInfo);
  }
  //判斷輸入的數是否錯誤
  public void test(){
    uNum = sc.nextInt();
    if(uNum==1){
      userInfo = "石頭";
    }else if(uNum==2){
      userInfo = "剪刀";
    }else if(uNum==3){
      userInfo = "布";
    }else{
      System.out.println("輸入錯誤,請請重新輸入");
      test();
    }
  }
  //電腦出拳
  public void cOutput(){
    Random random = new Random();
    cNum = random.nextInt(3)+1;
    if(cNum==1){
      cInfo = "石頭";
    }else if(cNum==2){
      cInfo = "剪刀";
    }else if(cNum==3){
      cInfo = "布";
    }
    System.out.println(cName+"出拳為:"+cInfo);
  }
  //比較大小
  public void compareCaiQuan(){
    String msg = null;
    if(uNum == 1){
      if(cNum == 1){
        msg="此時平局";
        flag = true;
      }else if(cNum == 2){
        score += 1; 
        msg="此時"+userName+"勝出";
        flag = false;
      }else {
        score -= 1; 
        msg="此時"+cName+"勝出";
        flag = true;
      }
      return;
    }else if(uNum == 2){
      if(cNum == 1){
        score -= 1;
        msg="此時"+cName+"勝出";
        flag = true;
      }else if(cNum == 2){
        msg="此時平局";
        flag = true;
      }else {
        score += 1;
        msg="此時"+userName+"勝出";
        flag = false;
      }
    }else {
      if(cNum == 1){
        score += 1;
        msg="此時"+userName+"勝出";
        flag = false;
      }else if(cNum == 2){
        score -= 1;
        msg="此時"+cName+"勝出";
        flag = true;
      }else {
        msg=" 此時平局";
        flag = true;
      }
    }
    System.out.println(msg);
  }
  //游戲結束信息
  public void gameOver(){
    System.out.println("=============================================");
    if(flag==true){
      System.out.println(userName+",您沒有戰勝電腦,不要灰心,請繼續游戲!");
      System.out.println("=============================================");
      System.out.println("繼續游戲請輸入:1   結束游戲請輸入:2");
      test02();
    }else if(flag==false){
      System.out.println(userName+",您太厲害了,竟然戰勝了"+cName+",游戲結束!");
      System.out.println("=============================================");
      System.out.println("繼續游戲請輸入:1   結束游戲請輸入:2");
      test02();
    }
  }
  //判斷玩家是否繼續游戲
  public void test02(){
    selectInfo = sc.nextInt();
    if(selectInfo==1){
      flag = true;
    }else if(selectInfo==2){
      System.out.println(userName+",您的游戲分數為:"+score);
      System.exit(0);
    }else{
      System.out.println(userName+",您輸入錯誤,請重新輸入!");
      test02();  
    }
  }
}

以上是“JavaSE如何實現猜拳游戲”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女