Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
lesson16_4
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
9dde7f35
authored
Jun 12, 2021
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
40f022c0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
518 additions
and
62 deletions
44.py
diy4.py
44.py
0 → 100644
View file @
9dde7f35
import
random
bd1
=
0
class
Hero
(
object
):
def
__init__
(
self
,
hero_type
,
name
):
h_tili
=
5
h_max_tili
=
10
self
.
name
=
name
self
.
level
=
1
self
.
hp
=
260
self
.
attack
=
40
self
.
max_hp
=
self
.
hp
self
.
hero_type
=
hero_type
print
(
"电脑角色"
+
self
.
name
+
"创建成功,英雄类型为:"
,
self
.
hero_type
)
print
(
"当前等级、血量、攻击力分别为:"
,
self
.
level
,
self
.
hp
,
self
.
attack
)
def
cure
(
self
):
# 治疗
self
.
hp
=
self
.
hp
+
60
h_tili
=
h_tili
-
3
if
self
.
hp
>
self
.
max_hp
:
self
.
hp
=
self
.
max_hp
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
60
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
h_tili
)
h_tili
=
h_tili
+
2
if
h_tili
>
h_max_tili
:
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
def
combat
(
self
,
enemy
):
# 普通攻击
enemy
.
hp
-=
self
.
attack
if
bd1
==
5
:
enemy
.
hp
-=
20
bd1
=
bd1
-
5
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起用荣耀被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
10
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值5点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
bd1
==
4
:
enemy
.
hp
-=
15
bd1
=
bd1
-
4
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起超被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
10
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值4点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
bd1
==
3
:
enemy
.
hp
-=
10
bd1
=
bd1
-
3
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起强被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
10
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值3点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
bd1
==
2
:
enemy
.
hp
-=
5
bd1
=
bd1
-
2
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
5
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值2点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
else
:
bd1
=
bd1
+
1
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起攻击,"
info2
=
"造成"
+
str
(
self
.
attack
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"被动值增加1点,目前的被动值为:"
,
bd1
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
h_tili
=
h_tili
+
2
if
h_tili
>
h_max_tili
:
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
def
dacombat
(
self
,
enemy
):
#大招:暴击
self
.
tili
=
self
.
tili
-
10
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起大招:暴击,"
info2
=
"暴击造成"
+
str
(
self
.
attack
*
2
)
+
"点伤害,"
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
h_tili
=
h_tili
+
2
if
h_tili
>
h_max_tili
:
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
def
zhongcombat
(
self
,
enemy
):
#中招:圣盾防御
self
.
tili
=
self
.
tili
-
7
sdfy
=
random
.
randint
(
1
,
3
)
if
sdfy
==
3
:
info1
=
self
.
name
+
"开启一级圣盾防御,体力减少7,目前的体力为:"
,
self
.
tili
print
(
info1
)
elif
sdfy
==
2
:
enemy
.
hp
-=
ftsy
info1
=
self
.
name
+
"开启二级圣盾防御,"
info2
=
"圣盾反弹伤害造成"
+
str
(
ftsy
)
+
"点伤害,体力减少7,目前的体力为:"
,
self
.
tili
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
enemy
.
hp
-=
ftsy
info1
=
self
.
name
+
"开启三级圣盾防御,"
info2
=
"圣盾反弹伤害造成"
+
str
(
ftsy
)
+
"点伤害,体力减少7,目前的体力为:"
,
self
.
tili
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
h_tili
=
h_tili
+
2
if
h_tili
>
h_max_tili
:
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
def
xiaocombat
(
self
,
enemy
):
#小招:强化
self
.
tili
=
self
.
tili
-
4
self
.
hp
=
self
.
hp
+
25
bd1
=
bd1
+
3
if
self
.
hp
>
self
.
max_hp
:
self
.
hp
=
self
.
max_hp
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
55
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
info1
=
self
.
name
+
"开启强化,血量增加:"
,
25
,
",目前的血量为:"
,
self
.
hp
+
"被动值增加1点,目前的被动值为:"
,
bd1
+
"体力减少4,目前的体力为:"
,
self
.
tili
print
(
info1
)
h_tili
=
h_tili
+
2
if
h_tili
>
h_max_tili
:
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
class
Player
(
object
):
def
__init__
(
self
,
hero_type
,
name
):
self
.
tili
=
5
self
.
max_tili
=
10
self
.
name
=
name
self
.
level
=
1
self
.
hp
=
200
self
.
attack
=
50
self
.
max_hp
=
self
.
hp
self
.
hero_type
=
hero_type
print
(
"玩家角色"
+
self
.
name
+
"创建成功,英雄类型为:"
,
self
.
hero_type
)
print
(
"当前等级、血量、攻击力分别为:"
,
self
.
level
,
self
.
hp
,
self
.
attack
)
def
cure
(
self
):
# 治疗
self
.
hp
=
self
.
hp
+
50
p_tili
=
p_tili
-
3
if
self
.
hp
>
self
.
max_hp
:
self
.
hp
=
self
.
max_hp
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
50
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
p_tili
)
p_tili
=
p_tili
+
2
if
p_tili
>
p_max_tili
:
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
def
combat
(
self
,
enemy
):
# 普通攻击
enemy
.
hp
-=
self
.
attack
if
bd1
==
5
:
enemy
.
hp
-=
20
bd1
=
bd1
-
5
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起用荣耀被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
10
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值5点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
bd1
==
4
:
enemy
.
hp
-=
15
bd1
=
bd1
-
4
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起超被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
10
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值4点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
bd1
==
3
:
enemy
.
hp
-=
10
bd1
=
bd1
-
3
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起强被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
10
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值3点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
bd1
==
2
:
enemy
.
hp
-=
5
bd1
=
bd1
-
2
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起被动攻击,"
info2
=
"造成"
+
str
(
self
.
attack
+
5
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"消耗被动值2点,目前的被动值为:0"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
else
:
bd1
=
bd1
+
1
if
enemy
.
hp
>
0
:
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起攻击,"
info2
=
"造成"
+
str
(
self
.
attack
)
+
"点伤害,"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info4
=
"被动值增加1点,目前的被动值为:"
,
bd1
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
p_tili
=
p_tili
+
2
if
p_tili
>
p_max_tili
:
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
def
dacombat
(
self
,
enemy
):
#大招:金乌神箭
p_tili
=
p_tili
-
10
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起大招:金乌神箭,"
info2
=
"金乌神箭造成"
+
str
(
self
.
attack
*
2
)
+
"点伤害,"
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
p_tili
=
p_tili
+
2
if
p_tili
>
p_max_tili
:
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
def
zhongcombat
(
self
,
enemy
):
#中招:天降巨箭
p_tili
=
p_tili
-
7
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起中招:天降巨箭,"
info2
=
"天降巨箭造成"
+
str
(
self
.
attack
+
30
)
+
"点伤害,"
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
p_tili
=
p_tili
+
2
if
p_tili
>
p_max_tili
:
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
def
xiaocombat
(
self
,
enemy
):
#小招:连射
ls
=
random
.
randint
(
1
,
5
)
ls5
=
ls
*
5
p_tili
=
p_tili
-
4
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起小招:连射,"
info2
=
"连射"
,
ls
,
"箭,造成"
+
str
(
self
.
attack
+
ls5
)
+
"点伤害,"
if
ls
==
1
:
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
+
ls5
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
ls
==
2
:
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
+
ls5
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
ls
==
3
:
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
+
ls5
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
elif
ls
==
4
:
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
+
ls5
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
else
:
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
+
ls5
)
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
print
(
info
)
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
print
(
info
)
exit
()
p_tili
=
p_tili
+
2
if
p_tili
>
p_max_tili
:
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
yase
=
Hero
(
"坦克"
,
"垭瑟"
)
houyi
=
Player
(
"射手"
,
"后羿"
)
print
(
30
*
"-"
)
print
(
" 战斗开始"
)
while
True
:
print
(
30
*
"-"
)
if
p_tili
>
9
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭/3大招:金乌神箭):"
)
elif
p_tili
>
6
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭):"
)
elif
p_tili
>
3
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射):"
)
elif
p_tili
>
2
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击):"
)
else
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/0普通攻击):"
)
if
choice
==
"q"
:
print
(
"游戏结束"
)
break
elif
choice
==
"a"
:
houyi
.
cure
()
elif
choice
==
"0"
:
houyi
.
combat
(
yase
)
elif
choice
==
"1"
:
houyi
.
xiaocombat
(
yase
)
elif
choice
==
"2"
:
houyi
.
zhongcombat
(
yase
)
elif
choice
==
"3"
:
houyi
.
dacombat
(
yase
)
else
:
print
(
"指令无效"
)
continue
if
h_tili
<
3
:
mun
=
1
elif
h_tili
<
4
:
mun
=
random
.
randint
(
1
,
2
)
elif
h_tili
<
7
:
mun
=
random
.
randint
(
1
,
3
)
elif
h_tili
<
10
:
mun
=
random
.
randint
(
1
,
4
)
else
:
mun
=
random
.
randint
(
1
,
5
)
if
mun
==
1
:
yase
.
combat
(
houyi
)
elif
mun
==
2
:
yase
.
cure
()
elif
mun
==
3
:
yase
.
xiaocombat
(
houyi
)
elif
mun
==
4
:
yase
.
zhongcombat
(
houyi
)
if
sdfy
==
1
:
continue
elif
sdfy
==
2
:
pass
else
:
continue
else
:
yase
.
dacombat
(
houyi
)
\ No newline at end of file
diy4.py
View file @
9dde7f35
...
@@ -3,12 +3,12 @@ bd1=0
...
@@ -3,12 +3,12 @@ bd1=0
class
Hero
(
object
):
class
Hero
(
object
):
def
__init__
(
self
,
hero_type
,
name
):
def
__init__
(
self
,
hero_type
,
name
):
h_tili
=
5
h_max_tili
=
10
self
.
name
=
name
self
.
name
=
name
self
.
level
=
1
self
.
level
=
1
self
.
hp
=
260
self
.
hp
=
260
self
.
attack
=
40
self
.
attack
=
40
self
.
tili
=
5
self
.
max_tili
=
10
self
.
max_hp
=
self
.
hp
self
.
max_hp
=
self
.
hp
self
.
hero_type
=
hero_type
self
.
hero_type
=
hero_type
print
(
"电脑角色"
+
self
.
name
+
"创建成功,英雄类型为:"
,
self
.
hero_type
)
print
(
"电脑角色"
+
self
.
name
+
"创建成功,英雄类型为:"
,
self
.
hero_type
)
...
@@ -17,12 +17,14 @@ class Hero(object):
...
@@ -17,12 +17,14 @@ class Hero(object):
def
cure
(
self
):
# 治疗
def
cure
(
self
):
# 治疗
self
.
hp
=
self
.
hp
+
60
self
.
hp
=
self
.
hp
+
60
self
.
tili
=
self
.
tili
-
3
h_tili
=
h_
tili
-
3
if
self
.
hp
>
self
.
max_hp
:
if
self
.
hp
>
self
.
max_hp
:
self
.
hp
=
self
.
max_hp
self
.
hp
=
self
.
max_hp
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
60
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
60
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
h_tili
)
self
.
tili
=
self
.
tili
+
2
h_tili
=
h_tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
if
h_tili
>
h_max_tili
:
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
def
combat
(
self
,
enemy
):
# 普通攻击
def
combat
(
self
,
enemy
):
# 普通攻击
...
@@ -101,10 +103,10 @@ class Hero(object):
...
@@ -101,10 +103,10 @@ class Hero(object):
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
self
.
tili
=
self
.
tili
+
2
h_tili
=
h_
tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
h_tili
>
h_
max_tili
:
self
.
tili
=
self
.
max_tili
h_tili
=
h_
max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_
tili
)
def
dacombat
(
self
,
enemy
):
#大招:暴击
def
dacombat
(
self
,
enemy
):
#大招:暴击
...
@@ -121,11 +123,10 @@ class Hero(object):
...
@@ -121,11 +123,10 @@ class Hero(object):
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
self
.
tili
=
self
.
tili
+
2
h_tili
=
h_tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
h_tili
>
h_max_tili
:
self
.
tili
=
self
.
max_tili
h_tili
=
h_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_tili
)
def
zhongcombat
(
self
,
enemy
):
#中招:圣盾防御
def
zhongcombat
(
self
,
enemy
):
#中招:圣盾防御
self
.
tili
=
self
.
tili
-
7
self
.
tili
=
self
.
tili
-
7
...
@@ -147,10 +148,10 @@ class Hero(object):
...
@@ -147,10 +148,10 @@ class Hero(object):
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
self
.
tili
=
self
.
tili
+
2
h_tili
=
h_
tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
h_tili
>
h_
max_tili
:
self
.
tili
=
self
.
max_tili
h_tili
=
h_
max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_
tili
)
def
xiaocombat
(
self
,
enemy
):
#小招:强化
def
xiaocombat
(
self
,
enemy
):
#小招:强化
...
@@ -162,21 +163,21 @@ class Hero(object):
...
@@ -162,21 +163,21 @@ class Hero(object):
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
55
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
55
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
info1
=
self
.
name
+
"开启强化,血量增加:"
,
25
,
",目前的血量为:"
,
self
.
hp
+
"被动值增加1点,目前的被动值为:"
,
bd1
+
"体力减少4,目前的体力为:"
,
self
.
tili
info1
=
self
.
name
+
"开启强化,血量增加:"
,
25
,
",目前的血量为:"
,
self
.
hp
+
"被动值增加1点,目前的被动值为:"
,
bd1
+
"体力减少4,目前的体力为:"
,
self
.
tili
print
(
info1
)
print
(
info1
)
self
.
tili
=
self
.
tili
+
2
h_tili
=
h_
tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
h_tili
>
h_
max_tili
:
self
.
tili
=
self
.
max_tili
h_tili
=
h_
max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
h_
tili
)
class
Player
(
object
):
class
Player
(
object
):
def
__init__
(
self
,
hero_type
,
name
):
def
__init__
(
self
,
hero_type
,
name
):
p_tili
=
5
p_max_tili
=
10
self
.
name
=
name
self
.
name
=
name
self
.
level
=
1
self
.
level
=
1
self
.
hp
=
200
self
.
hp
=
200
self
.
attack
=
50
self
.
attack
=
50
self
.=
5
self
.
max_tili
=
10
self
.
max_hp
=
self
.
hp
self
.
max_hp
=
self
.
hp
self
.
hero_type
=
hero_type
self
.
hero_type
=
hero_type
print
(
"玩家角色"
+
self
.
name
+
"创建成功,英雄类型为:"
,
self
.
hero_type
)
print
(
"玩家角色"
+
self
.
name
+
"创建成功,英雄类型为:"
,
self
.
hero_type
)
...
@@ -185,14 +186,14 @@ class Player(object):
...
@@ -185,14 +186,14 @@ class Player(object):
def
cure
(
self
):
# 治疗
def
cure
(
self
):
# 治疗
self
.
hp
=
self
.
hp
+
50
self
.
hp
=
self
.
hp
+
50
self
.
tili
=
self
.
tili
-
3
p_tili
=
p_
tili
-
3
if
self
.
hp
>
self
.
max_hp
:
if
self
.
hp
>
self
.
max_hp
:
self
.
hp
=
self
.
max_hp
self
.
hp
=
self
.
max_hp
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
50
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
50
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
p_
tili
)
self
.
tili
=
self
.
tili
+
2
p_tili
=
p_
tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
p_tili
>
p_
max_tili
:
self
.
tili
=
self
.
max_tili
p_tili
=
p_
max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_
tili
)
def
combat
(
self
,
enemy
):
# 普通攻击
def
combat
(
self
,
enemy
):
# 普通攻击
...
@@ -271,14 +272,13 @@ class Player(object):
...
@@ -271,14 +272,13 @@ class Player(object):
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
self
.
tili
=
self
.
tili
+
2
p_tili
=
p_tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
p_tili
>
p_max_tili
:
self
.
tili
=
self
.
max_tili
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
def
dacombat
(
self
,
enemy
):
#大招:金乌神箭
def
dacombat
(
self
,
enemy
):
#大招:金乌神箭
self
.
tili
=
self
.
tili
-
10
p_tili
=
p_
tili
-
10
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起大招:金乌神箭,"
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起大招:金乌神箭,"
info2
=
"金乌神箭造成"
+
str
(
self
.
attack
*
2
)
+
"点伤害,"
info2
=
"金乌神箭造成"
+
str
(
self
.
attack
*
2
)
+
"点伤害,"
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
...
@@ -291,14 +291,13 @@ class Player(object):
...
@@ -291,14 +291,13 @@ class Player(object):
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
self
.
tili
=
self
.
tili
+
2
p_tili
=
p_tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
p_tili
>
p_max_tili
:
self
.
tili
=
self
.
max_tili
p_tili
=
p_max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_tili
)
def
zhongcombat
(
self
,
enemy
):
#中招:天降巨箭
def
zhongcombat
(
self
,
enemy
):
#中招:天降巨箭
self
.
tili
=
self
.
tili
-
7
p_tili
=
p_
tili
-
7
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起中招:天降巨箭,"
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起中招:天降巨箭,"
info2
=
"天降巨箭造成"
+
str
(
self
.
attack
+
30
)
+
"点伤害,"
info2
=
"天降巨箭造成"
+
str
(
self
.
attack
+
30
)
+
"点伤害,"
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
enemy
.
hp
=
enemy
.
hp
-
(
self
.
attack
*
2
)
...
@@ -311,16 +310,16 @@ class Player(object):
...
@@ -311,16 +310,16 @@ class Player(object):
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
self
.
tili
=
self
.
tili
+
2
p_tili
=
p_
tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
p_tili
>
p_
max_tili
:
self
.
tili
=
self
.
max_tili
p_tili
=
p_
max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_
tili
)
def
xiaocombat
(
self
,
enemy
):
#小招:连射
def
xiaocombat
(
self
,
enemy
):
#小招:连射
ls
=
random
.
randint
(
1
,
5
)
ls
=
random
.
randint
(
1
,
5
)
ls5
=
ls
*
5
ls5
=
ls
*
5
self
.
tili
=
self
.
tili
-
4
p_tili
=
p_
tili
-
4
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起小招:连射,"
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起小招:连射,"
info2
=
"连射"
,
ls
,
"箭,造成"
+
str
(
self
.
attack
+
ls5
)
+
"点伤害,"
info2
=
"连射"
,
ls
,
"箭,造成"
+
str
(
self
.
attack
+
ls5
)
+
"点伤害,"
if
ls
==
1
:
if
ls
==
1
:
...
@@ -378,10 +377,10 @@ class Player(object):
...
@@ -378,10 +377,10 @@ class Player(object):
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
self
.
tili
=
self
.
tili
+
2
p_tili
=
p_
tili
+
2
if
self
.
tili
>
self
.
max_tili
:
if
p_tili
>
p_
max_tili
:
self
.
tili
=
self
.
max_tili
p_tili
=
p_
max_tili
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
p_
tili
)
...
@@ -391,27 +390,39 @@ print(30*"-")
...
@@ -391,27 +390,39 @@ print(30*"-")
print
(
" 战斗开始"
)
print
(
" 战斗开始"
)
while
True
:
while
True
:
print
(
30
*
"-"
)
print
(
30
*
"-"
)
if
if
p_tili
>
9
:
choice
=
input
(
"请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭/3大招:金乌神箭):"
)
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭/3大招:金乌神箭):"
)
elif
p_tili
>
6
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射/2中招:天降巨箭):"
)
elif
p_tili
>
3
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击/1小招:连射):"
)
elif
p_tili
>
2
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/a治疗/0普通攻击):"
)
else
:
choice
=
input
(
"目前的体力为:"
+
str
(
p_tili
)
+
",请选择释放英雄技能(q退出/0普通攻击):"
)
if
choice
==
"q"
:
if
choice
==
"q"
:
print
(
"游戏结束"
)
print
(
"游戏结束"
)
break
break
elif
choice
==
"1"
:
elif
choice
==
"a"
:
houyi
.
cure
()
elif
choice
==
"0"
:
houyi
.
combat
(
yase
)
houyi
.
combat
(
yase
)
elif
choice
==
"1"
:
houyi
.
xiaocombat
(
yase
)
elif
choice
==
"2"
:
elif
choice
==
"2"
:
houyi
.
cure
(
)
houyi
.
zhongcombat
(
yase
)
elif
choice
==
"3"
:
elif
choice
==
"3"
:
houyi
.
qs
combat
(
yase
)
houyi
.
da
combat
(
yase
)
else
:
else
:
print
(
"
请重新输入
"
)
print
(
"
指令无效
"
)
continue
continue
if
yase
.
tili
<
3
:
if
h_
tili
<
3
:
mun
=
1
mun
=
1
elif
yase
.
tili
<
4
:
elif
h_
tili
<
4
:
mun
=
random
.
randint
(
1
,
2
)
mun
=
random
.
randint
(
1
,
2
)
elif
yase
.
tili
<
7
:
elif
h_
tili
<
7
:
mun
=
random
.
randint
(
1
,
3
)
mun
=
random
.
randint
(
1
,
3
)
elif
yase
.
tili
<
10
:
elif
h_
tili
<
10
:
mun
=
random
.
randint
(
1
,
4
)
mun
=
random
.
randint
(
1
,
4
)
else
:
else
:
mun
=
random
.
randint
(
1
,
5
)
mun
=
random
.
randint
(
1
,
5
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment