2017-02-10 79 views
1

因此,我正在製作一款尋寶遊戲,其中用戶被置於網格上作爲'P',並且可以四處移動以收集網格上顯示的胸部('X')的硬幣。在同一條鐵柵上,土匪('B')也存在,它們帶走了以前收集的所有硬幣。如何在尋寶遊戲中添加積分?

現在,我已經儘可能讓玩家在棋盤上移動,但不知道如何在玩家着陸寶藏時將硬幣添加到已經創建的硬幣變量中。

這是隨機放置5個土匪和在板10個寶箱代碼的相關部分:

def bandits(board): 
    added_bandits = 0 
    while added_bandits < 5: 
     x_bandit = r.randint(0,7) 
     y_bandit = r.randint(0,7) 
     if board[x_bandit][y_bandit] == 'O': 
      board[x_bandit][y_bandit] = 'B' 
      added_bandits = added_bandits + 1 

def treasures(board): 
    added_treasure = 0 
    while added_treasure < 10: 
     x_treasure = r.randint(0,7) 
     y_treasure = r.randint(0,7) 
     if board[x_treasure][y_treasure] == 'O': 
      board[x_treasure][y_treasure] = 'X' 
      added_treasure = added_treasure + 1 

回答

1

我將創建一個類播放器,讓您存儲這些信息以及管理添加/刪除玩家的硬幣。

class Player(object): 

    def __init__(self, name): 
     self.playername = name 
     self.total_coins = 0 

    def add_coins(self, number): 
     self.total_coins += number 

    def remove_coins(self, number): 
     self.total_coins -= number 

    def move(self, move_data): 
    #implement here the players's move semantic 

    def print_total_coins(self): 
     print("Total coins %d" % (self.total_coins)) 

這樣,你可以得到總比分硬幣這樣的:

player1 = Player("Player 1") 
player1.print_total_coins() 

我將進一步在封裝類土匪和寶物了。

+0

非常感謝你的回覆,你認爲我應該在玩家登陸寶藏時加入硬幣嗎? – UselessProgrammer

+0

我會這樣想:'player1.add_coins(5)'如果玩家獲得5個硬幣。 – Alex