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

java實現(xiàn)猜拳游戲試題

 更新時間:2021年03月23日 10:41:52   作者:Xikw_QQ1757994871  
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)猜拳游戲試題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

試題描述

通過控制臺方式實現(xiàn)一個人機(jī)對戰(zhàn)的猜拳游戲,用戶通過輸
入(1.剪刀 2.石頭 3.布),機(jī)器隨機(jī)生成(1.剪刀 2.石頭 3.布),勝者積分,n 局以后通過積分的多少判定勝負(fù)。

使用面向?qū)ο缶幊趟枷雽崿F(xiàn)一個猜拳游戲,以下代碼僅供參考!

思路

(1)首先需要明確的對象有哪些,玩家以及機(jī)器,和游戲規(guī)則;
(2)玩家需要出拳,機(jī)器隨機(jī)出拳,游戲規(guī)則就是判斷輸贏和積分的多少,并顯示最后的結(jié)果。

1.定義一個玩家類player

代碼如下(示例):

public class Player {
 Scanner sc; 
 public void initPl() { 
 sc = new Scanner(System.in);
 }
 //玩家出拳方法
 public int showFinger() {
 System.out.println("請輸入您的出拳:1.剪刀,2.石頭,3.布,4.結(jié)束本局");
 int result = sc.nextInt();
 return result; 
 } 
}

2.定義一個機(jī)器類Compyter

代碼如下(示例):

public class Computer { 
 Random random;
 public void initCom() { 
 random = new Random();
 }
 //電腦開始出拳,返回1到3的隨機(jī)數(shù)
 public int showFingerCom() { 
 return random.nextInt(3)+1;
 } 
}

3.定義一個游戲類Game,包括初始化,得分規(guī)則,顯示設(shè)置等方法

(1)初始化方法init()

代碼如下(示例):

public void init() { 
 player = new Player();
 player.initPl();
 computer = new Computer();
 computer.initCom();
 sc = new Scanner(System.in);
  count = 0;//局?jǐn)?shù)為0
  Grade = 0;//分?jǐn)?shù)為0  
 }

(2)計算每次得分方法Grades()

代碼如下(示例):

public int Grades(int plg,int comg,int num) {
 int a = 0;
 if(plg==1&comg==3 | plg==2&comg==1 | plg==3&comg==2) {
 System.out.println("第"+num+"局,恭喜您這局贏了");
 a = 1;
 }else if(plg==1&comg==2 | plg==2&comg==3 | plg==3&comg==1) {
 System.out.println("第"+num+"局,很抱歉,這局您輸了");
 a = -1;
 }else if (plg==comg) {
 System.out.println("第"+num+"局,這局平局");
 a = 0;
 }
 return a;
 }

(3)輸出游戲結(jié)果方法print(),同時需要將字符串顯示方法punchesName()

代碼如下(示例):

public void print(int sum,int sumGrade) {
 System.out.println("游戲結(jié)束!");
 if(sumGrade<0) { 
 System.out.println("本次游戲進(jìn)行"+sum+"局,您的得分為:"+sumGrade+"分,本次游戲很遺憾您輸了");
 }else if(sumGrade==0) {
 System.out.println("本次游戲進(jìn)行"+sum+"局,您的得分為:"+sumGrade+"分,本次游戲平局"); 
 }else if(sumGrade>0) {
 System.out.println("本次游戲進(jìn)行"+sum+"局,您的得分為:"+sumGrade+"分,恭喜您贏了"); 
 }
 }
 //數(shù)字轉(zhuǎn)變?yōu)樽址糜诮Y(jié)果顯示
 public String punchesName(int result) {
 String str = "";
 switch(result) {
 case 1: str = "剪刀";break;
 case 2: str = "石頭";break;
 case 3: str = "布";break;  
 }  
 return str;
 }

(4)開始游戲方法start()

代碼如下(示例):

public void start() {
 while(flag) {
 int playerPunches = player.showFinger();
 switch(playerPunches) {
 case 1:
 case 2:
 case 3:{
 count++;
 System.out.println("您出的是:"+punchesName(playerPunches));
 int comPunches = computer.showFingerCom();
  System.out.println("機(jī)器出的是:"+punchesName(comPunches));
  int ge = Grades(playerPunches,comPunches,count);
  Grade+=ge;//總得分
  break;
 }
 case 4:{
 print(count,Grade);//輸出總得分與局?jǐn)?shù)
 flag = false;//結(jié)束循環(huán),結(jié)束游戲
  break;
  }
 default:
 System.out.println("輸入有誤,請重新輸入");break;
 }
 } 
 }

(5)游戲類的定義Game

代碼如下(示例):

public class Game {
 Player player;
 Computer computer;
 int count;//局?jǐn)?shù)
 Scanner sc;
 int Grade;//得分
 boolean flag = true;
 、、、、初始化,得分,輸出.....

4.主程序入口Main

代碼如下(示例):

public static void main(String[] args) {
 System.out.println("歡迎進(jìn)行猜拳游戲!");
 Game game = new Game();
 game.init();//游戲初始化
 game.start();//游戲開始
 }

總結(jié)

以上就是今天試題要分享的內(nèi)容,根據(jù)面向?qū)ο笏悸罚瑑H僅簡單介紹自定義類和方法的定義和使用,以上代碼僅供交流學(xué)習(xí)。

相關(guān)文章

  • 關(guān)于RestTemplate的使用深度解析

    關(guān)于RestTemplate的使用深度解析

    這篇文章主要介紹了對RestTemplate的深度解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    詳解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    這篇文章主要介紹了詳解JAVAEE——SSH三大框架整合(spring+struts2+hibernate),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 基于Java利用static實現(xiàn)單例模式

    基于Java利用static實現(xiàn)單例模式

    這篇文章主要介紹了基于Java利用static實現(xiàn)單例模式,當(dāng)在多個線程同時觸發(fā)類的初始化過程的時候static不會被多次執(zhí)行,下面我們一起進(jìn)入文章看看具體要的原因
    2022-01-01
  • Java基礎(chǔ)之二叉搜索樹的基本操作

    Java基礎(chǔ)之二叉搜索樹的基本操作

    發(fā)現(xiàn)許多小伙伴還不清楚Java二叉搜索樹的基本操作,今天特地整理了這篇文章,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)Java的小伙伴很有幫助,需要的朋友可以參考下
    2021-05-05
  • springboot如何引入外部yml配置文件

    springboot如何引入外部yml配置文件

    這篇文章主要介紹了springboot如何引入外部yml配置文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 詳解如何使用IntelliJ IDEA生成UML圖

    詳解如何使用IntelliJ IDEA生成UML圖

    在軟件開發(fā)中,UML(統(tǒng)一建模語言)是一種用于描述、構(gòu)建和文檔化軟件系統(tǒng)的圖形化語言,它幫助開發(fā)者以可視化的方式理解系統(tǒng)的結(jié)構(gòu)和行為,手動繪制 UML 圖可能既耗時又容易出錯,所以本文給大家介紹了如何使用IntelliJ IDEA生成UML圖,需要的朋友可以參考下
    2024-10-10
  • Java HashMap實現(xiàn)原理分析(一)

    Java HashMap實現(xiàn)原理分析(一)

    這篇文章主要介紹了Java HashMap實現(xiàn)原理的分析,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-08-08
  • 基于SpringMVC中的路徑參數(shù)和URL參數(shù)實例

    基于SpringMVC中的路徑參數(shù)和URL參數(shù)實例

    這篇文章主要介紹了基于SpringMVC中的路徑參數(shù)和URL參數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • java使用influxDB數(shù)據(jù)庫的詳細(xì)代碼

    java使用influxDB數(shù)據(jù)庫的詳細(xì)代碼

    這篇文章主要為大家介紹了java使用influxDB數(shù)據(jù)庫的詳細(xì)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Spring Boot 與 kotlin 使用Thymeleaf模板引擎渲染web視圖的方法

    Spring Boot 與 kotlin 使用Thymeleaf模板引擎渲染web視圖的方法

    這篇文章主要介紹了Spring Boot 與 kotlin 使用Thymeleaf模板引擎渲染web視圖的方法,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

武隆县| 微山县| 石屏县| 通化县| 揭阳市| 邵东县| 陇西县| 昌黎县| 留坝县| 阿勒泰市| 青田县| 青田县| 湖北省| 上高县| 盱眙县| 仁布县| 天长市| 临猗县| 兰州市| 自治县| 汉川市| 余姚市| 麟游县| 浠水县| 上林县| 屯留县| 炎陵县| 阜城县| 隆安县| 灵川县| 屯昌县| 灵山县| 福建省| 康定县| 景德镇市| 云龙县| 海兴县| 永泰县| 天祝| 徐州市| 开化县|