PKゲーム(新しいリビジョン) - 猫の兄は、爬虫類015を書くためにあなたを教えます

オリジナルの基礎で、新しいリビジョン

まず、個々の攻撃などのよりランダムな要因の増加は、ランダムなダメージです

第二、第ムーバの利点のランダム分布を決定します

最後に、生と死を描くことはできませんがあります...

import time
import random
user1 = {
    'name': '',
    'life': 0,
    'victory':0
}
user2 = {
    'name': '',
    'life': 0,
    'victory':0
}
attack_list = [
    {
        'desc':'{} 挥剑向 {} 砍去',
        'num':20
    },
    {
        'desc':'{} 准备刚正面, 对 {} 使出一记"如来神掌"',
        'num':30
    },
    {
        'desc':'{} 撸起了袖子给 {} 一顿胖揍',
        'num':25
    },
    {
        'desc':'{} 向 {} 抛了个媚眼',
        'num':10
    },
    {
        'desc':'{} 抄起冲锋枪就是一梭子, {} 走位风骚, 轻松躲过',
        'num':0
    },
    {
        'desc':'{} 出了一个大招, {} 躲闪不及, 正中要害',
        'num':40
    }
]
user1['name'] = input('请输入玩家1的昵称: ')
user2['name'] = input('请输入玩家2的昵称: ')
while True:
    user1['victory'] = 0
    user2['victory'] = 0
    for i in range(3):
        print('  \n——————现在是第 {} 局——————'.format(i+1))
        user1['life'] = random.randint(100, 150)
        user2['life'] = random.randint(100, 150)
        print(user1['name']+'\n血量:{}'.format(user1['life']))
        print('------------------------')
        print(user2['name']+'\n血量:{}'.format(user2['life']))
        print('-----------------------')
        time.sleep(4)
        first_attack = random.randint(0,1)
        users_list = []
        if first_attack:
            user1['isfirst'] = 1
            print('漂亮!!! '+user1['name']+' 获得先发优势!')
            print('')
            users_list.append(user1)
            users_list.append(user2)
        else:
            user2['isfirst'] = 1
            print('难以置信! '+user2['name']+' 获得先发优势!')
            print('')
            users_list.append(user2)
            users_list.append(user1)
        time.sleep(2)
        while user1['life'] > 0 and user2['life'] > 0:
            tmp_rand = random.randint(0,len(attack_list)-1)
            users_list[1]['life'] = users_list[1]['life'] - attack_list[tmp_rand]['num']
            print(attack_list[tmp_rand]['desc'].format(users_list[0]['name'],users_list[1]['name'])+' 造成了{}点伤害 ==> '.format(attack_list[tmp_rand]['num'])+users_list[1]['name']+' 的剩余血量:{}'.format(users_list[1]['life']))
            time.sleep(4)
            if users_list[1]['life'] <= 0:
                print('')
                print(users_list[1]['name']+' 惨败 -_-||')
                users_list[0]['victory']+=1
                break
            tmp_rand = random.randint(0,len(attack_list)-1)
            users_list[0]['life'] = users_list[0]['life'] - attack_list[tmp_rand]['num']
            print(attack_list[tmp_rand]['desc'].format(users_list[1]['name'],users_list[0]['name'])+' 造成了{}点伤害 ==> '.format(attack_list[tmp_rand]['num'])+users_list[0]['name']+' 的剩余血量:{}'.format(users_list[0]['life']))
            time.sleep(4)
            if users_list[0]['life'] <= 0:
                print('')
                print(users_list[0]['name']+' 惨败 -_-||')
                time.sleep(3)
                users_list[1]['victory']+=1
                break
            print('-----------------------')
        if user1['victory'] == 2:
            print('')
            print('三局两胜中 '+user1['name']+' 获胜!')
            break
        if user2['victory'] == 2:
            print('')
            print('三局两胜中 '+user2['name']+' 获胜!')
            break
    print('')
    res = input('要不要再来一局? (回复"是"再来一局, 其他退出...) ') 
    if res != '是':
        break
复制代码

次のように動作結果は...

C:\Users\Administrator\Desktop\demo>python -u "c:\Users\Administrator\Desktop\demo\demo7.py"
请输入玩家1的昵称: 许竣皓
请输入玩家2的昵称: 甄子丹
——————现在是第 1 局——————
许竣皓
血量:144
------------------------
甄子丹
血量:107
-----------------------
漂亮!!! 许竣皓 获得先发优势!
许竣皓 准备刚正面, 对 甄子丹 使出一记"如来神掌" 造成了30点伤害 ==> 甄子丹 的剩余血量:77
甄子丹 挥剑向 许竣皓 砍去 造成了20点伤害 ==> 许竣皓 的剩余血量:124
-----------------------
许竣皓 准备刚正面, 对 甄子丹 使出一记"如来神掌" 造成了30点伤害 ==> 甄子丹 的剩余血量:47
甄子丹 挥剑向 许竣皓 砍去 造成了20点伤害 ==> 许竣皓 的剩余血量:104
-----------------------
许竣皓 准备刚正面, 对 甄子丹 使出一记"如来神掌" 造成了30点伤害 ==> 甄子丹 的剩余血量:17
甄子丹 抄起冲锋枪就是一梭子, 许竣皓 走位风骚, 轻松躲过 造成了0点伤害 ==> 许竣皓 的剩余血量:104
-----------------------
许竣皓 挥剑向 甄子丹 砍去 造成了20点伤害 ==> 甄子丹 的剩余血量:-3
甄子丹 惨败 -_-||
——————现在是第 2 局——————
许竣皓
血量:127
------------------------
甄子丹
血量:123
-----------------------
漂亮!!! 许竣皓 获得先发优势!
许竣皓 向 甄子丹 抛了个媚眼 造成了10点伤害 ==> 甄子丹 的剩余血量:113
甄子丹 准备刚正面, 对 许竣皓 使出一记"如来神掌" 造成了30点伤害 ==> 许竣皓 的剩余血量:97
-----------------------
许竣皓 向 甄子丹 抛了个媚眼 造成了10点伤害 ==> 甄子丹 的剩余血量:103
甄子丹 出了一个大招, 许竣皓 躲闪不及, 正中要害 造成了40点伤害 ==> 许竣皓 的剩余血量:57
-----------------------
许竣皓 抄起冲锋枪就是一梭子, 甄子丹 走位风骚, 轻松躲过 造成了0点伤害 ==> 甄子丹 的剩余血量:103
甄子丹 出了一个大招, 许竣皓 躲闪不及, 正中要害 造成了40点伤害 ==> 许竣皓 的剩余血量:17
-----------------------
许竣皓 撸起了袖子给 甄子丹 一顿胖揍 造成了25点伤害 ==> 甄子丹 的剩余血量:78
甄子丹 出了一个大招, 许竣皓 躲闪不及, 正中要害 造成了40点伤害 ==> 许竣皓 的剩余血量:-23
许竣皓 惨败 -_-||
——————现在是第 3 局——————
许竣皓
血量:106
------------------------
甄子丹
血量:111
-----------------------
难以置信! 甄子丹 获得先发优势!
甄子丹 准备刚正面, 对 许竣皓 使出一记"如来神掌" 造成了30点伤害 ==> 许竣皓 的剩余血量:76
许竣皓 抄起冲锋枪就是一梭子, 甄子丹 走位风骚, 轻松躲过 造成了0点伤害 ==> 甄子丹 的剩余血量:111
-----------------------
甄子丹 准备刚正面, 对 许竣皓 使出一记"如来神掌" 造成了30点伤害 ==> 许竣皓 的剩余血量:46
许竣皓 撸起了袖子给 甄子丹 一顿胖揍 造成了25点伤害 ==> 甄子丹 的剩余血量:86
-----------------------
甄子丹 挥剑向 许竣皓 砍去 造成了20点伤害 ==> 许竣皓 的剩余血量:26
许竣皓 挥剑向 甄子丹 砍去 造成了20点伤害 ==> 甄子丹 的剩余血量:66
-----------------------
甄子丹 撸起了袖子给 许竣皓 一顿胖揍 造成了25点伤害 ==> 许竣皓 的剩余血量:1
许竣皓 撸起了袖子给 甄子丹 一顿胖揍 造成了25点伤害 ==> 甄子丹 的剩余血量:41
-----------------------
甄子丹 抄起冲锋枪就是一梭子, 许竣皓 走位风骚, 轻松躲过 造成了0点伤害 ==> 许竣皓 的剩余血量:1
许竣皓 准备刚正面, 对 甄子丹 使出一记"如来神掌" 造成了30点伤害 ==> 甄子丹 的剩余血量:11
-----------------------
甄子丹 准备刚正面, 对 许竣皓 使出一记"如来神掌" 造成了30点伤害 ==> 许竣皓 的剩余血量:-29
许竣皓 惨败 -_-||
三局两胜中 甄子丹 获胜!
要不要再来一局? (回复"是"再来一局, 其他退出...)
复制代码

クイックジャンプ:

猫の兄弟は爬虫類000--を書くためにあなたを教えた.md始まる
猫の兄弟爬虫類001を書くためにあなたを教える-印刷()関数と変数た.md
猫の兄弟は爬虫類002--仕事を書くためにあなたを教える-ピカチュウた.md印刷
猫の兄弟は爬虫類を書くためにあなたを教えます003データ型変換た.md
猫の兄弟爬虫類004--データ型変換を書くためにあなたを教える-小さな実践がた.md
猫の兄弟を爬虫類005--データ型変換を書くためにあなたを教える-小さな仕事はた.md
猫の兄弟が爬虫類を書くためにあなたを教えます006- -条件付きとネストされた条件は、た.md
小さなオペレーティングた.md - 007爬虫類の条件とネストされた条件を書くためにあなたを教える猫の兄弟を
猫の兄弟をあなたは爬虫類008を書くことを教える-入力()関数は、た.md
猫の兄弟が爬虫類を書くためにあなたを教えます009 -入力()関数- AI小さな愛の学生がた.md
猫の兄弟を、010爬虫類、辞書のリストを書くために循環た.mdあなたを教える
猫の兄弟を爬虫類011--リスト、辞書、循環書くためにあなたを教える-小さな仕事をた.md
猫の兄は、あなたがブール値を書くことを教える、と4つの爬虫類012--のステートメントはた.md
あなたがブール値の書き込みに教える猫の兄弟を、そして4匹の爬虫類013--文-小さなジョブた.md
PKゲーム-猫の兄は、あなたが爬虫類014書くことを教えます。 MDの
PKゲーム(新しいリビジョン)た.md -猫の兄は、あなたが爬虫類015の書き込みに教える
あなたがた.md爬虫類016--機能書くことを教える猫の兄弟
猫の兄弟があなたが爬虫類017--関数を書くことを教えるを-小さなジョブがた.md
あなたを教えるために猫の兄弟を爬虫類018--debug.md書き込み
デバッグ-仕事-猫の兄弟を爬虫類019を書くためにあなたを教えます。mdの
猫の兄弟爬虫類020--クラスとオブジェクト(上)を書くためにあなたを教えた.md
猫の兄弟が爬虫類に021--クラスとオブジェクト(a)の書き込みにあなたを教える-ジョブた.mdを
猫の兄弟があなたが爬虫類に022--クラスとオブジェクトを書くことを教える(下)た.md
求人た.md -猫の兄は、あなたが爬虫類に023--クラスとオブジェクトを(下)書くことを教える
猫の兄弟があなたが爬虫類の書き込みに024--コード化された復号を教え&&た.md
猫の兄弟がコード化されたデコード爬虫類025 &&を書くためにあなたを教える-小さな仕事はた.md
猫の兄弟をあなたに教える爬虫類026--モジュールを書くためた.md
猫の兄弟爬虫類を書くためにあなたを教える027--モジュールがた.md紹介
猫の兄弟が爬虫類を書くためにあなたを教えます028- -導入モジュール-小さな仕事-看板た.md
猫の兄は、あなたが予備-requests.md爬虫類爬虫類029--書くことを教える
あなたは030--予備-requests-ジョブがた.md爬虫類爬虫類書くことを教える猫の兄弟を
猫の兄弟が031爬虫類を書くためにあなたを教えます-爬虫類の基礎-html.md
猫の兄は、あなたが爬虫類爬虫類032--最初の経験を書くことを教える-BeautifulSoup.md
猫の兄弟があなたが033--初めての経験-BeautifulSoup-ジョブがた.md爬虫類爬虫類の書き込みに教える
あなたは爬虫類を書くことを教える猫の兄弟を034- -た.md練習-BeautifulSoup爬虫類
の仕事- - top250.mdフィルム猫の兄は、あなたは035--爬虫類爬虫類-BeautifulSoup練習書くことを教える
猫の兄弟があなたが036--爬虫類爬虫類-BeautifulSoupの練習を書くために教えを-仕事-仕事をた.md映画top250-を解決するために
猫の兄弟は037--爬虫類爬虫類を書くためにあなたを教える-ベビーた.md曲を聴くために
猫の兄弟があなたに教える爬虫類を書くこと038--引数がた.md要求
猫の兄弟を保存されたデータを書き込むためにあなたを教える爬虫類039--た.md
猫の兄弟爬虫類を書くためにあなたを教えます040--ストアデータ -ジョブた.md
猫の兄弟があなたが爬虫類を書くことを教える041--アナログログイン-cookie.md
猫の兄弟は爬虫類042を書くためにあなたを教える-セッション使用はた.md
猫の兄弟を爬虫類を書くためにあなたを教える043--アナログブラウザがた.md
猫の兄弟を爬虫類044--アナログブラウザを書くためにあなたを教える-ジョブがた.md
猫の兄弟が爬虫類を書くためにあなたを教えます045--コルーチンた.md
練習- -猫の兄は爬虫類046--コルーチン書くためにあなたを教えて太っていないた.md食べるためにどのような
猫の兄弟を爬虫類047を書くためにあなたを教える-た.md scrapyフレームワーク
猫の兄弟が爬虫類を書くためにあなたを教えます048--た.md爬虫類爬虫類および抗
猫の兄弟は爬虫類を書くためにあなたを教える049--エンドSahuaた.md

ます。https://juejin.im/post/5cfc4ad76fb9a07eea326535で再現

おすすめ

転載: blog.csdn.net/weixin_34297300/article/details/91459385