【发布时间】:2021-03-05 12:28:55
【问题描述】:
我目前在 python 中使用 OOP 来编写游戏。我创建了一个具有属性和方法的类。我想做基本的移动,如果用户键入“向北”,它将移动到北广场。然而,它说我有一个错误,北方没有定义。这是我的代码:
class square():
def __init__(self, action, square_no, north, east, south, west):
self.action = action
self.square_no = square_no
self.north = north
self.east = east
self.south = south
self.west = west
def user_action(action):
action = input("---").lower()
square.movement(action, north)
def Help():
print("Commands are: \n Go(north/ east /south /west) \n Mine \n Craft (object) \n Look around \n Collect (blueprint)\n Fix (wing/ thruster/ engine/ battery/ fuel tank) \n Save \n Info \n You will see this symbol when you are expected to type something ---")
square.user_action(action)
def movement(action, north):
if action == "go north":
print(north)
elif action == "info":
square.Help()
else:
print("You can't do that here.")
square.user_action(action)
action = ""
square1 = square(action, 1, 0, 2, 4, 0)
print(square1)
square1.user_action()
谢谢
【问题讨论】:
-
您的实例方法需要实例本身的
self参数,然后您可以访问self.north。