我无法发现错误是泡泡龙游戏,它会吐出一个错误

错误: 回溯(最近通话最近):   第102行中的文件“ C:\ Users \ MarquessMark11 \ Desktop \ Games \ game.py”     show_time(int(thend = time())) TypeError:“ thend”是此函数的无效关键字参数

这是我的代码:

from tkinter import *
from random import randint
from time import sleep,time
from math import sqrt
HEIGHT = 500
WIDTH = 800
window = Tk()
window.title('Bubble Blaster')
c = Canvas(window,width=WIDTH,height=HEIGHT,bg='darkblue')
c.pack()
ship_id = c.create_polygon(5,5,25,30,15,fill='green')
ship_id2 = c.create_oval(0,outline='green')
SHIP_R = 15
MID_X = WIDTH / 2
MID_Y = HEIGHT / 2
c.move(ship_id,MID_X,MID_Y)
c.move(ship_id2,MID_Y)
SHIP_SPD = 10
def move_ship(event):
    if event.keysym == 'Up':
        c.move(ship_id,-SHIP_SPD)
        c.move(ship_id2,-SHIP_SPD)
    if event.keysym == 'Down':
        c.move(ship_id,SHIP_SPD)
        c.move(ship_id2,SHIP_SPD)
    if event.keysym == 'Left':
        c.move(ship_id,-SHIP_SPD,0)
        c.move(ship_id2,0)
    if event.keysym == 'Right':
        c.move(ship_id,SHIP_SPD,0)
c.bind_all('<Key>',move_ship)
bub_id = list()
bub_r = list()
bub_speed = list()
MIN_BUB_R = 10
MAX_BUB_R = 30
MAX_BUB_SPD = 10
GAP = 100
def create_bubble():
    x = WIDTH + GAP
    y = randint(0,HEIGHT)
    r = randint(MIN_BUB_R,MAX_BUB_R)
    id1 = c.create_oval(x - r,y - r,x + r,y + r,outline='white')
    bub_id.append
    bub_r.append(id1)
    bub_speed.append(randint(1,MAX_BUB_SPD))
def move_bubbles():
    for i in range(len(bub_id)):
        c.move(bub_id[i],-bub_speed[i],0)
def clean_up_bubs():
    for i in range(len(bub_id)-1,-1,-1):
        x,y = get_coords(bub_id[i])
        if x < -GAP:
            del_bubble(i)
def collision():
    points = 0
    for bub in range(len(bub_id)-1,-1):
        if distance(ship_id2,bub_id[bub]) < (SHIP_R + bub_r[bub]):
            points += (bub_r[bub] + bub_speed[bub])
            del_bubble(bub)
        return points
def get_coords(id_num):
    pos = c.coords(id_num)
    x = (pos[0] + pos[2])/2
    y = (pos[1] + pos[3])/2
    return x,y
def del_bubble(i):
    del bub_r[i]
    del bub_speed[i]
    c.delete(bub_id[i])
    del bub_id[1]
def distance(id1,id2):
    x1,y1 = get_coords(id1)
    x2,y2 = get_coords(id2)
    return sqrt((x2 - x1)**2 + (y2 - y1)**2)
c.create_text(50,text='TIME',fill='green' )
c.create_text(150,text='SCORE',fill='yellow' )
time_text = c.create_text(50,50,fill='green' )
score_text = c.create_text(150,fill='yellow' )
def show_score(score):
    c.itemconfig(score_text,text=str(score))
def show_time(time_left):
    c.item_config(time_text,text=str(time_left))
BUB_CHANCE = 10
TIME_LIMIT = 30
BONUS_SCORE = 1000
bonus = 0
thend = time() + TIME_LIMIT
score = 0
#MAIN GAME LOOP
while time() < thend:
    if randint(1,BUB_CHANCE) == 1:
        create_bubble()
    move_bubbles()
    clean_up_bubs()
    score = collision()
    if score == BONUS_SCORE:
        bonus += 1
        end += TIME_LIMIT
    show_score(score)
    show_time(int(thend = time()))
    print(score)
    window.update()
    sleep(0.01)
c.create_text(MID_X,MID_Y,\
              text='GAME OVER',fill='red',font=('Helvetica',30))
c.create_text(MID_X,MID_Y + 30,\
              text='Score: '+ str(score),fill='yellow')
c.create_text(MID_X,MID_Y + 45,\
              text='Bonus time: '+ str(bonus*TIME_LIMIT),fill='green')

如果您找到任何解决方案,请回复,我也从书中得到了答案,但是我进行了更改,因为我可以找到其余的错误。我还将告诉您是否还有其他错误!

daihongze 回答:我无法发现错误是泡泡龙游戏,它会吐出一个错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2924682.html

大家都在问