day-11

作者: FansYuercero | 来源:发表于2018-07-31 20:45 被阅读0次

大球吃小球

import pygame
import random
from math import sqrt
def rand_color():
    return  random.randint(0,255),random.randint(0,255),random.randint(0,255)

def crash(item1,item2):
    item1x,item1y = item1['pos']
    item2x,item2y = item2['pos']
    dx = item2x- item1x
    dy = item2y - item1y
    dist = int(sqrt(dx*dx+dy*dy))
    if dist<item1['r']+item2['r']:
        if item2['r']>item1['r']:
            item2['r']+=1
            if item1 in all_balls[:]:
                all_balls.remove(item1)
        else:
            item1['r']+=1
            if item2 in all_balls[:]:
                all_balls.remove(item2)

if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((600,600))
    screen.fill((123,123,20))
    pygame.display.flip()
    all_balls = []



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

                ball ={
                    'r':random.randint(5,15),
                    'color':rand_color(),
                    'pos':event.pos,
                    'x_speed':random.randint(-3,3),
                    'y_speed':random.randint(-3,3)
                }
                all_balls.append(ball)
        screen.fill((123, 123, 20))
        for ball in all_balls:

            # pygame.time.wait(2)
            x,y = ball['pos']
            x+=ball['x_speed']
            y+=ball['y_speed']
            if x + ball['r'] >= 600 or x -ball['r'] <= 0:
                ball['x_speed'] *= -1
            if y + ball['r'] >= 600 or y - ball['r'] <= 0:
                ball['y_speed']*= -1

            ball['pos'] = x,y
            pygame.draw.circle(screen,ball['color'],(x,y),ball['r'])
        pygame.display.update()
        index = len(all_balls)
        for item1 in all_balls:
            for item2 in all_balls:
                if item1!=item2:
                    crash(item1,item2)

相关文章

  • Day11―(写字打卡)簪花小楷〈3〉

    DAY-11

  • Day 11

    Day-11补充阅读 Clean energy’s dirty secret Wind and solar pow...

  • day-11

    大球吃小球

  • DAY-11

  • Day-11

    辛辛苦苦从京东上买得蓝贝喷鼻液又跑出去拿货,结果人家不肯喷,还让我喷,好么,合着给我治疗了,我倒觉得去平遥的时候应...

  • day-11总结

    1.什么是生成式格式1: - 结果是一个生产器(迭代器)(表达式 for 变量 in 序列) --> 展开:def...

  • Python day-11

    嚇死寶寶了,前天好不容易把Scrapy環境搭建起來,寫了第一個框架爬蟲,結果,結果 FUCK 訪問網站幾萬次,直接...

  • 日更43/100:你善于管理混乱的局势吗?

    你善于管理混乱的局势吗? ——精听《刘润·商业洞察力30讲》&精读《系统之美》DAY-11 《系统之美——决策者的...

  • DAY-11  你好,华盛顿。

    “悄悄,是别离的笙箫。”一大清早,就在睡意和寒冷的折磨下,踏上了去往华盛顿的旅程。 穿梭在纽约的街道中...

  • 快书速读:《当下的力量(上)》

    【大螺丝】打卡 | 快书速读 Day-11 书的上半部分最核心的一句总结 人痛苦的根源是思维和时间,我们受控于思维...

网友评论

      本文标题:day-11

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