簡體   English   中英

如何在我的程序中重置 A 'Score Bank'? Python

[英]How Do I Reset The A 'Score Bank' In My Program? Python

因此,當我兩天前剛開始 Python 時,我試圖在一個非常基本的游戲中添加一個帶有外部模塊的評分系統。

score_history = [0]

a=cur_score()

def var1():
    scoremodule.cur_score()

def initial_score():
    return score[0]

def cur_score():
    return score_history[-1]

def affect_score(delta):
    score_history.append(cur_score() + delta)
    return cur_score()

def reset_score(var1):
    sub=a-a
    print(sub)

這是我到目前為止所擁有的。 我只需要一種使用reset_score參數重置分數的方法。 我不知道如何為cur_score分配一個字母或從其自身中減去它。 幫助將不勝感激。

你想讓 reset_score 做什么? 設置 a = 0?

def reset_score(var1()):
    a=0

您可以使用 class 來定義您的方法,然后將分數歷史記錄作為 class 的屬性? 這是你追求的結果嗎?

class Scorer:
    def __init__(self):
        self.score_history = [0]

    def initial_score(self):
        return self.score_history[0]

    def current_score(self):
        return self.score_history[-1]

    def affect_score(self, delta):
        self.score_history.append(self.score_history[-1] + delta)
        return self.current_score()

    def reset_score(self):
        self.score_history = [0]

scoreboard = Scorer()

print(f"Start: {scoreboard.current_score()}")
print(f"add 5: {scoreboard.affect_score(5)}")
print(f"initial: {scoreboard.initial_score()}")
print(f"current: {scoreboard.current_score()}")
scoreboard.reset_score()
print(f"current after reset: {scoreboard.current_score()}")

Output

Start: 0
add 5: 5
initial: 0
current: 5
current after reset: 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM