"开火车的纸牌游戏"-python版本

系统 2622 0

小Byte和小Dance玩一种叫“开火车的”纸牌游戏,游戏规则如下:
1.初始给两人随机平分52张扑克牌,每个人26张;
2.小Byte先开始,将第一张牌放下;
3.随后两人轮流按序(按从第一张到最后一张的顺序出牌,手中牌的顺序不可以被打乱)放置扑克,后一张扑克压在前一张扑克上;
4.如果出现之前放下的某张扑克s和将要放下的扑克t点数相同,则当前玩家获得从s到t之间所有的牌(包括s和t这两张);
5.玩家手上26张牌都出完后,清点双方获得的牌数,牌数多的玩家获胜,若相同,则平局。

输入描述:
输入包括两行,每行26个数字,分别表示两位玩家初始被随机分配的点数,第一行为小byte分到的牌。
输出描述:
若平局,则输出"Draw",否则输出获胜玩家的名字(“Byte”或"Dance").

            
              
                #!/usr/bin/env python
              
              
                # -*- coding: utf-8 -*-
              
              
Byte 
              
                =
              
              
                [
              
              
                10
              
              
                ,
              
              
                2
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ,
              
              
                13
              
              
                ,
              
              
                11
              
              
                ,
              
              
                11
              
              
                ,
              
              
                4
              
              
                ,
              
              
                10
              
              
                ,
              
              
                8
              
              
                ,
              
              
                12
              
              
                ,
              
              
                5
              
              
                ,
              
              
                4
              
              
                ,
              
              
                1
              
              
                ,
              
              
                8
              
              
                ,
              
              
                1
              
              
                ,
              
              
                7
              
              
                ,
              
              
                12
              
              
                ,
              
              
                4
              
              
                ,
              
              
                13
              
              
                ,
              
              
                6
              
              
                ,
              
              
                9
              
              
                ,
              
              
                9
              
              
                ,
              
              
                9
              
              
                ,
              
              
                5
              
              
                ,
              
              
                7
              
              
                ]
              
              
Dance 
              
                =
              
              
                [
              
              
                6
              
              
                ,
              
              
                3
              
              
                ,
              
              
                13
              
              
                ,
              
              
                8
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                7
              
              
                ,
              
              
                3
              
              
                ,
              
              
                2
              
              
                ,
              
              
                2
              
              
                ,
              
              
                12
              
              
                ,
              
              
                11
              
              
                ,
              
              
                10
              
              
                ,
              
              
                6
              
              
                ,
              
              
                10
              
              
                ,
              
              
                1
              
              
                ,
              
              
                1
              
              
                ,
              
              
                12
              
              
                ,
              
              
                3
              
              
                ,
              
              
                5
              
              
                ,
              
              
                7
              
              
                ,
              
              
                11
              
              
                ,
              
              
                13
              
              
                ,
              
              
                4
              
              
                ,
              
              
                8
              
              
                ,
              
              
                9
              
              
                ]
              
              
                # Byte = raw_input()
              
              
                # Dance = raw_input()
              
              
                # Byte = int(Byte.split(' '))
              
              
                # Dance = int(Dance.split(' '))
              
              
nu_Byte 
              
                =
              
              
                0
              
              
                # 统计
              
              
nu_Dance 
              
                =
              
              
                0
              
              
i 
              
                =
              
              
                0
              
              
common 
              
                =
              
              
                [
              
              
                ]
              
              
                for
              
               j 
              
                in
              
               Byte
              
                :
              
              
                if
              
               j 
              
                not
              
              
                in
              
               common
              
                :
              
              
        common
              
                .
              
              append
              
                (
              
              j
              
                )
              
              
                else
              
              
                :
              
              
        index 
              
                =
              
               common
              
                .
              
              index
              
                (
              
              j
              
                )
              
              
                # 找出此牌第一次出现的位置索引
              
              
        current_Byte 
              
                =
              
              
                len
              
              
                (
              
              common
              
                )
              
              
                -
              
               index       
              
                # 计算Byte此次可以回收多少张牌
              
              
        nu_Byte 
              
                +=
              
               current_Byte
        
              
                for
              
               a 
              
                in
              
              
                range
              
              
                (
              
              current_Byte
              
                )
              
              
                :
              
              
            common
              
                .
              
              pop
              
                (
              
              
                )
              
              
                # 删除Byte回收过的牌
              
              
                if
              
               Dance
              
                [
              
              i
              
                ]
              
              
                not
              
              
                in
              
               common
              
                :
              
              
        common
              
                .
              
              append
              
                (
              
              Dance
              
                [
              
              i
              
                ]
              
              
                )
              
              
        i 
              
                +=
              
              
                1
              
              
                else
              
              
                :
              
              
        index 
              
                =
              
               common
              
                .
              
              index
              
                (
              
              Dance
              
                [
              
              i
              
                ]
              
              
                )
              
              
                # 找出此牌第一次出现的位置索引
              
              
        current_Dance 
              
                =
              
              
                len
              
              
                (
              
              common
              
                )
              
              
                -
              
               index       
              
                # 计算Dance此次可以回收多少张牌
              
              
        nu_Dance 
              
                +=
              
               current_Dance
        
              
                for
              
               b 
              
                in
              
              
                range
              
              
                (
              
              current_Dance
              
                )
              
              
                :
              
              
            common
              
                .
              
              pop
              
                (
              
              
                )
              
              
                # 删除Dance回收过的牌
              
              
                if
              
               nu_Byte 
              
                ==
              
               nu_Dance
              
                :
              
              
                print
              
              
                (
              
              
                'Draw'
              
              
                )
              
              
                elif
              
               nu_Byte 
              
                <
              
               nu_Dance
              
                :
              
              
                print
              
              
                (
              
              
                'Dance'
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                'Byte'
              
              
                )
              
            
          

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

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

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

【本文对您有帮助就好】

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

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