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
36607b84
authored
Jan 12, 2022
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
auto save
parent
f9dd2e81
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
28 deletions
diy1.py
diy1.py
View file @
36607b84
import
random
class
Hero
(
object
):
class
Hero
(
object
):
def
__init__
(
self
,
name
):
def
__init__
(
self
,
name
):
self
.
name
=
name
self
.
name
=
name
self
.
level
=
1
self
.
level
=
1
self
.
hp
=
250
self
.
hp
=
250
self
.
attack
=
40
self
.
attack
=
40
self
.
max_hp
=
self
.
hp
self
.
max_hp
=
self
.
hp
def
cure
(
self
):
# 治疗
def
cure
(
self
):
# 治疗
self
.
hp
=
self
.
hp
+
60
boold
=
random
.
randint
(
30
,
50
)
if
self
.
hp
>
self
.
max_hp
:
self
.
hp
=
self
.
hp
+
boold
self
.
hp
=
self
.
max_hp
if
self
.
hp
>
self
.
max_hp
:
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
60
,
",目前的血量为:"
,
self
.
hp
)
self
.
hp
=
self
.
max_hp
print
(
self
.
name
+
"使用了治疗,血量增加:"
,
boold
,
",目前的血量为:"
,
self
.
hp
)
def
combat
(
self
,
enemy
):
# 普通攻击
def
combat
(
self
,
enemy
):
# 普通攻击
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起进攻,"
info1
=
self
.
name
+
"对"
+
enemy
.
name
+
"发起进攻,"
info2
=
"造成"
+
str
(
self
.
attack
)
+
"点伤害,"
info2
=
"造成"
+
str
(
self
.
attack
)
+
"点伤害,"
enemy
.
hp
-=
self
.
attack
enemy
.
hp
-=
self
.
attack
if
enemy
.
hp
>
0
:
if
enemy
.
hp
>
0
:
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info3
=
enemy
.
name
+
"还剩下"
+
str
(
enemy
.
hp
)
+
"血量"
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
else
:
else
:
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info3
=
enemy
.
name
+
"阵亡,游戏结束"
info
=
info1
+
info2
+
info3
info
=
info1
+
info2
+
info3
print
(
info
)
print
(
info
)
exit
()
exit
()
class
Player
(
Hero
):
class
Player
(
Hero
):
def
__init__
(
self
,
hero_type
,
name
):
def
__init__
(
self
,
hero_type
,
name
):
super
()
.
__init__
(
name
)
super
()
.
__init__
(
name
)
self
.
hp
=
200
self
.
hp
=
200
self
.
attack
=
50
self
.
attack
=
50
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
)
houyi
=
Player
(
"射手"
,
"后羿"
)
yase
=
Hero
(
"垭瑟"
)
print
(
'-'
*
30
)
houyi
=
Player
(
"射手"
,
"后羿"
)
print
(
' 全军出击'
)
yase
=
Hero
(
"亚瑟"
)
print
(
"-"
*
30
)
print
(
" 战斗开始"
)
while
True
:
while
True
:
print
(
'-'
*
30
)
print
(
"-"
*
30
)
choice
=
input
(
'请输入数字选择技能,1攻击/2治疗:'
)
player
=
input
(
"请输入技能(1=攻击/2=治疗):"
)
\ No newline at end of file
if
player
==
"q"
:
print
(
"游戏终止。"
)
break
elif
player
==
"1"
:
houyi
.
combat
(
yase
)
elif
player
==
"2"
:
houyi
.
cure
()
else
:
print
(
"请重新输入。"
)
continue
hero
=
random
.
randint
(
1
,
2
)
if
hero
==
"2"
:
yase
.
cure
()
else
:
yase
.
combat
(
houyi
)
\ No newline at end of file
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