I cant move the paddle in this game and yes i am focused on the game screen when i press the left and right arrow. Also there is no error message. I am doing the bounce game from the python book. I didn't see anything wrong it.video of program In this video you can't see it but im pushing down the arrows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
import time import random from tkinter import * class Ball: def __init__( self , canvas, color): self .canvas = canvas self . id = canvas.create_oval( 10 , 10 , 25 , 25 , fill = color) self .canvas.move( self . id , 245 , 100 ) starts = [ - 3 , - 2 , - 1 , 1 , 2 , 3 ] random.shuffle(starts) self .x = starts[ 0 ] self .y = - 3 self .canvas_height = self .canvas.winfo_height() self .canvas_width = self .canvas.winfo_width() def draw( self ): self .canvas.move( self . id , self .x, self .y) pos = self .canvas.coords( self . id ) if pos[ 1 ] < = 0 : self .y = 1 if pos[ 3 ] > = self .canvas_height: self .y = - 1 if pos[ 0 ] < = 0 : self .x = 3 if pos[ 2 ] > = self .canvas_width: self .x = - 3 class Paddle: def __init__( self , canvas, color): self .canvas = canvas self . id = canvas.create_rectangle( 0 , 0 , 100 , 10 , fill = color) self .canvas.move( self . id , 200 , 300 ) self .x = 0 self .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 = 0 elif pos[ 2 ] > = self .canvas_width: self .x = 0 def turn_left( self , evt): self .x = - 2 def turn_right( self , evt): self .x = 2 tk = Tk() tk.title( "Game" ) tk.resizable( 0 , 0 ) tk.wm_attributes( "-topmost" , 1 ) canvas = Canvas(tk, width = 400 , height = 400 , bd = 0 , highlightthickness = 0 ) canvas.pack() tk.update() paddle = Paddle(canvas, 'blue' ) ball = Ball(canvas, 'red' ) while 1 : ball.draw() paddle.draw() tk.update_idletasks() tk.update() time.sleep( 0.01 ) |