python小球弹弹2

作者: 猛犸象和剑齿虎 | 来源:发表于2019-03-29 12:33 被阅读21次

    (python漂亮的代码结构一粘到简书就花了)

    在自学python的坑中,不知不觉有三个月了,最近总算有点感觉了。

    我从vba语言入门,vba语言虽然也是面对对象语言,但需要自己定义类的情况并不多,对象大多是固定的,只需要用面向过程的思想(顺序,逐步执行,循环判断的分支都能按照本身的流程找到)调用即可。

    而在学习面向对象过程中,其中一个坎就是如何凭空制作一个类,怎样定义属性和方法,在没有具体的实参和方法的情况下,总觉得难以处理。

    期间做了个将excel数据自动填入erp系统的小程序,还是有点小得意的(总算跨越了只会用excel表格的限制),虽然是简单的应用,但至少没学python前是无法想象的,同样也觉得前路漫漫,不知道多久才能熟练并做出一些更为实用的项目。


    __author__ = 'Administrator'

    import pygame,sys

    from random import *

    class Myballclass(pygame.sprite.Sprite):

     def __init__(self,image_file,location,speed):

       pygame.sprite.Sprite. __init__(self)#继承的一种方式

       self.image=pygame.image.load(image_file)

       self.rect=self.image.get_rect()

       self.rect.left,self.rect.top=location

       self.speed=speed

     #定义方法

     def move(self):

       self.rect=self.rect.move(self.speed)

       if self.rect.left<0 or self.rect.right>width:

         self.speed[0]=-self.speed[0]

       if self.rect.top<0 or self.rect.bottom>height:

         self.speed[1]=-self.speed[1]

    def animate(group):

     screen.fill([250,250,250])

     for ball in group:

       ball.move()

     for ball in group:

       group.remove(ball)

       if pygame.sprite.spritecollide(ball,group,False):

         ball.speed[0]=-ball.speed[0]

         ball.speed[1]=-ball.speed[1]

       group.add(ball)

       screen.blit(ball.image,ball.rect)

     pygame.display.flip()

     pygame.time.delay(20)

    size=width,height=640,480

    screen=pygame.display.set_mode(size)

    screen.fill([250,250,250])

    group=pygame.sprite.Group()

    image_file='beach_ball.bmp'

    for row in range(0,3):

     for column in range(0,3):

       location=[column*180+10,row*180+10]

       speed=[choice([-2,2]),choice([-2,2])]

       ball=Myballclass(image_file,location,speed)

       group.add(ball)

    while True:

     for event in pygame.event.get():

       if event.type==pygame.QUIT:

         sys.exit()

     animate(group)

    相关文章

      网友评论

        本文标题:python小球弹弹2

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