python人和机器猜拳游戏实现

系统 1777 0

人机猜拳比赛

完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑通过程序中的随机数实现出拳,每一局结束后都要输出结果。当用户输入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()  # 生成的对象 未保存到变量中

          

 

运行结果: python人和机器猜拳游戏实现_第1张图片

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论