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条)