美文网首页
2018-07-30day-11作业

2018-07-30day-11作业

作者: BIGBOSS_93d6 | 来源:发表于2018-07-31 10:27 被阅读0次

创建多个球

import pygame
import random
import math
from random import randint
random_color = randint(0, 255), randint(0, 255), randint(0, 255)

if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((600, 400))
    screen.fill((255, 255, 255))
    pygame.display.flip()

    # all_balls中保存多个球
    # 每个球要保存:半径、圆心坐标、颜色、x速度、y速度
    all_balls = [
        {
            'r': randint(10, 20),
            'pos': (100, 100),
            'color':random_color,
            'x_speed': randint(-3, 3),
            'y_speed': randint(-3, 3),
        },
        {
            'r': randint(10, 20),
            'pos': (300, 300),
            'color': random_color,
            'x_speed': randint(-3, 3),
            'y_speed': randint(-3, 3),
        }
    ]

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()

            if event.type == pygame.MOUSEBUTTONDOWN:
                # 点一下鼠标创建一个球
                ball = {
                        'r': randint(10, 25),
                        'pos': event.pos,
                        'color': (randint(0,255),randint(0,255),randint(0,255)),
                        'x_speed': randint(-3, 3),
                        'y_speed': randint(-3, 3)
                    }
                # 保存球
                all_balls.append(ball)



        # 刷新界面
        screen.fill((255, 255, 255))

        for ball_dict in all_balls:
            # 取出球原来的x坐标和y坐标以及他们的速度
            x, y = ball_dict['pos']

            if x+ball_dict['r']>=600 or  x-ball_dict['r']<=0:
                # x=600-ball_dict['r']
                ball_dict['x_speed']*=-1
            # if x-ball_dict['r']<=0:
            #     x=0+ball_dict['r']
            #     x_speed*=-1
            if y+ball_dict['r']>=400 or y-ball_dict['r']<=0:
                # y=400-ball_dict['r']
                ball_dict['y_speed']*=-1
            # if y-ball_dict['r']<=0:
            #     y=0+ball_dict['r']
            #     y_speed*=-1
            x_speed = ball_dict['x_speed']
            y_speed = ball_dict['y_speed']
            x += x_speed
            y += y_speed
            pygame.draw.circle(screen, ball_dict['color'], (x, y), ball_dict['r'])
            # 更新球对应的坐标
            ball_dict['pos'] = x, y


        pygame.display.update()
        pygame.time.delay(10)

相关文章

  • 2018-07-30day-11作业

    创建多个球

  • 2018-07-30day-11

    一、鼠标和键盘的pygame事件 QUIT:关闭按钮被点击事件MOUSEBUTTONDOWN: 鼠标按下事件MOU...

  • 今天先不更

    补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业...

  • 作业作业作业

    出外听课两天,小必的学习没过问。 早晨,小必的数学作业没完成,很多没完成:优化设计,数学书,小灵通,都没完成。 中...

  • 作业作业作业

    头疼的厉害,太阳穴绷得紧紧的。躺了一个多小时了,也不见好转。每当这个时候,一场大觉就能让我彻底放松。可是心不静,怎...

  • 作业作业作业

    1,我的作业 写好了文章,倒也没发的欲望,这是我的作业,作业。 只是想着把一切都准备好,明天再发。听说发文很多O推...

  • 作业作业作业

    @所有人 各位家长:学生对待作业的态度就是对待学习的态度。态度决定一切!老师们在检查作业过程中发现有不写的、有偷工...

  • 11-17

    作业1: 作业2: 作业3: 作业4: 作业5: 作业6: 作业7: 作业8: 作业9: 作业10: 作业11: ...

  • 11月17

    作业1 作业2 作业3 作业4 作业五 作业6 作业7 作业8 作业9 作业10 作业11 思考

  • 11.17

    作业1 作业2 作业3 作业4 作业5 作业6 作业7 作业8 作业9 作业10 作业11 思考

网友评论

      本文标题:2018-07-30day-11作业

      本文链接:https://www.haomeiwen.com/subject/tjucvftx.html