一起创业网-为互联网创业者服务

剪刀石头布程序怎么写

剪刀石头布游戏可以用多种编程语言实现,下面我将提供一个简单的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 "你输了!";

}

}

}

```

这两个实现都包含了基本的游戏逻辑,包括用户输入、计算机随机选择、判断胜负以及游戏结束时的统计信息。你可以根据自己的需求进一步扩展和优化这些代码。