本文實例為大家分享了Java實現(xiàn)猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下
一、問題簡介
通過控制臺方式實現(xiàn)一個人機對戰(zhàn)的猜拳游戲,用戶通過輸 入(1.剪刀2.石頭3.布),機器隨機生成(1.剪刀2.石頭3.布),勝者積分,3局以后通過積分的多少判定勝負。
二、代碼邏輯簡介
1、向用戶解釋比賽規(guī)則;
2、接收用戶輸入的內(nèi)容并判斷用戶輸入的內(nèi)容是否符合要求,如果不符合,重新輸入。
3、電腦自動生成數(shù)字;
4、根據(jù)電腦和用戶輸入的內(nèi)容,進行比較二者的勝負
5、讓用戶連續(xù)進行多場比賽,直到一方達到3分,比賽結(jié)束。
三、知識點
1、掌握Java的Scanner、while循環(huán)、switch、if 判斷語句,能判別用戶輸入的類型是否為int類型。
2、部分封裝內(nèi)容。
3、能熟練梳理游戲的邏輯。
四、代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
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-布)與電腦進行對戰(zhàn),當某一方的分數(shù)達到率先達到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 ; } //比較兩者勝負 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 ; } } } } |
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/qq_44712013/article/details/107725726