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

