本文实例为大家分享了java实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下
问题描述
Alice, Bob和Cindy一起玩猜拳的游戏。和两个人的猜拳类似,每一轮,他们会从石头、剪刀、布中各自选一个出拳,基本的胜负规则是石头赢剪刀、剪刀赢布、布赢石头。如果一轮中正好可以分成胜负两边,则负边的每个人要支付给胜边的每个人一块钱。如果无法分成胜负两边,则都不出钱。比如,如果Alice出石头,而Bob和Cindy都出布,则Alice要分支付Bob和Cindy一块钱。再如,如果Alice出石头, Bob出剪刀, Cindy出布,则都不出钱。他们三人共进行了n轮游戏,请问最后每个人净赚多少钱?即赚的钱减去支付的钱是多少?
代码
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
|
package Ring1270.pra.java01;
import java.util.Scanner;
/**
* finger-guessing game: * n:number of games * A: Person A's money * B: Person B's money * C: Person C's money * 0: Stand for stone * 1: Stand for Scissor * 2: Stand for cloth * rule1: Two persons give the same result means game over * Rule2: The money add 1 everytime which win * Rule3:The money less 1 everytime which fail * */ public class D_FingerGuessingGame {
public static void main(String[] args) {
int A = 0 ;
int B = 0 ;
int C = 0 ;
Scanner scanner = new Scanner(System.in);
System.out.printf( "The number of game:" );
int n = scanner.nextInt();
StringBuffer stringBuffer = new StringBuffer();
for ( int i = 0 ; i <= n; i++) {
String s = scanner.nextLine();
char [] D = s.toCharArray();
for ( int j = 0 ; j < D.length; j++) {
//A and B success
if (D[ 0 ] == D[ 1 ] && D[ 0 ] != D[ 2 ]) {
if ( '0' == D[ 0 ] && '1' == D[ 2 ]) {
A++;
B++;
C -= 2 ;
}
else if ( '1' == D[ 0 ] && '2' == D[ 2 ]) {
A++;
B++;
C -= 2 ;
}
else if ( '2' == D[ 0 ] && '0' == D[ 2 ]) {
A++;
B++;
C -= 2 ;
} else {
A--;
B--;
C += 2 ;
}
}
// A and C success
if (D[ 0 ] == D[ 2 ] && D[ 0 ] != D[ 1 ]) {
if ( '0' == D[ 0 ] && '1' == D[ 1 ]) {
A++;
B -= 2 ;
C++;
}
else if ( '1' == D[ 0 ] && '2' == D[ 1 ]) {
A++;
B -= 2 ;
C++;
}
else if ( '2' == D[ 0 ] && '0' == D[ 1 ]) {
A++;
B -= 2 ;
C++;
} else {
A--;
B += 2 ;
C--;
}
}
// C and B success
if (D[ 1 ] == D[ 2 ] && D[ 1 ] != D[ 0 ]) {
if ( '0' == D[ 1 ] && '1' == D[ 0 ]) {
A -= 2 ;
B++;
C++;
}
else if ( '1' == D[ 1 ] && '2' == D[ 0 ]) {
A -= 2 ;
B++;
C++;
}
else if ( '2' == D[ 1 ] && '0' == D[ 0 ]) {
A -= 2 ;
B++;
C++;
}
else {
A += 2 ;
B--;
C--;
}
}
break ;
}
}
System.out.println(A);
System.out.println(B);
System.out.println(C);
}
}
|
运行截图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_43388956/article/details/113938103