用JAVA实现了一个简单的猜拳游戏,准备记录下来,算作是总结和回顾吧。程序运行结果如下:
1.首先你需要编写一个电脑的类,类中有一个记录获胜几次的成员变量,和一个出拳的方法(用取随机数字来表示电脑出拳),代码如下:
1
class
Computer {
2
int
count;
3
4
public
int
showFist() {
5
Random obj =
new
Random();
6
//
利用Random类的nextInt()方法生成0-2之间的数
7
int
number = obj.nextInt(3) + 1
;
8
switch
(number) {
9
case
1
:
10
System.out.println("电脑出:石头"
);
11
break
;
12
case
2
:
13
System.out.println("电脑出:剪刀"
);
14
break
;
15
case
3
:
16
System.out.println("电脑出:布"
);
17
break
;
18
}
19
return
number;
20
}
21
}
2.然后你需要一个和电脑玩耍的人,类中同样也是一个记录获胜的成员变量和一个出拳的方法(取控制台用户输入的数值作为你出拳),代码如下:
1
class
Person {
2
int
count;
3
4
public
int
showFist() {
5
Scanner input =
new
Scanner(System.in);
6
System.out.println("请出拳:1.石头 2.剪刀 3.布 0.退出"
);
7
int
number =
input.nextInt();
8
switch
(number) {
9
case
1
:
10
System.out.println("我出:石头"
);
11
break
;
12
case
2
:
13
System.out.println("我出:剪刀"
);
14
break
;
15
case
3
:
16
System.out.println("我出:布"
);
17
break
;
18
case
0
:
19
break
;
20
}
21
return
number;
22
}
23
}
3.最后就是玩游戏的主体类,类中三个成员变量,分别是电脑、人、记录玩总次数,还有一个构造函数用来初始化电脑和人对象,一个判断输赢的方法,一个打印结果方法,代码如下:
1
public
class
FingerGuessing {
2
Person per;
3
Computer com;
4
int
count;
5
6
public
FingerGuessing() {
7
per =
new
Person();
8
com =
new
Computer();
9
count = 0
;
10
}
11
12
public
void
gameBegin() {
13
System.out.println("==========猜拳小游戏=========="
);
14
System.out.println("= 游戏规则:1.石头 2.剪刀 3.布 0.退出 ="
);
15
System.out.println("==========================="
);
16
int
perno;
17
int
comno;
18
do
{
19
perno =
per.showFist();
20
if
(perno == 0
) {
21
showResult();
22
break
;
23
}
24
comno =
com.showFist();
25
if
((perno ==
comno)) {
26
System.out.println("平局\n"
);
27
this
.count++
;
28
}
else
if
((perno - comno == -1) || (perno - comno == 2
)) {
29
System.out.println("恭喜,你赢了!\n"
);
30
per.count++
;
31
this
.count++
;
32
}
else
{
33
System.out.println("很遗憾,你输了!\n"
);
34
com.count++
;
35
this
.count++
;
36
}
37
38
}
while
(perno != 0
);
39
40
}
41
public
void
showResult() {
42
System.out.println("与电脑共较量<" +
this
.count + ">次;"
);
43
System.out.println("玩家获胜<" + per.count + ">次;"
);
44
System.out.println("电脑获胜<" + com.count + ">次;"
);
45
System.out.println("平局<" + (
this
.count-per.count-com.count) + ">次;"
);
46
}
47
48
public
static
void
main(String[] args) {
49
FingerGuessing game =
new
FingerGuessing();
50
game.gameBegin();
51
}
52
}
这样猜拳小游戏就OK了,来,和我猜拳吧!

