最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實(shí)現(xiàn)人機(jī)PK小游戲

 更新時(shí)間:2023年06月09日 09:39:54   作者:小脆筒style  
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)人機(jī)PK小游戲,簡單來說,就是隨機(jī)生成玩家和敵人的屬性,同時(shí)互相攻擊,直至一方血量小于零,感興趣的小伙伴可以學(xué)習(xí)一下

1. 明確項(xiàng)目目標(biāo)

今天且讓我扮演一下產(chǎn)品經(jīng)理的角色。我們此次要實(shí)現(xiàn)的需求是:人機(jī)PK小游戲。具體效果請(qǐng)參照下面的示意動(dòng)圖。

簡單來說,這個(gè)游戲中,會(huì)隨機(jī)生成玩家和敵人的屬性,同時(shí)互相攻擊,直至一方血量小于零。

另外,這樣的戰(zhàn)斗會(huì)持續(xù)三局,采取三局兩勝制,最后輸出戰(zhàn)斗結(jié)果,公布獲勝方。

2. 分析過程,拆解項(xiàng)目

一個(gè)人機(jī)PK游戲最基礎(chǔ)的元素是什么,我們可以拿最經(jīng)典的拳皇游戲來腦補(bǔ)一下。

3. 逐步執(zhí)行 代碼實(shí)現(xiàn)

條件判斷:

if 判斷條件

4.版本1

import time,random
#存放玩家贏的局?jǐn)?shù),敵人贏的局?jǐn)?shù)
player_victory = 0
enemy_victory = 0
for i in range(1,4):
    time.sleep(2)  # 讓局與局之間有較明顯的有時(shí)間間隔
    print(' \n——————現(xiàn)在是第'+str(i)+'局——————')  # 作為局的標(biāo)記
    player_life = random.randint(100,150)
    player_attack = random.randint(30,50)
    enemy_life = random.randint(100,150)
    enemy_attack = random.randint(30,50)
    # 展示雙方角色的屬性
    print('【玩家】\n'+'血量:'+str(player_life)+'\n攻擊:'+str(player_attack))
    print('------------------------')
    time.sleep(1)
    print('【敵人】\n'+'血量:'+str(enemy_life)+'\n攻擊:'+str(enemy_attack))
    print('------------------------')
    time.sleep(1)
    # 雙方PK
    while player_life > 0 and enemy_life > 0:
        #【敵人】剩余血量=敵人當(dāng)前血量-玩家攻擊,【玩家】剩余血量=玩家當(dāng)前血量-敵人攻擊
        player_life = player_life - enemy_attack
        enemy_life = enemy_life - player_attack
        print('你發(fā)起了攻擊,【敵人】剩余血量'+str(enemy_life))
        print('敵人向你發(fā)起了攻擊,【玩家】剩余血量'+str(player_life))
        print('-----------------------')
        time.sleep(1.5)
    #打印最終戰(zhàn)果
    if player_life > 0 and enemy_life <= 0:
        player_victory += 1
        print('敵人死翹翹了,你贏了!')
    elif player_life <= 0 and enemy_life > 0:
        enemy_victory += 1
        print('悲催,敵人把你干掉了!')
    else:
        print('哎呀,你和敵人同歸于盡了!')
if player_victory > enemy_victory :
    time.sleep(1)
    print('【最終結(jié)果:你贏了!】')
elif enemy_victory > player_victory:
    print('【最終結(jié)果:你輸了!】')
else: 
    print('【最終結(jié)果:平局!】')

5.版本2【格式化字符串 %】

我們可以把%想象成:圖書館里用來占位的一本書。先占一個(gè)位置,之后再填上實(shí)際的變量。舉個(gè)例子:下面這兩種寫法是相同的,請(qǐng)你著重研究下第二行的語法。

print('血量:'+str(player_life)+' 攻擊:'+str(player_attack))
print('血量:%s 攻擊:%s' % (player_life,player_attack))

格式符%后面有一個(gè)字母s,這是一個(gè)類型碼,用來控制數(shù)據(jù)顯示的類型。

%s就表示先占一個(gè)字符串類型的位置。

占完位置之后,我們要以%的形式在后面補(bǔ)上要填充的內(nèi)容,如此一來我們就免去了轉(zhuǎn)換類型的煩惱。如果是多個(gè)數(shù)據(jù),就要把它們放進(jìn)括號(hào),按順序填充,用逗號(hào)隔開。

簡化后的代碼:

import time
import random
player_victory = 0
enemy_victory = 0
for i in range(1,4):
    time.sleep(1.5)
    print('  \n——————現(xiàn)在是第 %s 局——————' % i)
    player_life = random.randint(100,150)
    player_attack = random.randint(30,50)
    enemy_life = random.randint(100,150)
    enemy_attack = random.randint(30,50)
    print('【玩家】\n血量:%s\n攻擊:%s' % (player_life,player_attack))
    print('------------------------')
    time.sleep(1)
    print('【敵人】\n血量:%s\n攻擊:%s' % (enemy_life,enemy_attack))
    print('-----------------------')
    time.sleep(1)
    while player_life > 0 and enemy_life > 0:
        player_life = player_life - enemy_attack 
        enemy_life = enemy_life - player_attack
        print('你發(fā)起了攻擊,【敵人】剩余血量%s' % enemy_life)
        print('敵人向你發(fā)起了攻擊,【玩家】的血量剩余%s' % player_life)
        print('-----------------------')
        time.sleep(1.2)
    if player_life > 0 and enemy_life <= 0:
        player_victory += 1
        print('敵人死翹翹了,你贏了!')
    elif player_life <= 0 and enemy_life > 0:
        enemy_victory += 1
        print('悲催,敵人把你干掉了!')
    else:
        print('哎呀,你和敵人同歸于盡了!')
if player_victory > enemy_victory :
    time.sleep(1)
    print('\n【最終結(jié)果:你贏了!】')
elif enemy_victory > player_victory:
    print('\n【最終結(jié)果:你輸了!】')
else: 
    print('\n【最終結(jié)果:平局!】')

以上就是基于Python實(shí)現(xiàn)人機(jī)PK小游戲的詳細(xì)內(nèi)容,更多關(guān)于Python人機(jī)PK游戲的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中的sorted函數(shù)應(yīng)用及文件操作詳解

    Python中的sorted函數(shù)應(yīng)用及文件操作詳解

    這篇文章主要介紹了Python中的sorted函數(shù)應(yīng)用及文件操作詳解,python只能將字符串寫入到文本文件,要將數(shù)值數(shù)據(jù)存儲(chǔ)到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式,需要的朋友可以參考下
    2023-12-12
  • Python中for循環(huán)詳解

    Python中for循環(huán)詳解

    這篇文章主要介紹了Python中for循環(huán),有需要的朋友可以參考一下
    2014-01-01
  • python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決

    python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決

    這篇文章主要介紹了python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python random模塊用法解析及簡單示例

    Python random模塊用法解析及簡單示例

    這篇文章主要介紹了Python random模塊用法解析及簡單示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python 如何讀取.txt,.md等文本文件

    Python 如何讀取.txt,.md等文本文件

    這篇文章主要介紹了Python 讀取.txt,.md等文本文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 利用python如何實(shí)現(xiàn)貓捉老鼠小游戲

    利用python如何實(shí)現(xiàn)貓捉老鼠小游戲

    這篇文章主要給大家介紹了關(guān)于利用python如何實(shí)現(xiàn)貓捉老鼠小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能

    python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了python3+selenium實(shí)現(xiàn)qq郵箱登陸,并發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 對(duì)Python獲取屏幕截圖的4種方法詳解

    對(duì)Python獲取屏幕截圖的4種方法詳解

    今天小編就為大家分享一篇對(duì)Python獲取屏幕截圖的4種方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python還能這么玩之用Python做個(gè)小游戲的外掛

    Python還能這么玩之用Python做個(gè)小游戲的外掛

    玩過電腦游戲的同學(xué)對(duì)于外掛肯定不陌生,但是你在用外掛的時(shí)候有沒有想過外掛怎么制作出來的呢?現(xiàn)在來看一下怎么制作一個(gè)外掛,首先說下,這里的游戲外掛的概念,和那些大型網(wǎng)游里的外掛可不同,不能自動(dòng)打怪,主要為了提高一下編程技術(shù),需要的朋友可以參考下
    2021-06-06
  • 在Python中使用lambda高效操作列表的教程

    在Python中使用lambda高效操作列表的教程

    這篇文章主要介紹了在Python中使用lambda高效操作列表的教程,結(jié)合了包括map、filter、reduce、sorted等函數(shù),需要的朋友可以參考下
    2015-04-04

最新評(píng)論

黄平县| 赤峰市| 武威市| 长兴县| 乐陵市| 天等县| 湖口县| 阳西县| 德保县| 新邵县| 裕民县| 泸定县| 滕州市| 建宁县| 沅江市| 镇赉县| 彝良县| 金乡县| 德清县| 略阳县| 屏南县| 宣汉县| 离岛区| 辉南县| 许昌市| 衡南县| 合阳县| 阿合奇县| 林周县| 姜堰市| 宜丰县| 内江市| 乃东县| 乡城县| 大理市| 临安市| 常德市| 青阳县| 珠海市| 霍山县| 武威市|