故事原型
齐国使者到大梁来,孙膑以刑徒的身份秘密拜见,劝说齐国使者。齐国使者觉得此人是个奇人,就偷偷地把他载回齐国。齐国将军田忌非常赏识他,并且待如上宾。田忌经常与齐国众公子赛马,设重金赌注。孙膑发现他们的马脚力都差不多,马分为上、中、下三等,于是对田忌说:“您只管下大赌注,我能让您取胜。”田忌相信并答应了他,与齐王和各位公子用千金来赌注。比赛即将开始,孙膑说:“现在用您的下等马对付他们的上等马,用您的上等马对付他们的中等马,用您的中等马对付他们的下等马。”三场比赛结束后,田忌一场败而两场胜,最终赢得齐王的千金赌注。因此田忌把孙膑推荐给齐威王。齐威王向他请教了兵法,于是把他当成老师。
开发者项目思维
1.明确项目目标
2.分析过程,拆解项目
3.逐步执行,代码实现
项目目标
三个开发阶段
版本1.0 完成基础代码,调整后用函数封装并调用
版本2.0 从角色池为双方随机选出3个角色,并随机生成血量值和攻击值
版本3.0 询问玩家角色出场顺序,并打印出来
版本4.0 根据出场顺序和对方进行三轮PK,并输出战果
1.0版本
(函数的封装和调用)
主要函数的作用:main()
import time #展示角色
def show_role(player_life,player_attack,enemy_life,enemy_attack):
print('【玩家】\n血量:%s\n攻击:%s'%(player_life,player_attack))
print('------------------------')
time.sleep(1)
print('【敌人】\n血量:%s\n攻击:%s'%(enemy_life,enemy_attack))
print('-----------------------')
#双方PK
def pk_role(player_life,player_attack,enemy_life,enemy_attack):
while player_life > 0 and enemy_life > 0:
player_life = player_life - enemy_attack
enemy_life = enemy_life - player_attack
time.sleep(1)
print('你发起了攻击,【敌人】剩余血量'+str(enemy_life))
print('敌人向你发起了攻击,【玩家】剩余血量'+str(player_life))
print('-----------------------')
show_result(player_life,enemy_life)
#打印战果
def show_result(player_life,enemy_life):
if player_life > 0 and enemy_life <= 0:
print('敌人死翘翘了,这局你赢了')
elif player_life <= 0 and enemy_life > 0:
print('悲催,这局敌人把你干掉了!')
else:
print('哎呀,这局你和敌人同归于尽了!')
print('-----------------------')
#(主函数)展开战斗全流程
def main(player_life,player_attack,enemy_life,enemy_attack):
show_role(player_life,player_attack,enemy_life,enemy_attack)
pk_role(player_life,player_attack,enemy_life,enemy_attack)
main(100,35,105,33)
main(120,36,100,45)
main(100,35,100,35)
2.0版本
(随机生成角色,为角色生成随机属性)
random模块的使用方法 random.sample(player_list3,)
函数数据的返回和传递:return life,attack
import random,time #初始定义
#展示角色
player_list = ['【狂血战士】','【森林箭手】','【光明骑士】','【独行剑客】','【格斗大师】','【枪弹专家】']
enemy_list = ['【暗黑战士】','【黑暗弩手】','【骷髅骑士】','【嗜血刀客】','【首席刺客】','【陷阱之王】']
players =random.sample(player_list,3)
enemies = random.sample(enemy_list,3)
player_info = {}
enemy_info = {}
def born_role():
life = random.randint(100,180)
attack = random.randint(30,50)
return life,attack
def show_role():
for i in range(3):
player_info[players[i]] = born_role()
enemy_info[enemies[i]] = born_role()
print('----------------- 角色信息 -----------------')
print('你的人物:')
for i in range(3):
print('%s 血量:%d 攻击:%d'%(players[i],player_info[players[i]][0],player_info[players[i]][1]))
print('--------------------------------------------')
print('电脑敌人:')
# 展示敌方的3个角色
for i in range(3):
print('%s 血量:%d