- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章java实现猜拳游戏试题由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了java实现猜拳游戏的具体代码,供大家参考,具体内容如下 。
通过控制台方式实现一个人机对战的猜拳游戏,用户通过输 入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分,n 局以后通过积分的多少判定胜负.
使用面向对象编程思想实现一个猜拳游戏,以下代码仅供参考! 。
(1)首先需要明确的对象有哪些,玩家以及机器,和游戏规则; (2)玩家需要出拳,机器随机出拳,游戏规则就是判断输赢和积分的多少,并显示最后的结果.
1.定义一个玩家类player 。
代码如下(示例):
1
2
3
4
5
6
7
8
9
10
11
12
|
public
class
Player {
Scanner sc;
public
void
initPl() {
sc =
new
Scanner(System.in);
}
//玩家出拳方法
public
int
showFinger() {
System.out.println(
"请输入您的出拳:1.剪刀,2.石头,3.布,4.结束本局"
);
int
result = sc.nextInt();
return
result;
}
}
|
2.定义一个机器类Compyter 。
代码如下(示例):
1
2
3
4
5
6
7
8
9
10
|
public
class
Computer {
Random random;
public
void
initCom() {
random =
new
Random();
}
//电脑开始出拳,返回1到3的随机数
public
int
showFingerCom() {
return
random.nextInt(
3
)+
1
;
}
}
|
3.定义一个游戏类Game,包括初始化,得分规则,显示设置等方法 。
(1)初始化方法init() 。
代码如下(示例):
1
2
3
4
5
6
7
8
9
|
public
void
init() {
player =
new
Player();
player.initPl();
computer =
new
Computer();
computer.initCom();
sc =
new
Scanner(System.in);
count =
0
;
//局数为0
Grade =
0
;
//分数为0
}
|
(2)计算每次得分方法Grades() 。
代码如下(示例):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public
int
Grades(
int
plg,
int
comg,
int
num) {
int
a =
0
;
if
(plg==
1
&comg==
3
| plg==
2
&comg==
1
| plg==
3
&comg==
2
) {
System.out.println(
"第"
+num+
"局,恭喜您这局赢了"
);
a =
1
;
}
else
if
(plg==
1
&comg==
2
| plg==
2
&comg==
3
| plg==
3
&comg==
1
) {
System.out.println(
"第"
+num+
"局,很抱歉,这局您输了"
);
a = -
1
;
}
else
if
(plg==comg) {
System.out.println(
"第"
+num+
"局,这局平局"
);
a =
0
;
}
return
a;
}
|
(3)输出游戏结果方法print(),同时需要将字符串显示方法punchesName() 。
代码如下(示例):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public
void
print(
int
sum,
int
sumGrade) {
System.out.println(
"游戏结束!"
);
if
(sumGrade<
0
) {
System.out.println(
"本次游戏进行"
+sum+
"局,您的得分为:"
+sumGrade+
"分,本次游戏很遗憾您输了"
);
}
else
if
(sumGrade==
0
) {
System.out.println(
"本次游戏进行"
+sum+
"局,您的得分为:"
+sumGrade+
"分,本次游戏平局"
);
}
else
if
(sumGrade>
0
) {
System.out.println(
"本次游戏进行"
+sum+
"局,您的得分为:"
+sumGrade+
"分,恭喜您赢了"
);
}
}
//数字转变为字符串用于结果显示
public
String punchesName(
int
result) {
String str =
""
;
switch
(result) {
case
1
: str =
"剪刀"
;
break
;
case
2
: str =
"石头"
;
break
;
case
3
: str =
"布"
;
break
;
}
return
str;
}
|
(4)开始游戏方法start() 。
代码如下(示例):
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
|
public
void
start() {
while
(flag) {
int
playerPunches = player.showFinger();
switch
(playerPunches) {
case
1
:
case
2
:
case
3
:{
count++;
System.out.println(
"您出的是:"
+punchesName(playerPunches));
int
comPunches = computer.showFingerCom();
System.out.println(
"机器出的是:"
+punchesName(comPunches));
int
ge = Grades(playerPunches,comPunches,count);
Grade+=ge;
//总得分
break
;
}
case
4
:{
print(count,Grade);
//输出总得分与局数
flag =
false
;
//结束循环,结束游戏
break
;
}
default
:
System.out.println(
"输入有误,请重新输入"
);
break
;
}
}
}
|
(5)游戏类的定义Game 。
代码如下(示例):
1
2
3
4
5
6
7
8
|
public
class
Game {
Player player;
Computer computer;
int
count;
//局数
Scanner sc;
int
Grade;
//得分
boolean
flag =
true
;
、、、、初始化,得分,输出.....
|
4.主程序入口Main 。
代码如下(示例):
1
2
3
4
5
6
|
public
static
void
main(String[] args) {
System.out.println(
"欢迎进行猜拳游戏!"
);
Game game =
new
Game();
game.init();
//游戏初始化
game.start();
//游戏开始
}
|
总结 。
以上就是今天试题要分享的内容,根据面向对象思路,仅仅简单介绍自定义类和方法的定义和使用,以上代码仅供交流学习.
原文链接:https://blog.csdn.net/xw1757994871/article/details/115068748 。
最后此篇关于java实现猜拳游戏试题的文章就讲到这里了,如果你想了解更多关于java实现猜拳游戏试题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!