Java開發(fā)實現(xiàn)猜拳游戲
本文實例為大家分享了Java實現(xiàn)猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下
一、問題簡介
通過控制臺方式實現(xiàn)一個人機(jī)對戰(zhàn)的猜拳游戲,用戶通過輸 入(1.剪刀2.石頭3.布),機(jī)器隨機(jī)生成(1.剪刀2.石頭3.布),勝者積分,3局以后通過積分的多少判定勝負(fù)。
二、代碼邏輯簡介
1、向用戶解釋比賽規(guī)則;
2、接收用戶輸入的內(nèi)容并判斷用戶輸入的內(nèi)容是否符合要求,如果不符合,重新輸入。
3、電腦自動生成數(shù)字;
4、根據(jù)電腦和用戶輸入的內(nèi)容,進(jìn)行比較二者的勝負(fù)
5、讓用戶連續(xù)進(jìn)行多場比賽,直到一方達(dá)到3分,比賽結(jié)束。
三、知識點(diǎn)
1、掌握J(rèn)ava的Scanner、while循環(huán)、switch、if 判斷語句,能判別用戶輸入的類型是否為int類型。
2、部分封裝內(nèi)容。
3、能熟練梳理游戲的邏輯。
四、代碼
package homework;
import java.util.Random;
import java.util.Scanner;
class Demo3 {
public static void main(String[] args) {
game g=new game();
g.caiquan();
}
}
//確定用戶和電腦猜拳內(nèi)容
class game{
String people;
String computer;
int count1;
int count2;
public void caiquan() {
//解釋比賽規(guī)則
System.out.println("猜拳游戲\n比賽規(guī)則:用戶通過輸入數(shù)字(1-剪刀,2—石頭,3-布)與電腦進(jìn)行對戰(zhàn),當(dāng)某一方的分?jǐn)?shù)達(dá)到率先達(dá)到10分,該方勝利!");
while(true) {
System.out.println("請輸入數(shù)字:");
int a;
//判斷用戶輸入的內(nèi)容是否
while (true) {
Scanner input = new Scanner(System.in); //正確接收用戶輸入的內(nèi)容
if (input.hasNextInt()) {
int b=input.nextInt();
if (b>0&&b<4) {
a=b;
break ;
}else {
System.out.println("輸入的數(shù)字不在規(guī)定的范圍,請重新輸入");
b=input.nextInt();
}
}else {
System.out.println("輸入的不是數(shù)字錯誤,請重新輸入");
}
}
switch (a) {
case 1:
people = "剪刀";
break;
case 2:
people ="石頭";
break;
case 3:
people ="布";
break;
}
//電腦模擬的內(nèi)容
Random r=new Random();
int b = r.nextInt(3)+1;
switch (b) {
case 1:
computer = "剪刀";
break;
case 2:
computer ="石頭";
break;
case 3:
computer ="布";
break;
}
//比較兩者勝負(fù)
if(a==b) {
System.out.println("本場比賽平局!因為你輸入的是"+people+",電腦輸入的是"+computer+"。用戶積分為:"+count1+"電腦積分為:"+count2);
}else if(a==1&&b==2||a==2&&b==3||a==3&&b==1) {
count1++;
System.out.println("恭喜你,你獲勝!因為你輸入的是"+people+",電腦輸入的是"+computer+"。"+count1);
}else {
count2++;
System.out.println("很遺憾,本局電腦獲勝!因為你輸入的是"+people+",電腦輸入的是"+computer+"。用戶積分為:"+count1+",電腦積分為:"+count2);
}
//比較二者的積分,確定最終的勝利者
if (count1==3||count2==3) {
System.out.println("比賽結(jié)束");
if (count1>count2) {
System.out.println("恭喜你,獲得最終勝利!\n你獲得"+count1+"分,電腦獲得"+count2+"分。");
}else {
System.out.println("很遺憾,電腦獲得最終的勝利。\n你獲得"+count1+"分,電腦獲得"+count2+"分。");
}
break;
}
}
}
}
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 實戰(zhàn)項目錘煉之在線購書商城系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+jsp+mysql+servlet+ajax實現(xiàn)一個在線購書商城系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11
基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程
這篇文章主要介紹了基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09
Spring Security 自動踢掉前一個登錄用戶的實現(xiàn)代碼
這篇文章主要介紹了Spring Security 自動踢掉前一個登錄用戶的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
SpringBoot的@Value給靜態(tài)變量注入application.properties屬性值
這篇文章主要介紹了SpringBoot的@Value給靜態(tài)變量注入application.properties屬性值,Spring是一個開源的框架,主要是用來簡化開發(fā)流程,通過IOC,依賴注入(DI)和面向接口實現(xiàn)松耦合,需要的朋友可以參考下2023-05-05

