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

java實(shí)現(xiàn)簡(jiǎn)單石頭剪刀布小游戲

 更新時(shí)間:2022年01月06日 16:22:34   作者:涼皮!  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單石頭剪刀布小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

簡(jiǎn)介

石頭剪刀布游戲,進(jìn)入游戲后,玩家需要輸入玩家姓名。系統(tǒng)界面之后彈出歡迎界面,玩家可以選擇出拳或者退出游戲。玩家選擇出拳后同電腦出拳比較,輸出猜拳結(jié)果。最后退出游戲后顯示排行榜,輸出總局?jǐn)?shù),勝率。

分析

通過while循環(huán)死循環(huán)模擬不斷進(jìn)行游戲,當(dāng)用戶輸入0時(shí)break跳出while循環(huán)。

通過Random產(chǎn)生隨機(jī)數(shù)模擬AI出拳

定義了一個(gè)choose方法,將用戶輸入和AI隨機(jī)生成的數(shù),轉(zhuǎn)換成剪刀、石頭和布。

判斷輸贏邏輯:

1:石頭 2:剪刀 3:布

變量userChoose中存儲(chǔ)的是用戶的出拳
變量ai中存儲(chǔ)的是電腦的出拳

當(dāng)userChoose - ai 等于-1或2時(shí),用戶贏
當(dāng)userChoose - ai 等于0時(shí),平局
當(dāng)userChoose - ai 等于1或-2時(shí),電腦贏

源代碼

public static void main(String[] args) {
? ? ? ? Scanner sc = new Scanner(System.in);
? ? ? ? Random r = new Random();
? ? ? ? int count = 0; ? ?// 總局?jǐn)?shù)
? ? ? ? int win = 0; ? ?// 獲勝局?jǐn)?shù)
? ? ? ? int result = 0; ? ?// 結(jié)果
? ? ? ? int ai = 0; ? ?// 電腦出拳
? ? ? ? System.out.print("請(qǐng)輸入姓名:");
? ? ? ? String name = sc.nextLine();
? ? ? ? while(flag) {
? ? ? ? ? ? System.out.println("************************************************");
? ? ? ? ? ? System.out.println("歡迎"+ name + "進(jìn)入猜拳游戲");
? ? ? ? ? ? System.out.println("1.石頭 ? ? 2.剪刀 ? ? 3.布 ? ? 0.退出");
? ? ? ? ? ? System.out.println("************************************************");
? ? ? ? ? ? System.out.print("請(qǐng)輸入數(shù)字:");
? ? ? ? ? ? int userChoose = sc.nextInt(); ? ?// 玩家選擇
? ? ? ? ? ? if (userChoose == 0) { ? ?// 游戲結(jié)束
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? // AI出拳
? ? ? ? ? ? ai = r.nextInt(3)+1;
? ? ? ? ? ? // 輸出玩家和電腦的出拳
? ? ? ? ? ? System.out.println("你的出拳是:" + choose(userChoose));
? ? ? ? ? ? System.out.println("電腦出拳是:" + choose(ai));
? ? ? ? ? ? // 判斷輸贏
? ? ? ? ? ? switch(userChoose - ai) {
? ? ? ? ? ? ? ? case -1: ? ?// 贏
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? System.out.println("你贏了! ╭(╯^╰)╮");
? ? ? ? ? ? ? ? ? ? win++; ? ?// 用戶贏,贏場(chǎng)計(jì)數(shù)器自增1
? ? ? ? ? ? ? ? ? ? count++; ? ?// 局?jǐn)?shù)計(jì)數(shù)器自增1
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 0: ? ?// 平局
? ? ? ? ? ? ? ? ? ? System.out.println("平局,再來一局~~~~~o(* ̄︶ ̄*)o");
? ? ? ? ? ? ? ? ? ? count++;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 1: ? ?// 輸
? ? ? ? ? ? ? ? case -2:
? ? ? ? ? ? ? ? ? ? System.out.println("你輸了! O(∩_∩)O哈哈~");
? ? ? ? ? ? ? ? ? ? count++;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? System.out.println("\n");
? ? ? ? }
? ? ? ? System.out.println();
? ? ? ? System.out.println("\t\t\t\t排行榜");
? ? ? ? System.out.println("************************************************");
? ? ? ? System.out.println("姓名\t\t總局?jǐn)?shù)\t\t贏場(chǎng)\t\t勝率");
? ? ? ? System.out.println(name + "\t\t" + count + "\t\t\t" + win + "\t\t\t" + String.format("%.2f", (win*1.0/count)*100) + "%");
? ? }


? ? // 返回出拳
? ? public static String choose(int choose) {
? ? ? ? switch(choose) {
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? return "石頭";
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? return "剪刀";
? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? return "布";
? ? ? ? }
? ? ? ? return "";
}

游戲截圖

進(jìn)入游戲輸入姓名,顯示菜單:

用戶出石頭:

用戶出剪刀:

用戶出布:

輸入0游戲結(jié)束:

總結(jié)

本程序是學(xué)習(xí)中的一個(gè)小案例,目前程序比較基礎(chǔ),只能記錄一個(gè)玩家的信息,且數(shù)據(jù)不能存在本地。作者是在校的一名學(xué)生,目前技術(shù)有限,如有考慮不周,請(qǐng)各路大神批評(píng)指正,共同學(xué)習(xí)。

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

相關(guān)文章

  • idea gradle項(xiàng)目復(fù)制依賴小技巧(推薦)

    idea gradle項(xiàng)目復(fù)制依賴小技巧(推薦)

    這篇文章主要介紹了idea gradle項(xiàng)目復(fù)制依賴小技巧,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • java SelectableChannel的使實(shí)例用法講解

    java SelectableChannel的使實(shí)例用法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于java SelectableChannel的使實(shí)例用法講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • 實(shí)例分析java中重載與重寫的區(qū)別

    實(shí)例分析java中重載與重寫的區(qū)別

    這篇文章主要介紹了實(shí)例分析java中重載與重寫的區(qū)別,需要的朋友可以參考下
    2014-07-07
  • Java swing實(shí)現(xiàn)音樂播放器桌面歌詞字體變色效果

    Java swing實(shí)現(xiàn)音樂播放器桌面歌詞字體變色效果

    這篇文章主要為大家詳細(xì)介紹了Java swing實(shí)現(xiàn)音樂播放器桌面歌詞字體變色效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • JAVA區(qū)間值判斷[10,20)的實(shí)現(xiàn)

    JAVA區(qū)間值判斷[10,20)的實(shí)現(xiàn)

    本文主要介紹了JAVA區(qū)間值判斷[10,20)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 詳解Java中的線程模型與線程調(diào)度

    詳解Java中的線程模型與線程調(diào)度

    這篇文章主要介紹了詳解Java中的線程模型與線程調(diào)度的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-02-02
  • Java Swing中JTable渲染器與編輯器用法示例

    Java Swing中JTable渲染器與編輯器用法示例

    這篇文章主要介紹了Java Swing中JTable渲染器與編輯器用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Swing中JTable渲染器與編輯器的功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-11-11
  • Spring將一個(gè)的類配置成Bean的方式詳解

    Spring將一個(gè)的類配置成Bean的方式詳解

    這篇文章主要介紹了Spring將一個(gè)的類配置成Bean的方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03
  • springboot如何使用AOP做訪問請(qǐng)求日志

    springboot如何使用AOP做訪問請(qǐng)求日志

    這篇文章主要介紹了springboot如何使用AOP做訪問請(qǐng)求日志,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java分布式鎖由淺入深介紹

    Java分布式鎖由淺入深介紹

    這篇文章主要介紹了Java分布式鎖,數(shù)據(jù)庫實(shí)現(xiàn)分布式鎖方式比較多,如悲觀鎖(查詢時(shí)增加for?update)、樂觀鎖(通過version字段)、增加一個(gè)表記錄鎖信息等。因?yàn)橐蕾囉跀?shù)據(jù)庫,比較好理解,但是也存在一些問題
    2023-03-03

最新評(píng)論