1. 程式人生 > >第7關pk小遊戲

第7關pk小遊戲

ready play 不明確 elif 隨機 comm opera ecs meta

---恢復內容開始---

1“計時器“

import time #調用time模塊
time.sleep(secs)
#使用time模塊下面的sleep()函數,括號裏填的是間隔的秒數(seconds,簡稱secs)
#time.sleep(1.5)就表示停留1.5秒再運行後續代碼

要隨機生成整數,就要用到random模塊裏的randint()函數

2說到循環,我們就要思考是要使用for循環還是while循環了。

3因為現在雙方的血量和攻擊是隨機生成,不是固定的。所以我們不知道具體要戰鬥多少回合才能分出勝負,也就是循環次數不明確,那自然要用while循環。

import time,random # 生成雙方角色,並生成隨機屬性。
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:
player_life = player_life - enemy_attack
enemy_life = enemy_life - player_attack
print(‘你發起了攻擊,【玩家】剩余血量‘+str(player_life))
print(‘敵人向你發起了攻擊,【敵人】剩余血量‘+str(enemy_life))
print(‘-----------------------‘)
time.sleep(1.5)
if player_life>0 and enemy_life<=0:
print(‘你贏了‘)
elif player_life<=0 and enemy_life>0:
print(‘你輸了‘)
else:
print(‘平局‘)
# 打印戰果
# 提示1:有三種結果,需要用到多向判斷 if...elif...else
# 提示2:判斷條件為雙方的血量情況 2.下面加入 for i in range(1,4)是為了是程序循環三次 import time,random for i in range(1,4):
time.sleep(1.5) # 讓局與局之間有較明顯的有時間間隔
print(‘ \n——————現在是第‘+str(i)+‘局,ready go!——————‘) # 作為局的標記

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:
player_life = player_life - enemy_attack
enemy_life = enemy_life - player_attack
print(‘你發起了攻擊,【玩家】剩余血量‘+str(player_life))
print(‘敵人向你發起了攻擊,【敵人】剩余血量‘+str(enemy_life))
print(‘-----------------------‘)
time.sleep(1.5) # 打印戰果
if player_life > 0 and enemy_life <= 0:
print(‘敵人死翹翹了,你贏了‘) elif player_life <= 0 and enemy_life > 0:
print(‘悲催,敵人把你幹掉了!‘)
else:
print(‘哎呀,你和敵人同歸於盡了!‘) 3在增加循環三次程序後加入勝利次數統計player_victory,玩家勝利與enemy_victory敵人勝利統計後作比較三局兩勝 import time,random player_victory = 0
enemy_victory = 0 for i in range(1,4):
time.sleep(2) # 讓局與局之間有較明顯的有時間間隔
print(‘ \n——————現在是第‘+str(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‘+‘血量:‘+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:
player_life = player_life - enemy_attack
enemy_life = enemy_life - player_attack
print(‘你發起了攻擊,【玩家】剩余血量‘+str(player_life))
print(‘敵人向你發起了攻擊,【敵人】剩余血量‘+str(enemy_life))
print(‘-----------------------‘)
time.sleep(1.5) #打印最終戰果
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:
print(‘玩家贏了‘)
else:
print(‘敵人贏了‘) 玩家勝利次數與敵人勝利此三局後比較多著勝利 格式符 % %s為字符串顯示 %f為浮點顯示 %d 為整數顯示 print(‘血量:‘+str(player_life)+‘ 攻擊:‘+str(player_attack))
print(‘血量:%s 攻擊:%s‘ % (player_life,player_attack))

---恢復內容結束---

第7關pk小遊戲