我正在用红宝石制作纸牌游戏。
我有 Game 类,它有一个 Player 对象数组。
array_of_players = Array[
Player.new("Ben"),
Player.new("Adam"),
Player.new("Peter"),
Player.new("Fred"),
]
my_game = Game.new(array_of_players)
puts my_game.players[2].name #=> Peter
每个玩家也可以访问游戏,这样他们就可以像这样访问游戏的重要部分
self.game.last_card_dealt
每个玩家也有卡片(Player.cards),我想确保玩家无法访问彼此的卡片。但是,游戏确实需要访问卡片,所以我认为使用private
不合适,并且玩家需要访问彼此的一些信息,所以我不认为我希望那样private
......
基本上,我希望这些工作。
self.cards #where self is a Player object
self.players[0].cards #where self is the Game
self.game.players[0].name #where self is a Player object
这失败了:
self.hand.players[0].cards #=> Nice try sucker! Cheating is for losers.
如何处理像这样更复杂的权限?谢谢。