如何在寻宝游戏中为总点数增加点数?

2024-04-19 13:58:32 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我做了一个寻宝游戏,在这个游戏中,用户被放在一个网格上作为'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

Tags: 用户board网格游戏addedifdef玩家
1条回答
网友
1楼 · 发布于 2024-04-19 13:58:32

我会创建一个类播放器,在那里你存储这些信息,并管理添加/删除的硬币的球员。你知道吗

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()

我也会把土匪和财宝进一步封装在课堂上。你知道吗

相关问题 更多 >