剪刀石头布游戏可以用多种编程语言实现,下面我将提供一个简单的Python实现和一个Java实现。
Python实现
```python
import random
def get_computer_choice():
"""计算机随机选择一个选项:石头、剪刀、布。"""
choices = ['石头', '剪刀', '布']
return random.choice(choices)
def determine_winner(player_choice, computer_choice):
"""根据玩家和计算机的选择,判断胜负。"""
if player_choice == computer_choice:
return "平局!"
elif (player_choice == '石头' and computer_choice == '剪刀') or \
(player_choice == '剪刀' and computer_choice == '布') or \
(player_choice == '布' and computer_choice == '石头'):
return "你赢了!"
else:
return "你输了!"
def main():
print("欢迎来到石头剪刀布游戏!")
win_count = 0
lose_count = 0
draw_count = 0
while True:
player_choice = input("请输入你的选择(石头、剪刀、布),或输入'退出'结束游戏: ").strip()
if player_choice == '退出':
break
if player_choice not in ['石头', '剪刀', '布']:
print("无效的选择,请重新输入。")
continue
computer_choice = get_computer_choice()
print(f"计算机选择了: {computer_choice}")
result = determine_winner(player_choice, computer_choice)
print(result)
if result == "你赢了!":
win_count += 1
elif result == "你输了!":
lose_count += 1
else:
draw_count += 1
print(f"游戏结束,你赢了 {win_count} 次,输了 {lose_count} 次,平局 {draw_count} 次。")
if __name__ == "__main__":
main()
```
Java实现
```java
import java.util.Scanner;
import java.util.Random;
public class RockPaperScissorsGame {
// 定义游戏选项
private static final String[] OPTIONS = {"剪刀", "石头", "布"};
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
boolean isPlaying = true;
System.out.println("欢迎来到剪刀石头布游戏!");
System.out.println("输入0:剪刀,1:石头,2:布或者输入-1退出游戏");
while (isPlaying) {
int playerChoice = scanner.nextInt();
if (playerChoice == -1) {
isPlaying = false;
System.out.println("感谢游玩,再见!");
continue;
}
if (playerChoice < 0 || playerChoice > 2) {
System.out.println("无效的选择,请重新输入。");
continue;
}
String computerChoice = OPTIONS[random.nextInt(OPTIONS.length)];
System.out.println("计算机选择了: " + computerChoice);
String result = determineWinner(OPTIONS[playerChoice], computerChoice);
System.out.println(result);
}
scanner.close();
}
private static String determineWinner(String playerChoice, String computerChoice) {
if (playerChoice.equals(computerChoice)) {
return "平局!";
} else if ((playerChoice.equals("石头") && computerChoice.equals("剪刀")) ||
(playerChoice.equals("剪刀") && computerChoice.equals("布")) ||
(playerChoice.equals("布") && computerChoice.equals("石头"))) {
return "你赢了!";
} else {
return "你输了!";
}
}
}
```
这两个实现都包含了基本的游戏逻辑,包括用户输入、计算机随机选择、判断胜负以及游戏结束时的统计信息。你可以根据自己的需求进一步扩展和优化这些代码。