【发布时间】:2019-02-04 19:13:18
【问题描述】:
我正在尝试制作筷子游戏。这是游戏https://en.wikipedia.org/wiki/Chopsticks_(hand_game) 的维基百科链接。到目前为止,我只是添加了几个方法,以便一只手可以使用“攻击”方法攻击另一只手。我觉得我写的代码非常冗长、丑陋,甚至可能是错误的。我怎样才能更优雅地写这个?
class game:
def __init__(self):
self.x_left = 1
self.x_right = 1
self.o_left = 1
self.o_right = 1
def set_x_left(self, num):
self.x_left = num
def set_x_right(self, num):
self.x_right = num
def set_o_left(self, num):
self.o_left = num
def set_o_right(self, num):
self.o_right = num
def dict_func(self, hand):
self.func= {'x_left': self.set_x_left, 'x_right': self.set_x_right,
'o_left': self.set_o_left, 'o_right': self.set_o_right}
return self.func[hand]
def dict_hand(self, hand):
self.hands = {'x_left': self.x_left, 'x_right': self.x_right,
'o_left': self.o_left, 'o_right': self.o_right}
return self.hands[hand]
def attack(self, from_hand, to_hand):
self.dict_func(to_hand)(self.dict_hand(from_hand) + self.dict_hand(to_hand))
【问题讨论】: