用tensorflow和python3 语言制作一个猜拳游戏程序,用户输入:0剪刀,1石头,2布,如果输入为3个选项外的数字或者非数字,则重新开始游戏,输入esc结束游戏,并且统计输赢情况次数
时间: 2024-03-10 19:46:18 浏览: 122
以下是用 TensorFlow 和 Python3 制作猜拳游戏的示例代码:
```python
import tensorflow as tf
import random
# 创建 TensorFlow 模型
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(128, input_shape=(3,), activation='relu'),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(3, activation='softmax')
])
model.compile(loss='categorical_crossentropy', optimizer='adam')
# 定义游戏规则和结果统计变量
hands = {0: '剪刀', 1: '石头', 2: '布'}
win_count = 0
lose_count = 0
draw_count = 0
# 循环进行游戏
while True:
# 获取用户输入
user_input = input('请输入您的选择(0-剪刀,1-石头,2-布,esc-结束):')
# 判断用户输入是否合法
if user_input == 'esc':
break
elif not user_input.isdigit() or int(user_input) not in hands:
print('输入错误,请重新输入!')
continue
user_hand = int(user_input)
# 随机生成电脑出拳
computer_hand = random.randint(0, 2)
# 打印游戏结果
print('您出了:', hands[user_hand])
print('电脑出了:', hands[computer_hand])
if user_hand == computer_hand:
print('平局!')
draw_count += 1
elif (user_hand - computer_hand + 3) % 3 == 1:
print('您赢了!')
win_count += 1
else:
print('您输了!')
lose_count += 1
# 打印游戏统计结果
print('游戏结束!')
print('您赢了', win_count, '局,输了', lose_count, '局,平局', draw_count, '局。')
```
代码中首先创建了一个简单的神经网络模型,用于预测电脑出拳的概率分布。然后在循环中获取用户输入,判断输入合法性,并随机生成电脑出拳。接着根据游戏规则判断胜负,并统计游戏结果。最后在游戏结束时打印统计结果。
阅读全文