(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小球弹弹弹设计初衷_python小球弹弹2相关推荐

  1. python实现通讯录功能课程设计报告_Python实现通讯录功能

    说实话,第一次写这么长的Python代码,期间遇到了很多问题,但是,最终还是完成了,花了我一天半的时间. 该程序实现了用户的增,删,改,查,主要用到sqlite3模块.对于该模块的知识点,请查看我的另 ...

  2. 弹载计算机的上市公司,基于无线通信的弹载计算机系统BIT设计

    摘要: 机内测试,简称BIT(Built-In-Test),是提高电路系统可测试性进而提高系统工作可靠性减少系统维护费用的关键技术.它通过附加在系统内的软件和硬件对系统进行故障检测. 当今世界形势和现 ...

  3. ART-PI调试记录---重力感应无线智能小车第一弹之扩展板设计

    ART-PI重力感应无线智能小车第一弹-----ART-PI扩展板设计 雷德斯 and枕头们,小飞哥又又叒好久没更新文章啦,最近实在是太忙啦,大家久等啦,这次是系列文章,一步步教你如何在ART-PI上 ...

  4. 2019最佳弹窗/弹出框设计20例【附教程】

    弹窗/弹出框是APP或者网站与用户交互常见的方式之一.不同的网页弹窗和App弹框适用于不用的场景,弹窗的设计直接影响用户体验.不知道如何提高弹出框的用户体验设计? 小编从优质网站精心挑选了20例弹窗/ ...

  5. 非静默授权没有弹出弹框_网易考拉Android统一弹框

    作者:钱成杰 链接:https://blog.csdn.net/jessicaiu/article/details/82739334 背景 在快速开发的背景下,经历了n个版本后的考拉Android A ...

  6. php layui弹出修改功能,非常好用的弹出层 layer,常用功能demo,快速上手!

    功能强大,实用,操作方便,文档齐全. 参数灵活,丰富.可以作为开发项目的公共模块,多处使用. 老文档地址:http://layer.layui.com/api.html 已经停止维护 常用功能代码de ...

  7. html app从上向下弹框,移动端从底部向上过渡弹出弹框

    第一种方法: 把弹框固定在底部,通过过渡弹框高度来实现.下面是完整demo,可复制. 移动从底部向上滑动弹出 .clickBtn{height: 40px;} .clickBtn button{flo ...

  8. 解决uni-app官方弹框popup关闭不了问题;/pages/extUI/popup/popup;uni-app弹框popup打开调用事件。unin-app弹框封装;

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210716165216781.png?x-oss-process=image/watermark,type_Zm ...

  9. element-UI 弹出组件dialog的遮罩层在弹出层的上面 - 解决篇

    element-UI 弹出组件的遮罩层在弹出层dialog模态框的上面? bug演示: 代码逻辑调整之后,页面就正常了(代码和效果图 · 见下文): 解决办法: 将dialog组件剪贴到最父级div元 ...

最新文章

  1. 理解Underscore中的uniq函数
  2. 数据库主键设计之思考
  3. OC画笔CGContextRef
  4. split、replace、indexof、substr 用法 (获取后台富文本框内容,截取图片)
  5. 15个SaaS问答(图文并茂版)
  6. java jws-_为JWS应用程序启动指定JRE位置
  7. Android开发笔记(一百六十四)仿京东首页的下拉刷新
  8. 20 万台 QQ 服务器全面上云!
  9. 如何查看Windows7系统版本
  10. VUE颜色选择器插件vColorPicker
  11. 开发类似vs的界面_C#会不会成为移动开发最便捷的语言?
  12. java 环境变量配置
  13. python爬虫爬取快手视频多线程下载功能【fd的使用】
  14. 网络安全篇 全局ACL与URPF-12
  15. wkhtmltox使用(html转pdf或图片)
  16. Android实现侧滑recycleView+CardVeiw卡片阴影效果
  17. c语言数据文件是,C语言数据文件操作.ppt
  18. 用c#开发Android应用(二)——运行Hello World!
  19. 学生逃课问题的系统分析
  20. 端午节餐厅公众号推文就用来逗微信编辑器

热门文章

  1. AAAI 2023| 旷视研究院入选论文亮点解读
  2. #x开头的是什么编码呢。浏览器可以解释它。如#20013;#22269;等同与中文中国?...
  3. 【OTT】腾讯视频TV端商业模式
  4. IOS开发笔记之常用库索引
  5. 网站被攻击怎么处理 phpstudy存在后门漏洞
  6. 如何用Stata完成(shui)一篇经济学论文(十五):平行性趋势检验与安慰剂检验
  7. 五十一 温柔一刀(上)我在软件园的那些日子里
  8. Lua调用外部脚本_艾孜尔江撰
  9. fedora22 下安装在线音乐播放器 kwplayer
  10. 安卓手机4G/5G网络数据流量(非WiFi)设置加密DNS