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
4924b168
authored
Jun 06, 2021
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
42827186
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
215 additions
and
40 deletions
diy4.py
diy4.py
View file @
4924b168
import
random
import
random
bd1
=
0
bd1
=
0
class
Hero
(
object
):
class
Hero
(
object
):
def
__init__
(
self
,
hero_type
,
name
):
def
__init__
(
self
,
hero_type
,
name
):
self
.
name
=
name
self
.
name
=
name
...
@@ -8,21 +9,22 @@ class Hero(object):
...
@@ -8,21 +9,22 @@ class Hero(object):
self
.
attack
=
40
self
.
attack
=
40
self
.
tili
=
5
self
.
tili
=
5
self
.
max_tili
=
10
self
.
max_tili
=
10
self
.
min_tili
=
0
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
)
print
(
"当前等级、血量、攻击力分别为:"
,
self
.
level
,
self
.
hp
,
self
.
attack
)
print
(
"当前等级、血量、攻击力分别为:"
,
self
.
level
,
self
.
hp
,
self
.
attack
)
def
cure
(
self
):
# 治疗
def
cure
(
self
):
# 治疗
self
.
hp
=
self
.
hp
+
55
self
.
hp
=
self
.
hp
+
60
self
.
tili
=
self
.
tili
-
3
self
.
tili
=
self
.
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
+
"使用了治疗,血量增加:"
,
55
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
60
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
self
.
tili
=
self
.
tili
+
2
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
def
combat
(
self
,
enemy
):
# 普通攻击
def
combat
(
self
,
enemy
):
# 普通攻击
enemy
.
hp
-=
self
.
attack
enemy
.
hp
-=
self
.
attack
if
bd1
==
5
:
if
bd1
==
5
:
...
@@ -102,6 +104,7 @@ class Hero(object):
...
@@ -102,6 +104,7 @@ class Hero(object):
self
.
tili
=
self
.
tili
+
2
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
def
dacombat
(
self
,
enemy
):
#大招:暴击
def
dacombat
(
self
,
enemy
):
#大招:暴击
self
.
tili
=
self
.
tili
-
10
self
.
tili
=
self
.
tili
-
10
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起大招:暴击,"
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起大招:暴击,"
...
@@ -119,6 +122,7 @@ class Hero(object):
...
@@ -119,6 +122,7 @@ class Hero(object):
self
.
tili
=
self
.
tili
+
2
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
def
zhongcombat
(
self
,
enemy
):
#中招:圣盾防御
def
zhongcombat
(
self
,
enemy
):
#中招:圣盾防御
self
.
tili
=
self
.
tili
-
7
self
.
tili
=
self
.
tili
-
7
sdfy
=
random
.
randint
(
1
,
3
)
sdfy
=
random
.
randint
(
1
,
3
)
...
@@ -127,7 +131,6 @@ class Hero(object):
...
@@ -127,7 +131,6 @@ class Hero(object):
print
(
info1
)
print
(
info1
)
self
.
tili
=
self
.
tili
+
2
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
continue
elif
sdfy
==
2
:
elif
sdfy
==
2
:
enemy
.
hp
-=
ftsy
enemy
.
hp
-=
ftsy
info1
=
self
.
name
+
"开启二级圣盾防御,"
info1
=
self
.
name
+
"开启二级圣盾防御,"
...
@@ -146,8 +149,8 @@ class Hero(object):
...
@@ -146,8 +149,8 @@ class Hero(object):
print
(
info
)
print
(
info
)
self
.
tili
=
self
.
tili
+
2
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
continue
def
xiaocombat
(
self
,
enemy
):
#小招:强化
def
xiaocombat
(
self
,
enemy
):
#小招:强化
self
.
tili
=
self
.
tili
-
4
self
.
tili
=
self
.
tili
-
4
self
.
hp
=
self
.
hp
+
25
self
.
hp
=
self
.
hp
+
25
...
@@ -160,7 +163,6 @@ class Hero(object):
...
@@ -160,7 +163,6 @@ class Hero(object):
self
.
tili
=
self
.
tili
+
2
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
class
Player
(
object
):
class
Player
(
object
):
...
@@ -169,46 +171,213 @@ class Player(object):
...
@@ -169,46 +171,213 @@ class Player(object):
self
.
level
=
1
self
.
level
=
1
self
.
hp
=
200
self
.
hp
=
200
self
.
attack
=
50
self
.
attack
=
50
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
)
print
(
"当前等级、血量、攻击力分别为:"
,
self
.
level
,
self
.
hp
,
self
.
attack
)
print
(
"当前等级、血量、攻击力分别为:"
,
self
.
level
,
self
.
hp
,
self
.
attack
)
def
combat
(
self
,
enemy
):
# 普通攻击
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起进攻,"
def
cure
(
self
):
# 治疗
info2
=
"造成"
+
str
(
self
.
attack
)
+
"点伤害,"
self
.
hp
=
self
.
hp
+
50
enemy
.
hp
-=
self
.
attack
self
.
tili
=
self
.
tili
-
3
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
()
def
cure
(
self
):
# 治疗
asd
=
random
.
randint
(
30
,
60
)
self
.
hp
=
self
.
hp
+
asd
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
+
"使用了治疗,血量增加:"
,
asd
,
",目前的血量为:"
,
self
.
hp
)
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
50
,
",目前的血量为:"
,
self
.
hp
+
"体力减少3,目前的体力为:"
,
self
.
tili
)
self
.
tili
=
self
.
tili
+
2
def
qscombat
(
self
,
enemy
):
#强杀
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
qsaaa
=
random
.
randint
(
25
,
75
)
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起强杀,"
info2
=
"强杀造成"
+
str
(
qsaaa
)
+
"点伤害,"
def
combat
(
self
,
enemy
):
# 普通攻击
enemy
.
hp
=
enemy
.
hp
-
self
.
attack
-
5
enemy
.
hp
-=
self
.
attack
if
enemy
.
hp
>
0
:
if
bd1
==
5
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
enemy
.
hp
-=
20
info
=
info1
+
info2
+
info3
bd1
=
bd1
-
5
print
(
info
)
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
:
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
bd1
=
bd1
+
1
info
=
info1
+
info2
+
info3
if
enemy
.
hp
>
0
:
print
(
info
)
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起攻击,"
exit
()
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
def
zhongcombat
(
self
,
enemy
):
#中招:天降巨箭
self
.
tili
=
self
.
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
def
xiaocombat
(
self
,
enemy
):
#小招:连射
ls
=
random
.
randint
(
1
,
5
)
ls5
=
ls
*
5
self
.
tili
=
self
.
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
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
()
self
.
tili
=
self
.
tili
+
2
print
(
"出招后,体力回复2点,目前的体力为:"
,
self
.
tili
)
yase
=
Hero
(
"坦克"
,
"垭瑟"
)
yase
=
Hero
(
"坦克"
,
"垭瑟"
)
houyi
=
Player
(
"射手"
,
"后羿"
)
houyi
=
Player
(
"射手"
,
"后羿"
)
...
@@ -247,5 +416,11 @@ while True:
...
@@ -247,5 +416,11 @@ while True:
yase
.
xiaocombat
(
houyi
)
yase
.
xiaocombat
(
houyi
)
elif
mun
==
4
:
elif
mun
==
4
:
yase
.
zhongcombat
(
houyi
)
yase
.
zhongcombat
(
houyi
)
if
sdfy
==
1
:
continue
elif
sdfy
==
2
:
pass
else
:
continue
else
:
else
:
yase
.
dacombat
(
houyi
)
yase
.
dacombat
(
houyi
)
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