怎么用Java實(shí)現(xiàn)人機(jī)猜拳小游戲-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“怎么用Java實(shí)現(xiàn)人機(jī)猜拳小游戲”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供興山網(wǎng)站建設(shè)、興山做網(wǎng)站、興山網(wǎng)站設(shè)計(jì)、興山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、興山企業(yè)網(wǎng)站模板建站服務(wù),10年興山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

階段一:實(shí)驗(yàn)——分析業(yè)務(wù),創(chuàng)建用戶類

1.分析業(yè)務(wù),抽象出類、類的特征和行為2.創(chuàng)建出用戶類

階段二:實(shí)驗(yàn)——?jiǎng)?chuàng)建出計(jì)算機(jī)類

1.創(chuàng)建計(jì)算機(jī)類Computer。實(shí)現(xiàn)計(jì)算機(jī)出拳2.產(chǎn)生一個(gè)1—3的隨機(jī)數(shù),模擬計(jì)算機(jī)的出拳結(jié)果

階段三:實(shí)驗(yàn)——?jiǎng)?chuàng)建游戲類,選擇對(duì)戰(zhàn)對(duì)手

1.創(chuàng)建游戲類Game2.編寫游戲類的初始化方法initial()3.編寫游戲類的開始游戲方法startGame()

階段四:實(shí)驗(yàn)——實(shí)現(xiàn)一局對(duì)戰(zhàn)

分別調(diào)用用戶類和計(jì)算機(jī)類的出拳方法showFist(),接受返回值并比較,給出勝負(fù)結(jié)果

階段五:實(shí)驗(yàn)——實(shí)現(xiàn)循環(huán)對(duì)戰(zhàn),并累計(jì)得分

實(shí)現(xiàn)循環(huán)對(duì)戰(zhàn),并且累加贏家的得分

階段六:實(shí)驗(yàn)——顯示對(duì)戰(zhàn)結(jié)果

游戲結(jié)束后,顯示對(duì)戰(zhàn)結(jié)果編寫showResult()方法,比較二者的得分情況,給出對(duì)戰(zhàn)結(jié)果

階段七:實(shí)驗(yàn)——完善游戲類的startGame()

輸入并保存用戶姓名,游戲結(jié)束后顯示雙方的各自得分

Game.java

import java.util.Scanner;public class Game {Scanner sc = new Scanner(System.in);User User;//用戶玩家Computer Computer;//電腦玩家int count;//對(duì)戰(zhàn)次數(shù)int score;//分?jǐn)?shù)//游戲類的初始化方法public void initial(){ //創(chuàng)建用戶對(duì)象 User= new User(); //創(chuàng)建電腦對(duì)象 Computer = new Computer(); //初始化對(duì)戰(zhàn)次數(shù)為0 count = 0;}//開始游戲的方法public void startGame(){ System.out.println("--------------------歡迎進(jìn)入游戲世界-----------------------\n\n"); System.out.println("\t\t*******************"); System.out.println("\t\t**  猜拳,開始   **"); System.out.println("\t\t*******************\n\n"); System.out.println("出拳規(guī)則:1.石頭 2.剪刀 3.布"); System.out.print("請(qǐng)選著對(duì)方角色(1:劉備 2:孫權(quán) 3:曹操)"); int choose = sc.nextInt();//接收用戶選擇的角色 switch(choose){ case 1: Computer.computerName = "劉備";//把值賦給電腦類的name System.out.println("你選擇了"+Computer.computerName+"對(duì)戰(zhàn)"); break; case 2: Computer.computerName = "孫權(quán)"; System.out.println("你選擇了"+Computer.computerName+"對(duì)戰(zhàn)"); break; case 3: Computer.computerName = "曹操"; System.out.println("你選擇了"+Computer.computerName+"對(duì)戰(zhàn)"); break; default:  System.out.println("輸入有誤!");  break; } System.out.println("請(qǐng)輸入你的姓名:"); User.userName = sc.next(); System.out.println("要開始嗎(y/n)"); String con = sc.next(); if(con.equals("n")){//如果不開始輸入"n"的話 就提示退出 System.out.println("系統(tǒng)退出!"); } int perFist;//用戶出的拳 int comFist;//計(jì)算機(jī)出的拳 while(con.equals("y")){ //出拳 perFist = User.showFirst();//調(diào)用用戶類的方法 comFist = Computer.chuQuan();//調(diào)用電腦類的方法 //裁決 if((perFist == 1 && comFist == 1) ||   (perFist == 2 && comFist == 2) ||    (perFist == 3 && comFist == 3)){  System.out.println("結(jié)果:和局,真衰!");//平局 }else if((perFist == 1 && comFist == 3) ||   (perFist == 2 && comFist == 1) ||    (perFist == 3 && comFist == 2)){  System.out.println("You lost!");//用戶輸了  System.out.println("結(jié)果:你被KO");  Computer.score++;//記錄電腦贏的分?jǐn)?shù) }else{  System.out.println("You win!");//用戶贏了  System.out.println("結(jié)果:恭喜,你贏了!");  User.score++;//記錄用戶贏的分?jǐn)?shù) } count++;//對(duì)戰(zhàn)次數(shù)依次加一 System.out.println("是否進(jìn)入下一輪(y/n)"); con = sc.next();  } //如果結(jié)束 則顯示最后的結(jié)果 showResult();}  //顯示最后的輸出結(jié)果 public void showResult(){ System.out.println("------------------------------------------------"); System.out.println(Computer.computerName+"\tVS\t"+User.userName); System.out.println("對(duì)戰(zhàn)次數(shù):"+count); System.out.println("姓名"+"\t"+"積分"); System.out.println(User.userName+"\t"+User.score); System.out.println(Computer.computerName+"\t"+Computer.score); if(User.score>Computer.score){//如果用戶的分?jǐn)?shù)大于電腦的分?jǐn)?shù) 則用戶贏 System.out.println(User.userName+"贏了!"); }else{ System.out.println(Computer.computerName+"贏了!"); } System.out.println("-------------------------------------------------");}}

User.java

import java.util.Scanner;public class User {  String userName;//用戶名  int score;//積分  public int showFirst() {  System.out.print("請(qǐng)出拳:1.剪刀2.石頭3.布(輸入相應(yīng)的數(shù)字):");  Scanner sc = new Scanner(System.in);  int choice = sc.nextInt();  switch(choice) {  case 1:   System.out.println("你出拳:石頭");   break;  case 2:   System.out.println("你出拳:剪刀");   break;  case 3:   System.out.println("你出拳:布");   break;  default:   System.out.println("輸入錯(cuò)誤!");   break;  }  return choice;  }}

Computer.java

import java.util.Scanner;public class Computer { String computerName;//電腦名 int score;//電腦積分 public int chuQuan() {  int random =(int)(Math.random()*3)+1;  switch(random) {  case 1:  System.out.println(computerName+"出拳:石頭");  break;  case 2:  System.out.println(computerName+"出拳:剪刀");  break;  case 3:  System.out.println(computerName+"出拳:布");  break;  default:  System.out.println("輸入有錯(cuò),請(qǐng)重新輸入:");  break;  }  return random; }}

Main.java

public class Main {public static void main(String[] args) { Game g = new Game(); g.initial();//調(diào)用初始化方法 g.startGame();//調(diào)用開始游戲的方法}}

“怎么用Java實(shí)現(xiàn)人機(jī)猜拳小游戲”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享名稱:怎么用Java實(shí)現(xiàn)人機(jī)猜拳小游戲-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.muchs.cn/article30/deojso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)