欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

public class CaiQuan {
  private String userName;//存儲(chǔ)用戶名
  private String cName;//存儲(chǔ)對(duì)手
  private int cNameNum;//存儲(chǔ)玩家選擇的對(duì)手代號(hào)
  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;//分?jǐn)?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("歡迎進(jìn)行猜拳小游戲!");
    System.out.println("1.表示石頭  2.表示剪刀  3.表示布");
    sc = new Scanner(System.in);
    if(userName==null){
      System.out.println("玩家請(qǐng)輸入用戶名:");
      System.out.println("=============================================");
      userName = sc.next();
    }
  }
  //選擇對(duì)手
  public void selectArmy(){
    System.out.println("=============================================");
    System.out.println("對(duì)手選擇列表:");
    System.out.println("1:"+Army01+"  2:"+Army02+"   3:"+Army03);
    System.out.println(userName+"請(qǐng)輸入對(duì)手:");
    System.out.println("=============================================");
    test01();
    System.out.println(userName+",您選擇的對(duì)手為"+cName);
    System.out.println("=============================================");
  }
  //判斷對(duì)手
  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("對(duì)手選擇錯(cuò)誤,請(qǐng)重新選擇!");
      test01();
    }  
  }
  //開始游戲
  public void userInput(){
    System.out.println(userName+"請(qǐng)出拳:");
    System.out.println("1.表示石頭  2.表示剪刀  3.表示布");
    System.out.println("=============================================");
    test();
    System.out.println("=============================================");
    System.out.println(userName+"的出拳為:"+userInfo);
  }
  //判斷輸入的數(shù)是否錯(cuò)誤
  public void test(){
    uNum = sc.nextInt();
    if(uNum==1){
      userInfo = "石頭";
    }else if(uNum==2){
      userInfo = "剪刀";
    }else if(uNum==3){
      userInfo = "布";
    }else{
      System.out.println("輸入錯(cuò)誤,請(qǐng)請(qǐng)重新輸入");
      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="此時(shí)平局";
        flag = true;
      }else if(cNum == 2){
        score += 1; 
        msg="此時(shí)"+userName+"勝出";
        flag = false;
      }else {
        score -= 1; 
        msg="此時(shí)"+cName+"勝出";
        flag = true;
      }
      return;
    }else if(uNum == 2){
      if(cNum == 1){
        score -= 1;
        msg="此時(shí)"+cName+"勝出";
        flag = true;
      }else if(cNum == 2){
        msg="此時(shí)平局";
        flag = true;
      }else {
        score += 1;
        msg="此時(shí)"+userName+"勝出";
        flag = false;
      }
    }else {
      if(cNum == 1){
        score += 1;
        msg="此時(shí)"+userName+"勝出";
        flag = false;
      }else if(cNum == 2){
        score -= 1;
        msg="此時(shí)"+cName+"勝出";
        flag = true;
      }else {
        msg=" 此時(shí)平局";
        flag = true;
      }
    }
    System.out.println(msg);
  }
  //游戲結(jié)束信息
  public void gameOver(){
    System.out.println("=============================================");
    if(flag==true){
      System.out.println(userName+",您沒有戰(zhàn)勝電腦,不要灰心,請(qǐng)繼續(xù)游戲!");
      System.out.println("=============================================");
      System.out.println("繼續(xù)游戲請(qǐng)輸入:1   結(jié)束游戲請(qǐng)輸入:2");
      test02();
    }else if(flag==false){
      System.out.println(userName+",您太厲害了,竟然戰(zhàn)勝了"+cName+",游戲結(jié)束!");
      System.out.println("=============================================");
      System.out.println("繼續(xù)游戲請(qǐng)輸入:1   結(jié)束游戲請(qǐng)輸入:2");
      test02();
    }
  }
  //判斷玩家是否繼續(xù)游戲
  public void test02(){
    selectInfo = sc.nextInt();
    if(selectInfo==1){
      flag = true;
    }else if(selectInfo==2){
      System.out.println(userName+",您的游戲分?jǐn)?shù)為:"+score);
      System.exit(0);
    }else{
      System.out.println(userName+",您輸入錯(cuò)誤,請(qǐng)重新輸入!");
      test02();  
    }
  }
}

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

相關(guān)文章

  • java去除重復(fù)對(duì)象的簡(jiǎn)單實(shí)例

    java去除重復(fù)對(duì)象的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)硪黄猨ava去除重復(fù)對(duì)象的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • springboot整合token的實(shí)現(xiàn)代碼

    springboot整合token的實(shí)現(xiàn)代碼

    這篇文章主要介紹了springboot整合token的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 東方通TongWeb結(jié)合Spring-Boot使用的實(shí)現(xiàn)

    東方通TongWeb結(jié)合Spring-Boot使用的實(shí)現(xiàn)

    本文主要介紹了東方通TongWeb結(jié)合Spring-Boot使用的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • spring裝配bean的3種方式總結(jié)

    spring裝配bean的3種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于spring裝配bean的3種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot集成多數(shù)據(jù)源解析

    SpringBoot集成多數(shù)據(jù)源解析

    這篇文章主要介紹了SpringBoot集成多數(shù)據(jù)源解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 如何使用BeanUtils.copyProperties進(jìn)行對(duì)象之間的屬性賦值

    如何使用BeanUtils.copyProperties進(jìn)行對(duì)象之間的屬性賦值

    這篇文章主要介紹了使用BeanUtils.copyProperties進(jìn)行對(duì)象之間的屬性賦值,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • java abstract class interface之間的區(qū)別介紹

    java abstract class interface之間的區(qū)別介紹

    含有abstract修飾符的class即為抽象類,abstract 類不能創(chuàng)建的實(shí)例對(duì)象,abstract class類中定義抽象方法必須在具體(Concrete)子類中實(shí)現(xiàn),所以,不能有抽象構(gòu)造方法或抽象靜態(tài)方法
    2012-11-11
  • 深入理解Spring事務(wù)原理

    深入理解Spring事務(wù)原理

    這篇文章主要帶領(lǐng)大家深入理解Spring事務(wù)原理,Spring事務(wù)的傳播屬性
    2016-07-07
  • SpringBoot項(xiàng)目中訪問HTML頁面的實(shí)現(xiàn)示例

    SpringBoot項(xiàng)目中訪問HTML頁面的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot項(xiàng)目中訪問HTML頁面的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng)

    centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng)

    這篇文章主要介紹了centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01

最新評(píng)論