亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下這程序有什么問題,為什么這彈球游戲運行不起來?

以下這程序有什么問題,為什么這彈球游戲運行不起來?

慕標5832272 2022-04-22 15:15:10
from tkinter import *import randomimport timeclass Ball:def __init__(self,canvas,paddle,color):self.canvas=canvasself.paddle=paddleself.id=canvas.create_oval(10,10,25,25,fill=color)self.canvas.move=(self.id,245,100)starts=[-3,-2,-2,1,2,3]random.shuffle(starts)self.x=starts[0]self.y=-3self.canvas_height=self.canvas.winfo_height()self.canvas_width=self.canvas.winfo_width()self.hit_bottom=Falsedef hit_paddle(self,pos):paddle_pos=self.canvas.coords(self.paddle.id)if pos[2]>=paddle_pos[0] and pos[0]<=paddle_pos[2]:if pos[3]>=paddle_pos[1] and pos[3]<=paddle_pos[3]:return Truereturn Falsedef draw(self):self.canvas.move(self.id,self.x,self.y)pos=self.canvas.coords(self.id)if pos[1]<=0:self.y=3if pos[3]>=self.canvas_height:self.hit_bottom=Trueif self.hit_paddle(pos)==True:self.y=-3if pos[0]<=0:self.x=3if pos[2]>=self.canvas_width:self.x=-3class Paddle:def __init__(self,canvas,color):self.canvas=canvasself.id=canvas.create_rectangle(0,0,100,10,fill=color)self.canvas.move(self.id,200,300)self.x=0self.canvas_width=self.canvas.winfo_width()self.canvas.bind_all('<KeyPress-Left>',self.turn_left)self.canvas.bind_all('<KeyPress-Right>',self.turn_right)def draw(self):self.canvas.move(self.id,self.x,0)pos=self.canvas.coords(self.id)if pos[0]<=0:self.x=0elif pos[2]>=self.canvas_width:self.x=0def turn_left(self,evt):self.x=-2def turn_right(self,evt):self.x=2tk=Tk()tk.title("Game")tk.resizable(0,0)tk.wm_attributes("-topmost",1)canvas=Canvas(tk,width=500,height=400,bd=0,highlightthickness=0)canvas.pack()tk.update()paddle=Paddle(canvas, 'blue')ball=Ball(canvas,paddle, 'red')while 1:if ball.hit_bottom==False:ball.draw()paddle.draw()tk.update_idletasks()tk.update()time.sleep(0.01)Traceback (most recent call last):File "D:\彈球小游戲.py", line 67, in <module>ball.draw()File "D:\彈球小游戲.py", line 24, in drawself.canvas.move(self.id,self.x,self.y)TypeError: 'tuple' object is not callable總是報這種錯,調半天了
查看完整描述

1 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

第九行應該是self.canvas.move(self.id,245,100),你應該是手誤打成了self.canvas.move = (self.id,245,100),

查看完整回答
反對 回復 2022-04-24
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號