Я пытаюсь создать небольшую игру с python. Я уже все установил, но я хотел бы установить ограничение по времени. Я нашел что-то в Интернете, но это не работает с этим проектом, но работает с другим проектом.
c.create_text(450, 20, text = 'Time', fill = 'red')
c.create_text(650, 20, text = 'Score', fill = 'red')
time_text = c.create_text(450, 20, text = 'Time', fill = 'red')
score_text = c.create_text(650, 20, text = 'Score', fill = 'red')
def print_score(score) :
c.itemconfig(score_text, text = str(score))
def print_time(time) :
c.itemconfig(time_text, text = str(time))
ENNEMY_CHANCE = 10
TIME_LIMIT = 30
SCORE_BONUS = 1000
score = 0
bonus = 0
end = time() + TIME_LIMIT
#Main
while True :
if randint(1, ENNEMY_CHANCE) == 1:
create_ennemy()
move_ennemies()
hide_ennemies()
score += ennemy_kill()
if (int(score/SCORE_BONUS)) > bonus:
bonus += 1
end += TIME_LIMIT
print_score(score)
print_time(int(end - time()))
window.update()
Но я получаю это:
end = time() + TIME_LIMIT
TypeError: 'int' object is not callable
Если вы знаете более простой способ установить ограничение по времени, это было бы супер.
Вы импортировали время? Я думаю, что вы использовали имя «время» как целочисленную переменную где-то в своем коде, и у вас есть неоднозначный код. Попробуйте это, чтобы получить текущее время:
import time as time_module
now = time_module.time()
да. Ты прав. Я установил время как переменную над этим.
Попробуй это
import time
start = time.time() #the variable that holds the starting time
elapsed = 0 #the variable that holds the number of seconds elapsed.
while elapsed < 30: #while less than 30 seconds have elapsed
elapsed = time.time() - start #update the time elapsed
int
действительно не вызывается, вы, вероятно, повторно объявилиtime
import со своим значением.