请你用python写一份有关是石头剪刀布代码,用文件读写记录最佳成绩,游戏过成用函数定义·
时间: 2024-02-13 10:02:38 浏览: 27
好的,以下是我为您编写的石头剪刀布游戏代码,包括文件读写和记录最佳成绩,以及函数定义:
```python
import random
def show_menu():
print("=== 石头剪刀布游戏 ===")
print("1. 石头")
print("2. 剪刀")
print("3. 布")
print("0. 退出游戏")
def get_player_input():
while True:
try:
player_input = int(input("请输入你的选择(0-3):"))
if player_input in range(4):
return player_input
else:
print("输入无效,请重新输入!")
except ValueError:
print("输入无效,请重新输入!")
def get_computer_input():
return random.randint(1, 3)
def get_result(player_input, computer_input):
if player_input == computer_input:
print("平局!")
return 0
elif (player_input == 1 and computer_input == 2) or \
(player_input == 2 and computer_input == 3) or \
(player_input == 3 and computer_input == 1):
print("你赢了!")
return 1
else:
print("你输了!")
return -1
def save_best_score(score):
try:
with open("best_score.txt", "w") as f:
f.write(str(score))
except IOError:
print("写入文件失败!")
def load_best_score():
try:
with open("best_score.txt", "r") as f:
return int(f.read())
except IOError:
print("读取文件失败!")
return 0
def play_game():
show_menu()
score = 0
best_score = load_best_score()
while True:
player_input = get_player_input()
if player_input == 0:
print("游戏结束,你的得分是:", score)
if score > best_score:
save_best_score(score)
print("恭喜你,创造了新的最佳成绩:", score)
else:
print("你的最佳成绩是:", best_score)
break
else:
computer_input = get_computer_input()
print("你出了:", player_input)
print("电脑出了:", computer_input)
result = get_result(player_input, computer_input)
score += result
play_game()
```
以上代码实现了一个简单的石头剪刀布游戏,包括以下几个函数:
- `show_menu()`:显示游戏菜单。
- `get_player_input()`:获取玩家输入的选择。
- `get_computer_input()`:随机生成电脑选择。
- `get_result(player_input, computer_input)`:根据玩家和电脑的选择计算游戏结果。
- `save_best_score(score)`:将最佳成绩保存到文件中。
- `load_best_score()`:从文件中读取最佳成绩。
- `play_game()`:游戏主函数,调用以上函数实现游戏逻辑。
在每次游戏结束时,程序会将当前得分与最佳成绩进行比较,如果当前得分高于最佳成绩,则将当前得分保存到文件中。文件名为`best_score.txt`,保存在程序运行的当前目录下。