要求:
1.规定玩家和敌方两个角色,存储血量和***力数值;
2.血量是100-150的随机数,***力是30-50的随机数,计算扣除血量,打印战斗过程;
3.双方进行三轮pk,每局判定胜负,三局两胜,判断最终结果;
4.三局游戏结束后,询问是否要继续游戏,可以选择再来一盘,也可以选择退出游戏。
流程图如下:
分析:
1.random模块,玩家和敌方生成随机数;
2.展示每局角色属性;
3.双方进行pk,当玩家血量>0且敌方血量>0,执行while循环;
4.进行三轮pk后展示最终结果:
单局结果:
若玩家血量>0且敌方血量<=0,玩家赢;
若玩家血量
若玩家血量<=0且敌方血量<=0,平局;
三局两胜:
若玩家胜利次数大于敌方胜利次数,玩家赢;
若敌方胜利次数大于玩家胜利次数,敌方赢;
否则为平局;
5.询问是否继续进行游戏;
代码如下:
# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2020/1/26 07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm import timeimport random player_victory = 0enemy_victory = 0 while True: for i in range(1,4): time.sleep(1) print(' \n——————现在是第 {} 局——————'.format(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血量:{}\n***:{}'.format(player_life,player_attack)) print('------------------------') time.sleep(1) print('【敌人】\n血量:{}\n***:{}'.format(enemy_life,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('敌人发起了***,【玩家】剩余血量{}'.format(player_life)) print('你发起了***,【敌人】的血量剩余{}'.format(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('敌人把你KO掉了,你输了!') else: print('你和敌人同归于尽,平局!') if player_victory > enemy_victory : time.sleep(1) print('\n【最终结果:你赢了!】') elif enemy_victory > player_victory: print('\n【最终结果:你输了!】') else: print('\n【最终结果:平局!】') a1 = input('要继续游戏吗,请输入N退出,输入其他继续:') if a1 == 'N': break
运行结果:
编程的实现无非经历以下四个步骤:明确目标,分析思路,拆解过程,逐步优化。你有更加好的实现方法吗?