def eye(window): """ :param window:window """ eye1 = GOval(30, 70, x=window.width / 2 - 32, y=window.height / 2 - 35) eye1.filled = True eye1.fill_color = "snow" window.add(eye1) eye11 = GOval(20, 40, x=window.width / 2 - 27, y=window.height / 2 - 5) eye11.filled = True window.add(eye11) eye2 = GOval(30, 70, x=window.width - eye1.x - 23, y=window.height - eye1.y - 70) eye2.filled = True eye2.fill_color = "snow" window.add(eye2) eye22 = GOval(20, 40, x=window.width - eye11.x - 12, y=window.height - eye11.y - 10) eye22.filled = True window.add(eye22) nose(window)
def face(dx=0, dy=0, main_color='greenyellow', necklace_color='purple'): """ Function: draw face Principle: use ellipse subtraction to create curved shape :param dx: x-axis displacement :param dy: y-axis displacement :param main_color: main color :param necklace_color: necklace color """ face = GOval(350, 200, x=dx + 135, y=dy + 135) face.filled = True face.color = main_color face.fill_color = main_color window.add(face) necklace = GOval(300, 70, x=dx + 160, y=dy + 270) necklace.filled = True necklace.color = necklace_color necklace.fill_color = necklace_color window.add(necklace) necklace_x = GOval(330, 100, x=dx + 145, y=dy + 215) necklace_x.filled = True necklace_x.color = main_color necklace_x.fill_color = main_color window.add(necklace_x)
def mac_window(): # create Mac window big_rect = GRect(750, 500, x=5, y=5) big_rect.color = 'lightgrey' # create tool bar small_rect = GRect(750, 18, x=5, y=5) small_rect.filled = True small_rect.color = 'lightgrey' small_rect.fill_color = 'gainsboro' # create close window button oval_1 = GOval(12, 12, x=7, y=7) oval_1.filled = True oval_1.color = 'tomato' oval_1.fill_color = 'tomato' # create minimize window button oval_2 = GOval(12, 12, x=27, y=7) oval_2.filled = True oval_2.color = 'gold' oval_2.fill_color = 'gold' # create maximize window button oval_3 = GOval(12, 12, x=47, y=7) oval_3.filled = True oval_3.color = 'limegreen' oval_3.fill_color = 'limegreen' window.add(big_rect) window.add(small_rect) window.add(oval_1) window.add(oval_2) window.add(oval_3)
def build_karel4(): """ This function builds the fourth karel """ add = 3 head = GOval(80, 55, x=190 + 120 * add, y=167) head.filled = True head.color = 'black' head.fill_color = 'gray' window.add(head) hair1 = GLine(590, 167, 590, 161) hair2 = GLine(588, 168, 585, 162) hair3 = GLine(592, 168, 595, 162) hair4 = GLine(585, 168, 582, 162) hair5 = GLine(595, 168, 598, 162) window.add(hair1) window.add(hair2) window.add(hair3) window.add(hair4) window.add(hair5) r_eye = GOval(14, 14, x=212 + 120 * add, y=189) r_eye.filled = True r_eye.color = 'black' r_eye.fill_color = 'blue' window.add(r_eye) l_eye = GOval(14, 14, x=235 + 120 * add, y=189) l_eye.filled = True l_eye.color = 'black' l_eye.fill_color = 'blue' window.add(l_eye) hands = GRect(105, 45, x=177 + 120 * add, y=237) hands.filled = True hands.color = 'black' hands.fill_color = 'lime' window.add(hands) body_1 = GRect(60, 65, x=201 + 120 * add, y=223) body_1.filled = True body_1.color = 'black' body_1.fill_color ='blue' window.add(body_1) body_2 = GRect(80, 60, x=190 + 120 * add, y=230) body_2.filled = True body_2.color = 'black' body_2.fill_color = 'blue' window.add(body_2) r_foot = GOval(29, 24, x=190 + 120 * add, y=290) r_foot.filled = True r_foot.color = 'black' r_foot.fill_color = 'red' window.add(r_foot) l_foot = GOval(29, 24, x=241 + 120 * add, y=290) l_foot.filled = True l_foot.color = 'black' l_foot.fill_color = 'red' window.add(l_foot) label = GRect(20, 20, x=218+120*add, y=130) label.filled = True label.fill_color = 'forestgreen' label.color = 'forestgreen' window.add(label)
def dinosaur(): dinosaur_img = GOval(250, 400, x=25, y=540) dinosaur_img.filled = True dinosaur_img.fill_color = 'green' dinosaur_img.color = 'green' window.add(dinosaur_img) dinosaur_head_img = GOval(230, 300, x=100, y=600) dinosaur_head_img.filled = True dinosaur_head_img.fill_color = 'green' dinosaur_head_img.color = 'green' window.add(dinosaur_head_img) dinosaur_eye_img = GOval(30, 50, x=200, y=585) dinosaur_eye_img.filled = True dinosaur_eye_img.fill_color = 'lightgreen' dinosaur_eye_img.color = 'lightgreen' window.add(dinosaur_eye_img) dinosaur_eye1_img = GOval(15, 15, x=212, y=590) dinosaur_eye1_img.filled = True dinosaur_eye1_img.fill_color = 'black' dinosaur_eye1_img.color = 'black' window.add(dinosaur_eye1_img) dinosaur_eye1_img = GOval(5, 5, x=222, y=590) dinosaur_eye1_img.filled = True dinosaur_eye1_img.fill_color = 'white' dinosaur_eye1_img.color = 'black' window.add(dinosaur_eye1_img)
def couldsOval(position_x,position_y): """ The following code print out some cloud """ for i in range(position_x,window.width,100): clouds = GOval(50,30,x=i,y=position_y+10) window.add(clouds) clouds.filled = True clouds.color = "Blue" clouds.fill_color = "Blue" for j in range(position_x+25,window.width,100): clouds = GOval(40,30,x=j,y=position_y) window.add(clouds) clouds.filled = True clouds.color = "Blue" clouds.fill_color = "Blue" for k in range(position_x+25,window.width,100): clouds = GOval(40,30,x=k,y=position_y+20) window.add(clouds) clouds.filled = True clouds.color = "Blue" clouds.fill_color = "Blue" for l in range(position_x-25,window.width,100): clouds = GOval(40,30,x=l,y=position_y) window.add(clouds) clouds.filled = True clouds.color = "Blue" clouds.fill_color = "Blue" for m in range(position_x-25,window.width,100): clouds = GOval(40,30,x=m,y=position_y+20) window.add(clouds) clouds.filled = True clouds.color = "Blue" clouds.fill_color = "Blue"
def ear(dx=0, dy=0, main_color='greenyellow', back_color='white'): """ Function: draw ears Principle: use ellipse subtraction to create curved shape :param dx: x-axis displacement :param dy: y-axis displacement :param back_color: background color :param main_color: main color """ l_ear = GOval(80, 150, x=dx + 80, y=dy + 150) l_ear.filled = True l_ear.color = main_color l_ear.fill_color = main_color window.add(l_ear) l_ear_x = GOval(40, 140, x=dx + 70, y=dy + 155) l_ear_x.filled = True l_ear_x.color = back_color l_ear_x.fill_color = back_color window.add(l_ear_x) r_ear = GOval(80, 150, x=dx + 460, y=dy + 150) r_ear.filled = True r_ear.color = main_color r_ear.fill_color = main_color window.add(r_ear) r_ear_x = GOval(40, 140, x=dx + 510, y=dy + 155) r_ear_x.filled = True r_ear_x.color = back_color r_ear_x.fill_color = back_color window.add(r_ear_x)
def eye(): eye0 = GOval(50, 70, x=120, y=130) window.add(eye0) eye0.filled = True eye0.fill_color = 'yellow' eye1 = GOval(50, 70, x=180, y=130) eye1.filled = True eye1.fill_color = 'yellow' window.add(eye1)
def monster_hand(): m_hand0 = GOval(80, 50, x=440, y=300) m_hand0.filled = True m_hand0.fill_color = 'dark green' window.add(m_hand0) m_hand1 = GOval(80, 50, x=440, y=330) m_hand1.filled = True m_hand1.fill_color = 'dark green' window.add(m_hand1)
def down_feet(): down0 = GOval(70, 20, x=475, y=540) down0.filled = True down0.fill_color = 'pink' window.add(down0) down1 = GOval(70, 20, x=580, y=540) down1.filled = True down1.fill_color = 'pink' window.add(down1)
def monster_feet(): foot0 = GOval(100, 40, x=460, y=520) foot0.filled = True foot0.fill_color = 'green' window.add(foot0) foot1 = GOval(100, 40, x=560, y=520) foot1.filled = True foot1.fill_color = 'green' window.add(foot1)
def monster_leg(): leg0 = GOval(100, 60, x=520, y=480) leg0.filled = True leg0.fill_color = 'dark green' window.add(leg0) leg1 = GOval(100, 60, x=560, y=480) leg1.filled = True leg1.fill_color = 'dark green' window.add(leg1)
def arm(): arm0 = GOval(70, 20, x=230, y=350) arm0.filled = True arm0.fill_color = 'silver' window.add(arm0) arm1 = GOval(70, 20, x=60, y=350) arm1.filled = True arm1.fill_color = 'silver' window.add(arm1)
def build_karel1(): """ This function builds the first karel """ head = GOval(80, 55, x=190, y=167) head.filled = True head.color = 'black' head.fill_color = 'gray' window.add(head) r_eye = GRect(13, 13, x=212, y=189) r_eye.filled = True r_eye.color = 'black' r_eye.fill_color = 'blue' window.add(r_eye) l_eye = GRect(13, 13, x=235, y=189) l_eye.filled = True l_eye.color = 'black' l_eye.fill_color = 'blue' window.add(l_eye) r_eyeb = GLine(212, 185, 225, 185) window.add(r_eyeb) l_eyeb = GLine(235, 185, 248, 185) window.add(l_eyeb) hands = GRect(105, 45, x=177, y=237) hands.filled = True hands.color = 'black' hands.fill_color = 'lime' window.add(hands) body_1 = GRect(60, 65, x=201, y=223) body_1.filled = True body_1.color = 'black' body_1.fill_color = 'blue' window.add(body_1) body_2 = GRect(80, 60, x=190, y=230) body_2.filled = True body_2.color = 'black' body_2.fill_color = 'blue' window.add(body_2) r_foot = GOval(29, 24, x=190, y=290) r_foot.filled = True r_foot.color = 'black' r_foot.fill_color = 'red' window.add(r_foot) l_foot = GOval(29, 24, x=241, y=290) l_foot.filled = True l_foot.color = 'black' l_foot.fill_color = 'red' window.add(l_foot) label = GPolygon() label.add_vertex((230, 130)) label.add_vertex((218, 150)) label.add_vertex((242, 150)) label.filled = True label.fill_color = 'firebrick' label.color = 'firebrick' window.add(label)
def __init__(self, width, height, x=0, y=0, hp=MONSTER_HP): self.body = GRect(width, height, x=x, y=y) self.body.filled = True self.body.color = 'grey' self.l_eye = GOval(width*0.2, height*0.35, x=x+width*0.2, y=y+height*0.2) self.l_eye.filled = True self.r_eye = GOval(width*0.2, height*0.35, x=x+width*0.6, y=y+height*0.2) self.r_eye.filled = True self.hp = hp self.hp_label = GLabel(f'HP:{self.hp}') self.hp_label.x = self.body.x + (self.body.width - self.hp_label.width)/2 self.hp_label.y = self.body.y + self.body.height
def draw(event): if event.x > window.width // 2: stroke = GOval(SIZE, SIZE) stroke.color = 'black' stroke.filled = True stroke.fill_color = stroke.color else: stroke = GOval(SIZE, SIZE) stroke.color = 'blue' stroke.filled = True stroke.fill_color = stroke.color for i in range(2): window.add(stroke, event.x + SIZE // 2, event.y + SIZE // 2)
def build_karel3(): """ This function builds the third karel """ add = 2 head = GOval(80, 55, x=190 + 120 * add, y=167) head.filled = True head.color = 'black' head.fill_color = 'gray' window.add(head) r_eye = GRect(13, 13, x=212 + 120 * add, y=189) r_eye.filled = True r_eye.color = 'black' r_eye.fill_color = 'blue' window.add(r_eye) l_eye = GRect(13, 13, x=235 + 120 * add, y=189) l_eye.filled = True l_eye.color = 'black' l_eye.fill_color = 'blue' window.add(l_eye) hands = GRect(105, 45, x=177 + 120 * add, y=237) hands.filled = True hands.color = 'black' hands.fill_color = 'lime' window.add(hands) body_1 = GRect(60, 65, x=201 + 120 * add, y=223) body_1.filled = True body_1.color = 'black' body_1.fill_color = 'blue' window.add(body_1) body_2 = GRect(80, 60, x=190 + 120 * add, y=230) body_2.filled = True body_2.color = 'black' body_2.fill_color = 'blue' window.add(body_2) r_foot = GOval(29, 24, x=190 + 120 * add, y=290) r_foot.filled = True r_foot.color = 'black' r_foot.fill_color = 'red' window.add(r_foot) l_foot = GOval(29, 24, x=241 + 120 * add, y=290) l_foot.filled = True l_foot.color = 'black' l_foot.fill_color = 'red' window.add(l_foot) label = GOval(22, 22, x=218+120*add, y=130) label.filled = True label.fill_color = 'goldenrod' label.color = 'goldenrod' window.add(label)
def create_beeper(e): # create 4 beepers size = 50 for i in (1, 3, 7, 9): beeper = GOval(size, size, x=i * 50 - size / 2, y=400 - size / 2) beeper.filled = True beeper.fill_color = 'blue' window.add(beeper) label1 = GLabel('001', x=50 - size / 2 + 9, y=400 - size / 2 + 37) label2 = GLabel('101', x=150 - size / 2 + 9, y=400 - size / 2 + 37) label3 = GLabel('201', x=350 - size / 2 + 9, y=400 - size / 2 + 37) label4 = GLabel('202', x=450 - size / 2 + 9, y=400 - size / 2 + 37) label1.font = '-15' label2.font = '-15' label3.font = '-15' label4.font = '-15' label1.color = 'white' label2.color = 'white' label3.color = 'white' label4.color = 'white' window.add(label1) window.add(label2) window.add(label3) window.add(label4) onmouseclicked(build_karel)
def __init__(self, ball_radius=BALL_RADIUS, paddle_width=PADDLE_WIDTH, paddle_height=PADDLE_HEIGHT, paddle_offset=PADDLE_OFFSET, brick_rows=BRICK_ROWS, brick_cols=BRICK_COLS, brick_width=BRICK_WIDTH, brick_height=BRICK_HEIGHT, brick_offset=BRICK_OFFSET, brick_spacing=BRICK_SPACING, title='Breakout'): # Create a graphical window, with some extra space. window_width = brick_cols * (brick_width + brick_spacing) - brick_spacing window_height = brick_offset + 3 * (brick_rows * (brick_height + brick_spacing) - brick_spacing) self.window = GWindow(width=window_width, height=window_height, title=title) # Create a paddle. self.paddle = GRect(paddle_width, paddle_height) self.window.add(self.paddle, (self.window.width - paddle_width) / 2, self.window.height - paddle_offset - paddle_height) self.paddle.filled = True self.paddle.fill_color = 'blue' self.paddle.color = 'blue' # Center a filled ball in the graphical window. self.ball = GOval(ball_radius * 2, ball_radius * 2) self.ball.filled = True self.reset_ball() # Default initial velocity for the ball. self.__dx = 0 self.__dy = 0 self.switch = False # Initialize our mouse listeners. onmouseclicked(self.game_start) onmousemoved(self.move_paddle) # Draw bricks. by = 0 for i in range(brick_rows): bx = 0 for j in range(brick_cols): self.brick = GRect(brick_width, brick_height) self.brick.filled = True if i < brick_cols / 5: self.brick.fill_color = 'red' elif brick_cols / 5 <= i < brick_cols / 5 * 2: self.brick.fill_color = 'orange' elif brick_cols / 5 * 2 <= i < brick_cols / 5 * 3: self.brick.fill_color = 'yellow' elif brick_cols / 5 * 3 <= i < brick_cols / 5 * 4: self.brick.fill_color = 'green' else: self.brick.fill_color = 'blue' self.window.add(self.brick, bx, brick_offset+by) bx += brick_width + brick_spacing by += brick_height + brick_spacing # scoreboard self.earned_score = 0 self.total_score = brick_cols * brick_rows self.scoreboard = GLabel(f'score: {self.earned_score}/{self.total_score}', x=10, y=30) self.scoreboard.font = 'courier-20' self.window.add(self.scoreboard)
def bouncing(m): global START_X, START_Y, VX, GRAVITY, DELAY, click, Time if Time > 0: # remove the ball at START_X and START_Y window.remove(ball) while click is True: # The ball will not be influenced by click as moving # creating the ball at the next moving place ball2 = GOval(SIZE, SIZE, x=START_X + VX, y=START_Y + GRAVITY) ball2.filled = True window.add(ball2) # the primary down speed gravity = 0 while True: # the process of moving click = False gravity = gravity + GRAVITY ball2.move(VX, gravity) if ball2.y >= window.height: gravity = -gravity gravity = gravity * REDUCE ball2.move(VX, gravity) pause(DELAY) if ball2.x > window.width: break # back to the primary place window.add(ball) # count the time Time -= 1 click = True
def __init__(self, window_width=WINDOW_WIDTH, window_height=WINDOW_HEIGHT, zone_width=ZONE_WIDTH, zone_height=ZONE_HEIGHT, ball_radius=BALL_RADIUS): # Create window self.window = GWindow(WINDOW_WIDTH, WINDOW_HEIGHT, title='ZONE_GAME') # Create zone self.zone = GRect(zone_width, zone_height, x=(self.window.width - zone_width) / 2, y=(self.window.height - zone_height) / 2) self.zone.color = 'blue' self.zone.filled = True self.zone.fill_color = "blue" self.window.add(self.zone) # Create ball and initialize velocity/position self.ball = GOval(BALL_RADIUS * 2, BALL_RADIUS * 2) self.ball.filled = True self.set_ball_position() self.ball.fill_color = 'black' self.window.add(self.ball) #speed self.dx_right = True self.dy_down = True
def __init__(self, window_width=WINDOW_WIDTH, window_height=WINDOW_HEIGHT, zone_width=ZONE_WIDTH, zone_height=ZONE_HEIGHT, ball_radius=BALL_RADIUS): # Create window self.w = GWindow(width=window_width, height=window_height, title='Zone_Game') # Create zone self.zone = GRect(zone_width, zone_height, x=(self.w.width-zone_width)/2, y=(self.w.height-zone_height)/2) self.zone.color = 'blue' self.w.add(self.zone) # Create ball and initialize velocity/position self.ball = GOval(ball_radius*2, ball_radius*2) self.ball.filled = True self.dx = 0 self.dy = 0 self.lives = 3 self.reset_ball() # Lives Word self.lives_word = GLabel('Lives: ' + str(self.lives), x=WINDOW_WIDTH * 0.02, y=WINDOW_HEIGHT * 0.1) self.lives_word.font = 'Courier-25-bold' self.w.add(self.lives_word) # Initialize mouse listeners onmouseclicked(self.handle_click)
def batman(): #batman legs left_leg = GRect(40, 100, x = 280, y = 775) obj_fill_color_add(left_leg, "gray") left_shoe = GPolygon() polygon_helper(left_shoe, "dimgrey", (280, 840), (280, 880), (330, 880), (320, 840)) right_leg = GRect(40, 100, x = 360, y = 775) obj_fill_color_add(right_leg, "gray") right_shoe = GPolygon() polygon_helper(right_shoe, "dimgrey", (360, 840), (360, 880), (410, 880), (400, 840)) #batman head bat_ear1 = GPolygon() polygon_helper(bat_ear1, "gray", (275, 450), (325, 450), (300, 375)) head = GOval(180, 220, x = 260, y = 400) obj_fill_color_add(head, "gray") bat_ear2 = GPolygon() polygon_helper(bat_ear2, "gray", (360, 450), (410, 450), (385, 375)) #batman appearance face = GArc(275, 330, 0, -90, 300, 450) obj_fill_color_add(face, "bisque") eye = GRect(30, 10, x = 400, y = 475) obj_fill_color_add(eye, "white") mouth = GLine(405, 575, 425, 575) obj_fill_color_add(mouth, "black") #batman body left_arm = GPolygon() polygon_helper(left_arm, "gray", (275, 600), (210, 650), (275, 720), (300, 720), (250, 655), (340, 600)) right_arm = GPolygon() polygon_helper(right_arm, "gray", (355, 600), (415, 650), (385, 720), (405, 720), (455, 650), (405, 600)) cape = GPolygon() polygon_helper(cape, "dimgrey", (280, 580), (250, 800), (450, 800), (380, 580))
def reset_ball(self): # Set the ball at the center of the graphical window self.ball = GOval(self.ball.width, self.ball.height, x=(self.window.width - self.ball.width) / 2, y=(self.window.height - self.ball.height) / 2) self.ball.filled = True self.window.add(self.ball)
def breed(self): """ This method create three circle and one rectangle to compose a cloud shape. Every time the cloud shape will be displayed in random position of window. """ dx = random.randint(10, window.width - 10) dy = random.randint(10, window.height - 10) rect = GRect(70, 30) rect.color = 'mintcream' rect.filled = True rect.fill_color = 'mintcream' self.list.append(rect) for i in range(3): circle = GOval(60, 60) circle.color = 'mintcream' circle.filled = True circle.fill_color = 'mintcream' self.list.append(circle) window.add(self.list[0], window.width + 45 + dx, 55 + dy) window.add(self.list[1], window.width + 10 + dx, 25 + dy) window.add(self.list[2], window.width + 45 + dx, 0 + dy) window.add(self.list[3], window.width + 80 + dx, 25 + dy)
def eiffel_tower_bottom(): """ This function will draw the eiffel tower's bottom on the canvas. """ bottom = GRect(398, 100, x=401, y=705) bottom.filled = True bottom.fill_color = 'gray' bottom.color = 'gray' window.add(bottom) for i in range(20): rect = GRect(90-(i*5), 10, x=401, y=700+i*5) rect.filled=True rect.fill_color = 'white' rect.color = 'white' window.add(rect) for i in range(20): rect = GRect(90-(i*5), 10, x=709+i*5, y=700+i*5) rect.filled = True rect.fill_color = 'white' rect.color = 'white' window.add(rect) arch = GOval(150, 150, x=523, y=730) arch.filled = True arch.fill_color = 'white' arch.color = 'white' window.add(arch)
def arch_triomphe_body(): """ This function will draw the body part of the Arch de Triomphe. """ body = GRect(280,280, x=860, y=520) body.filled = True body.fill_color = 'white' body.color = 'white' window.add(body) arch = GOval(170,290,x=915,y=610) arch.filled = True arch.fill_color = 'red' arch.color = 'red' window.add(arch) middle_line = GRect(280, 15, x=860, y=660) middle_line.filled = True middle_line.fill_color = 'red' middle_line.color = 'red' window.add(middle_line) upper_line = GRect(280, 15, x=860, y=600) upper_line.filled = True upper_line.fill_color = 'red' upper_line.color = 'red' window.add(upper_line) top_line = GRect(280, 20, x=860, y=550) top_line.filled = True top_line.fill_color = 'red' top_line.color = 'red' window.add(top_line)
def __init__(self, ball_radius=BALL_RADIUS, paddle_width=PADDLE_WIDTH, paddle_height=PADDLE_HEIGHT, paddle_offset=PADDLE_OFFSET, brick_rows=BRICK_ROWS, brick_cols=BRICK_COLS, brick_width=BRICK_WIDTH, brick_height=BRICK_HEIGHT, brick_offset=BRICK_OFFSET, brick_spacing=BRICK_SPACING, title='Breakout'): # Create a graphical window, with some extra space. window_width = brick_cols * (brick_width + brick_spacing) - brick_spacing window_height = brick_offset + 3 * (brick_rows * (brick_height + brick_spacing) - brick_spacing) self.window = GWindow(width=window_width, height=window_height, title='breakout') # make a ball that is black self.ball = GOval(ball_radius, ball_radius) self.ball.filled = True self.ball.fill_color = 'black' self.reset_ball() self.brick_height = BRICK_HEIGHT self.brick_rows = BRICK_ROWS self.brick_spacing = BRICK_SPACING self.brick_cols = BRICK_COLS
def bounce(m): global n, V, time, end if (time < 3) and (end == 0): window.clear() end = 1 X = START_X Y = START_Y ball = GOval(SIZE, SIZE) ball.filled = True window.add(ball, X, Y) while X < 800: while Y < 500: n += 1 pause(DELAY) window.clear() window.add(ball, X, Y) pause(DELAY) X = X + VX V = GRAVITY * n Y = Y + V V = V * 0.9 n = 0 while V > 0: n += 0.1 X = X + VX V = V - GRAVITY * n Y = Y - V pause(DELAY) window.clear() window.add(ball, X, Y) pause(DELAY) window.add(ball, START_X, START_Y) time += 1 end = 0
def activate(event): if mouse_lock == 0: ball_bouncing() else: nothing = GOval(5, 5) nothing.color = 'white' window.add(nothing, event.x, event.y)