JavaSE實現(xiàn)猜拳游戲
更新時間:2021年01月19日 11:50:26 作者:Sylarjyd
這篇文章主要為大家詳細(xì)介紹了JavaSE實現(xiàn)猜拳游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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;//分?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("玩家請輸入用戶名:"); 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+",您的游戲分?jǐn)?shù)為:"+score); System.exit(0); }else{ System.out.println(userName+",您輸入錯誤,請重新輸入!"); test02(); } } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
東方通TongWeb結(jié)合Spring-Boot使用的實現(xiàn)
本文主要介紹了東方通TongWeb結(jié)合Spring-Boot使用的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07如何使用BeanUtils.copyProperties進(jìn)行對象之間的屬性賦值
這篇文章主要介紹了使用BeanUtils.copyProperties進(jìn)行對象之間的屬性賦值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05java abstract class interface之間的區(qū)別介紹
含有abstract修飾符的class即為抽象類,abstract 類不能創(chuàng)建的實例對象,abstract class類中定義抽象方法必須在具體(Concrete)子類中實現(xiàn),所以,不能有抽象構(gòu)造方法或抽象靜態(tài)方法2012-11-11SpringBoot項目中訪問HTML頁面的實現(xiàn)示例
本文主要介紹了SpringBoot項目中訪問HTML頁面的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動
這篇文章主要介紹了centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01