day11 作业

一个打球吃小球的游戏


from math import sqrt
import  pygame
import  random
def r_c():
    return random.randint(0,255),random.randint(0,255),random.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 = []






    while True:
        pygame.time.delay(25)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
            if event.type ==pygame.MOUSEBUTTONDOWN:
                ball ={
                    'r': random.randint(10, 25),
                    'pos': event.pos,
                    'color': r_c(),
                    'x_speed': random.randint(-3, 3),
                    'y_speed': random.randint(-3, 3)
                }
                all_balls.append(ball)

        screen.fill((255,255,255))
        for ball_dict in all_balls:
            x , y = ball_dict["pos"]
            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


        for ball_dict in all_balls:
            x, y = ball_dict["pos"]
            x_speed = ball_dict["x_speed"]
            y_speed = ball_dict["y_speed"]
            y += y_speed
            x+= x_speed
            if x + ball_dict["r"] >= 600 or x -ball_dict["r"]<0:
                x_speed *= -1
            if y + ball_dict["r"]>=400 or y -ball_dict["r"]<0:
                y_speed *= -1
            for index1 in all_balls:
                for index2 in all_balls:
                    if index1 == index2:
                        continue
                    else:
                        x1 ,y1 = index1[]

            pygame.draw.circle(screen, ball_dict['color'], (x, y), ball_dict['r'])
            ball_dict['pos'] = x, y
            ball_dict['x_speed'] = x_speed
            ball_dict['y_speed'] = y_speed


        pygame.display.update()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容