python猜拳游戏、电脑随机出拳_python人和机器猜拳游戏实现

20190825202250713916cea-size640x480.jpg

人机猜拳比赛

完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑通过程序中的随机数实现出拳,每一局结束后都要输出结果。当用户输入n时停止游戏,并输出总结果。#!/usr/bin/env python

# -*- coding: UTF-8 -*-

# 人和机器猜拳游戏

# 选择角色1 曹操 2张飞 3 刘备

# 角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字

# 电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果,本局对战结果...赢...输,是否继续?y/n

# 输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束

import random

# 写法--------1

class ren():

def __init__(self):

print("-----------人机大战-------------\\n")

name = ""

while 1:

js = input("输入要选择的角色:\\n\\n1---曹操 2---张飞 3---关羽")

if js.isdigit():

js = int(js)

if js == 1:

print("玩家角色为---曹操")

self.name = "曹操"

break

elif js == 2:

print("玩家角色为---张飞")

self.name = "张飞"

break

elif js == 3:

print("玩家角色为---关羽")

self.name = "关羽"

break

else:

print("角色选择错误,请从新选择----\\n")

else:

print("输入角色有误!请从新输入----\\n")

def caiquan(self):

while 1:

quan = input("请输入要出拳的选项:\\n1----石头 2----剪刀 3----布")

if quan.isdigit():

quan = int(quan)

if quan == 1:

print("玩家选择出----石头", )

break

elif quan == 2:

print("玩家选择出----剪刀")

break

elif quan == 3:

print("玩家选择出---- 布")

break

else:

print("选择错误!请从新选择!\\n")

else:

print("输入数字不正确!请重新输入------\\n")

return quan

class dian():

diannao = "电脑"

def suiji(self):

suijishu = random.randint(1, 3)

if suijishu == 1:

print("电脑选择出----石头")

elif suijishu == 2:

print("电脑选择出----剪刀")

else:

print("电脑选择出---- 布")

return suijishu

class zhixuan():

chuquan1 = 0

chuquan2 = 0

chuquan3 = 0

def __init__(self):

renduixiang = ren() # ren类 对象

diannaoduixiang = dian() # dian类 对象

while 1:

caiquanjieguo = renduixiang.caiquan()

diannaojieguo = diannaoduixiang.suiji()

if caiquanjieguo == 1 and diannaojieguo == 2 or \\

caiquanjieguo == 2 and diannaojieguo == 3 or \\

caiquanjieguo == 3 and diannaojieguo == 1:

print("----------玩家赢!")

self.chuquan1 += 1

elif caiquanjieguo == diannaojieguo:

print("----------平局!")

self.chuquan3 += 1

else:

print("----------电脑赢!")

self.chuquan2 += 1

if input("是否继续游戏:yes or no ?\\n任意键------n\\n").lower() == "n":

break

if self.chuquan1 > self.chuquan2:

wanjiaying = "玩家胜利!"

elif self.chuquan1 == self.chuquan2:

wanjiaying = "平---局"

else:

wanjiaying = "电脑胜利"

print("-----------------人机大战----------------\\n游戏结束 :\\n"

"玩家共赢{0}次---电脑共赢{1}次---平局次数{2}次\\n————总结果为 : {3}" \\

.format(self.chuquan1, self.chuquan2, self.chuquan3, wanjiaying))

duixiang1 = zhixuan() # 生成的对象 未保存到变量中

201908252022520129a2d6e-size640x295.jpg

python 人机猜拳运行结果

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值