python代码雨屏保_python写的屏保程序
__author__ = 'ChenYan'
from random importrandintfrom tkinter import *
classRandball():def __init__(self, canvas, scrnwidth, scrnheight):#初始化画布
self.canvas =canvas#初始化球的圆心坐标
self.x_pos = randint(80, int(scrnwidth))
self.y_pos= randint(80, int(scrnheight))#球移动的距离
self.x_move = 10self.y_move= 10
#整个屏幕的宽和高
self.scrnwidth =scrnwidth
self.scrnheight=scrnheight#初始化球的半径
self.radius = randint(40, 70)#随机产生球的颜色
rc = lambda :randint(0,255)
self.color= '#%02x%02x%02x' %(rc(), rc(), rc())defcreate_ball(self):#计算得到用于创建球的四个坐标
x1 = self.x_pos -self.radius
y1= self.x_pos -self.radius
x2= self.x_pos +self.radius
y2= self.x_pos +self.radius#画球
self.item = self.canvas.create_oval(x1, y1, x2, y2, fill=self.color, outline=self.color)defmove_ball(self):'''按指定的距离移动球,如果球碰到障碍向相反的方向移动'''self.x_pos+=self.x_move
self.y_pos+=self.y_moveif self.x_pos >= self.scrnwidth -self.radius:
self.x_move= -self.x_moveif self.y_pos >= self.scrnheight -self.radius:
self.y_move= -self.y_moveif self.x_pos
self.x_move=abs(self.x_move)if self.y_pos
self.y_move=abs(self.y_move)
self.canvas.move(self.item, self.x_move, self.y_move)classScreensaver():
balls=[]def __init__(self, ball_nums):
self.win=Tk()
self.width=self.win.winfo_screenwidth()
self.height=self.win.winfo_screenheight()
self.win.overrideredirect(True)
self.win.attributes('-alpha', 0.3)#绑定事件,有任何动作退出屏保
self.win.bind('', self.exit_screensaver)
self.win.bind('', self.exit_screensaver)
self.canvas= Canvas(self.win, width=self.width, height=self.height, bg='#00FFFF')
self.canvas.pack()for i inrange(0,ball_nums):
ball= Randball(self.canvas, scrnwidth=self.width, scrnheight=self.height)
ball.create_ball()
self.balls.append(ball)
self.run_screensaver()
self.win.mainloop()defrun_screensaver(self):for ball inself.balls:
ball.move_ball()
self.canvas.after(20, self.run_screensaver)defexit_screensaver(self, event):
self.win.destroy()defmain():
Screensaver(15)if __name__=='__main__':
main()
python代码雨屏保_python写的屏保程序相关推荐
- python什么字体好看_七个不一样的Python代码写法,让你写出一手漂亮的代码
原标题:七个不一样的Python代码写法,让你写出一手漂亮的代码 Python语言这么火,有很多同学是从其他语言转行过来的(比如c++,java语言),多多少少写代码的时候也会受其他语言的影响!而对于 ...
- 弹球游戏python代码含记分模式_python编写弹球游戏的实现代码
用Blender制作一个兵乓球小游戏,要编写Python代码需要安装pygame 包没有面对困难的勇气,也就没有享受快乐的权利. python 怎么写双人弹球游戏最难过的事不是别人又得罪你了,而是你自 ...
- 图书管理系统python代码课程设计报告_python代码实现图书管理系统
本文实例为大家分享了python代码实现图书管理系统的具体代码,供大家参考,具体内容如下 图书管理系统 功能简介 添加图书时,图书ID不能重复,图书名可重复 删除,查询,修改功能,输入图书名之后提供所 ...
- python写用用户名密码程序_python写用’户登录程序‘的过程
作业需求: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序 ...
- python日历小程序_python写的日历小程序
查看: 14785|回复: 262 [作品展示] python写的日历小程序 电梯直达 发表于 2013-8-19 21:38:32 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结交更多好友,享 ...
- python网络爬虫程序_Python写的网络爬虫程序(很简单)
Python写的网络爬虫程序(很简单) 这是我的一位同学传给我的一个小的网页爬虫程序,觉得挺有意思的,和大家分享一下.不过有一点需要注意,要用python2.3,如果用python3.4会有些问题出现 ...
- python代码缩进和冒号_Python缩进和冒号详解
对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空白数量是可变的,但是所有代码块 ...
- python清屏失败_python idle 清屏问题的解决
在学习和使用python的过程中,少不了要与python idle打交道.但使用python idle都会遇到一个常见而又懊恼的问题--要怎么清屏? 我在stackoverflow看到这样两种答案: ...
- python输入10个整数_python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。...
python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明. 重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则 ...
最新文章
- iphone怎么投屏到电脑_手机怎么投屏到电脑?这几步轻松学会
- 【杂谈】有三AI季划成员的4大专属权益,你是否已经利用好了?
- 【全真互联网下音视频通信技术演进】
- 「递归」第7集 | 腾讯开源联盟出征!
- 【转】Xcode 7 真机调试详细步骤
- 神经网络中的优化算法总结
- computed用发_Vue中的computed属性和nextTick方法
- web3j通过命令行工具新建钱包、更新钱包密码及转账
- 使用layui遇到的一些问题及解决方案
- 数据结构实现时所需的成员变量、标准对外接口
- 【个人笔记】OpenCV4 C++ 快速入门 17课
- 太阳电池板特性实验_太阳电池伏安特性的测量
- 安全卸载Mac应用程序的方法,最后一种不会产生卸载残留
- iota golang
- 2022暑假牛客多校1 (A/G/D/I)
- HDU5128 The E-pang Palace
- 文件宝局域网传输/播放功能Windows10系统经验贴(感谢文件宝用户@卡卡罗特 和@24K 純情)...
- 不平凡的一年 2013
- maven系列(二)——maven应用分析
- 【教程】超详细通过Shizuku转生微信集成WeXposed实现防撤回与红包
热门文章
- balance_dirty_pages_ratelimited分析
- Corejava知识点
- 计算机不工作时硬盘自动响,解决双硬盘计算机硬盘频繁启停(发出声响)的问题...
- 拼多多用户数7.88亿成为中国电商第一
- Python--Matplotlib简单了解
- 适合户外旅游休闲的手表有哪些
- pic单片机ccp脉冲捕捉c语言程序,PIC18F的CCP模块的捕捉模式实现电机测速的方法...
- IE10及以下的浏览器用不了js中的let
- Eclipse中解决.svg文件报错的问题
- 使用VScode进行C/C++多文件进行编译,调试,运行小结(CMake版)