我已经研究了Python 3几个月了,刚开始研究面向对象的编程。我在Stack Overflow上问了一个关于我试图编写的文本冒险游戏的问题,并建议使用OOP会更好。
我做了一些搜索,因为我想要一个可以在游戏中使用的非常简单的战斗系统。我有游戏的基本框架,但我想在战斗系统方面提供一些帮助。
这是我到目前为止的代码:import random
import time as t
class Die:
def __init__(self, sides = 6):
self.sides = sides
def roll(self):
return random.randint(1, self.sides)
class Player:
def __init__(self):
self.hit_points = 10
def take_hit(self):
self.hit_points -= 2
class Enemy:
def __init__(self):
self.hit_points = 10
def take_hit(self):
self.hit_points -= 2
p = Player()
e = Enemy()
d = Die(6)
battle = 1
while battle != 0:
human = d.roll() + 6
print("Your hit score: ",human)
enemy = d.roll() + 6
print("Enemy hit score: ",enemy)
if human > enemy:
e.take_hit()
print("Your hit points remaining: ",p.hit_points)
print("Enemy points remaining: ", e.hit_points)
if e.hit_points == 0:
battle = 0
t.sleep(2)
elif human < enemy:
p.take_hit()
print("Your hit points remaining: ",p.hit_points)
print("Enemy points remaining: ", e.hit_points)
if p.hit_points == 0:
battle = 0
t.sleep(2)
Die类是模拟六面骰子,玩家和敌人用于游戏角色。之后,代码用于滚动随机数,最高数字赢得该轮,直到玩家或敌人达到零点。
我不确定如何在三个类之后使用最后一行代码并从中创建一个类。
我需要能够在游戏中多次进行战斗,并在每场战斗后扣除积分后存储玩家得分。
我非常喜欢和喜欢使用物体,并希望变得更好,所以非常感谢任何帮助。