コード例 #1
0
ファイル: my_drawing.py プロジェクト: rahlin1004/sc-projects
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)
コード例 #2
0
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)
コード例 #3
0
ファイル: my_drawing.py プロジェクト: freeloop17/sc-projects
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)
コード例 #4
0
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)
コード例 #5
0
ファイル: my_drawing.py プロジェクト: a546662002/SC-projects
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)
コード例 #6
0
ファイル: my_drawing.py プロジェクト: ifanchang/stancode_101
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"
コード例 #7
0
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)
コード例 #8
0
ファイル: my_drawing.py プロジェクト: yudy4431/SC-projects
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)
コード例 #9
0
ファイル: my_drawing.py プロジェクト: yudy4431/SC-projects
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)
コード例 #10
0
ファイル: my_drawing.py プロジェクト: yudy4431/SC-projects
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)
コード例 #11
0
ファイル: my_drawing.py プロジェクト: yudy4431/SC-projects
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)
コード例 #12
0
ファイル: my_drawing.py プロジェクト: yudy4431/SC-projects
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)
コード例 #13
0
ファイル: my_drawing.py プロジェクト: yudy4431/SC-projects
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)
コード例 #14
0
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)
コード例 #15
0
 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
コード例 #16
0
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)
コード例 #17
0
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)
コード例 #18
0
ファイル: my_drawing.py プロジェクト: shihjames/sc-projects
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)
コード例 #19
0
    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)
コード例 #20
0
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
コード例 #21
0
 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
コード例 #22
0
    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)
コード例 #23
0
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))
コード例 #24
0
 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)
コード例 #25
0
ファイル: my_drawing.py プロジェクト: hongweihsu/sc-projects-
    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)
コード例 #26
0
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)
コード例 #27
0
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)
コード例 #28
0
    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
コード例 #29
0
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
コード例 #30
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)