最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaSE實現(xiàn)猜拳游戲

 更新時間:2021年01月19日 11:50:26   作者:Sylarjyd  
這篇文章主要為大家詳細介紹了JavaSE實現(xiàn)猜拳游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JavaSE實現(xiàn)猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下

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;//接收用戶輸入的數(shù)
  private int cNum;//接受電腦產(chǎn)生的數(shù)
  private Scanner sc;
  private static final String Army01 = "張飛";
  private static final String Army02 = "關(guān)羽";
  private static final String Army03 ="劉備";
  private static boolean flag ;//平局和電腦勝為true,玩家贏為fasle
  private int selectInfo;//玩家是否繼續(xù)游戲,1表示繼續(xù),0表示結(jié)束
  private int score = 0;//分數(shù)

  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);
  }
  //判斷輸入的數(shù)是否錯誤
  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);
  }
  //游戲結(jié)束信息
  public void gameOver(){
    System.out.println("=============================================");
    if(flag==true){
      System.out.println(userName+",您沒有戰(zhàn)勝電腦,不要灰心,請繼續(xù)游戲!");
      System.out.println("=============================================");
      System.out.println("繼續(xù)游戲請輸入:1   結(jié)束游戲請輸入:2");
      test02();
    }else if(flag==false){
      System.out.println(userName+",您太厲害了,竟然戰(zhàn)勝了"+cName+",游戲結(jié)束!");
      System.out.println("=============================================");
      System.out.println("繼續(xù)游戲請輸入:1   結(jié)束游戲請輸入:2");
      test02();
    }
  }
  //判斷玩家是否繼續(xù)游戲
  public void test02(){
    selectInfo = sc.nextInt();
    if(selectInfo==1){
      flag = true;
    }else if(selectInfo==2){
      System.out.println(userName+",您的游戲分數(shù)為:"+score);
      System.exit(0);
    }else{
      System.out.println(userName+",您輸入錯誤,請重新輸入!");
      test02();  
    }
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring中ApplicationEvent事件機制源碼詳解

    Spring中ApplicationEvent事件機制源碼詳解

    這篇文章主要介紹了Spring中ApplicationEvent事件機制源碼詳解,Spring中與事件有關(guān)的接口和類主要包括ApplicationEvent、ApplicationListener,下面來看一下Spring中事件的具體應(yīng)用,需要的朋友可以參考下
    2023-09-09
  • JAVA不可變類(immutable)機制與String的不可變性(推薦)

    JAVA不可變類(immutable)機制與String的不可變性(推薦)

    這篇文章主要介紹了JAVA不可變類(immutable)機制與String的不可變性(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 詳解Java8中Optional的常見用法

    詳解Java8中Optional的常見用法

    Opitonal是java8引入的一個新類,目的是為了解決空指針異常問題。本文將通過示例為大家詳細講講Optional的常見用法,需要的可以參考一下
    2022-09-09
  • Java打亂數(shù)組元素簡單代碼例子

    Java打亂數(shù)組元素簡單代碼例子

    在Java編程中,我們經(jīng)常需要對數(shù)組進行亂序操作(即將數(shù)組中的元素隨機打亂順序),這篇文章主要給大家介紹了關(guān)于Java打亂數(shù)組元素的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • 使用mockito編寫測試用例教程

    使用mockito編寫測試用例教程

    這篇文章主要為大家介紹了使用mockito編寫測試用例教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • mybatis自動填充時間字段示例代碼

    mybatis自動填充時間字段示例代碼

    這篇文章主要給大家介紹了關(guān)于mybatis自動填充時間字段的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • IDEA如何將String類型轉(zhuǎn)json格式

    IDEA如何將String類型轉(zhuǎn)json格式

    在Java中,字符串字面量中的轉(zhuǎn)義字符會被自動轉(zhuǎn)換,但通過網(wǎng)絡(luò)獲取的字符串可能不會自動轉(zhuǎn)換,為了解決IDEA無法識別JSON字符串的問題,可以在本地對字符串進行一次轉(zhuǎn)換,替換轉(zhuǎn)義字符,從而生成可以被IDEA識別的新JSON字符串
    2025-01-01
  • 通過面試題解析 Java 類加載機制

    通過面試題解析 Java 類加載機制

    類加載是 Java 語言的一個創(chuàng)新,也是 Java 語言流行的重要原因之一。它使得 Java 類可以被動態(tài)加載到 Java 虛擬機中并執(zhí)行。下面小編和大家來一起學習一下吧
    2019-05-05
  • spring?boot項目中集成rocketmq詳細步驟

    spring?boot項目中集成rocketmq詳細步驟

    這篇文章主要給大家介紹了關(guān)于spring?boot項目中集成rocketmq的相關(guān)資料,springboot集成rocketmq的方法非常簡單,文中直接上代碼,需要的朋友可以參考下
    2023-09-09
  • 如何通過zuul添加或修改請求參數(shù)

    如何通過zuul添加或修改請求參數(shù)

    這篇文章主要介紹了如何通過zuul添加或修改請求參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

云浮市| 鄄城县| 塔城市| 黔南| 文昌市| 临邑县| 土默特右旗| 邯郸县| 惠东县| 奇台县| 桐庐县| 益阳市| 科尔| 昌黎县| 拜泉县| 竹溪县| 南召县| 大荔县| 宁明县| 新宁县| 邓州市| 远安县| 东阳市| 游戏| 民和| 鹤峰县| 县级市| 金沙县| 子洲县| 东安县| 如东县| 巨鹿县| 江津市| 东港市| 江永县| 南涧| 阳东县| 乌苏市| 蒙阴县| 隆安县| 安西县|