
Nice!自己写的第一个小游戏,wanderful!!!
事前没有参照任何代码,只通过前两天学习的循环语句实现,感觉满满的成就感。
以下是源代码,可能在大神们看来很稚嫩,但对于小白的我来说却是学习进程中的一大步,加油
import random
for i in range(1,4):
print('--------现在是第'+str(i)+'局--------')
W_bloods = random.randrange(100, 200)
W_attack = random.randrange(10, 50)
print('【玩家】')
print('血量:'+str(W_bloods)+'n攻击:'+str(W_attack))
print('------------')
D_bloods = random.randrange(100, 200)
D_attack = random.randrange(10, 50)
print('【敌人】')
print('血量:'+str(D_bloods)+'n攻击:'+str(D_attack))
print('------------')
while True:
D_bloods = D_bloods - W_attack
print('你发起了攻击,【敌人】血量剩余'+str(D_bloods))
W_bloods = W_bloods - D_attack
print('敌人向你发起了进攻,【玩家】血量剩余'+str(W_bloods))
print('------------')
if W_bloods > 0 and D_bloods > 0:
continue
elif W_bloods <= 0 and D_bloods > 0:
print('你被敌人干掉了!')
break
elif W_bloods > 0 and D_bloods <= 0:
print('敌人被你干掉了!')
break
else:
print('你和敌人同归于尽了!')
break
以下是从其他地方找到的更为完整合理的代码,仅供参考:
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:
time.sleep(1)
print('【最终结果:你赢了!】')
elif enemy_victory > player_victory:
print('【最终结果:你输了!】')
else:
print('【最终结果:平局!】')
代码同上,只不过使用格式符%进行了替换优化
import time
import random
player_victory = 0
enemy_victory = 0
for i in range(1,4):
time.sleep(1.5)
print(' n——————现在是第 %s 局——————' % i)
#对比之前:(' 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血量:%sn攻击:%s' % (player_life,player_attack))
print('------------------------')
time.sleep(1)
print('【敌人】n血量:%sn攻击:%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('你发起了攻击,【玩家】剩余血量%s' % player_life)
print('敌人向你发起了攻击,【敌人】的血量剩余%s' % enemy_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【最终结果:你赢了!】')
elif enemy_victory > player_victory:
print('n【最终结果:你输了!】')
else:
print('n【最终结果:平局!】')
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)