文章程式碼顯示

2017年8月23日 星期三

一起學 Python - 13:自製 姓名大作戰 加入陣列改良

當我們學會陣列後,我們就可以讓我們的姓名大作戰更生動囉。以往我們只能做到雙方在戰鬥時固定的對話,而現在我們就利用陣列讓其成為武林大戰!作法很簡單,我們就只使用到建立陣列、陣列以亂數提取某個位置的值這樣而以,其他什麼排序的都不需要用到。直接放上程式碼讓大家參考,也希望大家可以分享自己的姓名大作戰改良版!從製作遊戲的方向去學習程式語言實在是件開心輕鬆學習的事!

import random
import time

A = input('輸入玩家1對戰姓名: ')
B = input('輸入玩家2對戰姓名: ')

A_HP = random.randint(300,900)
A_ATTACK = random.randint(20,150)
A_DEFENSE = random.randint(30,100)

B_HP = random.randint(300,900)
B_ATTACK = random.randint(20,150)
B_DEFENSE = random.randint(30,100)

# 106招
text = [ '玄鐡劍法','金鈴索','玉女劍法','玉女素心劍法','玉女心經','美女拳法','玉蜂針','冰魄銀針','玉簫劍法','五行掌法','五毒神掌',
'一陽書指','狂風迅雷功','五輪大轉','龍象般若功','黯然銷魂掌','陰陽倒亂刃法','大伏魔拳法','毒砂掌','鐵掌擒拿手','寒陰箭',
'風雷掌法','落英劍法','倚天屠龍功','太極劍法','虎爪絕戶手','神門十三劍','繞指柔劍','武當綿掌','震天鐵掌','震山掌','玄冥神掌',
'真武七截陣','神掌八打','降魔掌','大韋陀掌','羅漢劍法','達摩劍法','韋陀伏魔劍','大力金剛指','金剛般若掌','大力金剛抓','七傷拳',
'金剛伏魔圈','龍爪手','崑崙兩儀劍','蠍尾鉤','迅雷劍','寒梅劍陣','金頂九式','飄雪穿雲掌','四象掌','金頂綿掌','千蛛萬毒手','截心掌',
'排山掌','霹靂拳','小擒拿手','獅子吼','鷹爪擒拿功','寒冰綿掌','草上飛踢','大風雲飛掌','陰風刀','透骨針','八卦拳','摧心掌','摧堅神爪',
'伏魔杖法','分筋錯骨手','空空拳','南山刀法','開山掌法','鴛鴦連環腿','蘭花拂穴手','劈空掌','落英神劍掌','旋風掃葉腿','碧波掌法',
'彈指神通','打狗棒法','降龍十八掌','逍遙遊拳法','蓮花掌','銅錘手','鐵帚腿法','伏虎拳','毒蛇尋穴手','空明拳','雙手互搏','全真劍法',
'指筆功','天罡北斗陣','一陽指','蛤蟆功','透骨打穴法','神駝雪山掌','靈蛇拳','靈蛇杖法','羅漢伏虎拳','羅漢刀法','通臂六合掌','毒砂掌',
'野狐拳法','大力金剛杖法','燕青拳' ]

print("\n【%s】姓名能力指數" % (A))
print("HP : %d 攻 : %d 防 : %d" % (A_HP,A_ATTACK,A_DEFENSE))

print("【%s】姓名能力指數" % (B))
print("HP : %d 攻 : %d 防 : %d\n" % (B_HP,B_ATTACK,B_DEFENSE))
time.sleep(2)

while ((A_HP >= 0)or(B_HP >=0)):
    temp = (A_ATTACK-B_DEFENSE)+random.randint(80,150)
    B_HP = B_HP - temp
    print("【%s】對【%s】使用了《%s》,造成 %d 傷害,【%s】剩下 %d 生命值。" % (A,B,text[random.randint(0,105)],temp,B,B_HP))
    time.sleep(2)
    if B_HP <= 0:
        break
    
    temp = (B_ATTACK-A_DEFENSE)+random.randint(80,150)
    A_HP = A_HP - temp
    print("【%s】對【%s】使用了《%s》,造成 %d 傷害,【%s】剩下 %d 生命值。" % (B,A,text[random.randint(0,105)],temp,A,A_HP))
    time.sleep(2)
    if A_HP <= 0:
        break
    
# 遊戲結束
if A_HP<=0:
    print("【%s】擊敗了【%s】。仰天長嘯地說:回家再練個幾年吧" % (B,A))
else:
    print("【%s】擊敗了【%s】。仰天長嘯地說:回家再練個幾年吧" % (A,B))

print(input('Press Enter'))




多了武俠招式,是不是整個生動很多呢!!

↓↓↓ 連結到部落格方針與索引 ↓↓↓

Blog 使用方針與索引