python-打气球
目标效果:
随即上升不同颜色的气球,点击气球会消失
代码:
##############引用数据库与函数##############
from turtle import *
from random import randrange,choice##############定义变量##############
balloons=[] #气球队列
color_option=["red","blue","green","purple","pink","yellow","orange","black"] #颜色队列
size=50 #气球大小##############定义函数##############
def line(x,y,a,b,line_width=1,color_name="black"): #默认气球线宽度为1,颜色为黑up()goto(x,y)down()color(color_name)width(line_width)goto(a,b)
def distance(x,y,a,b):return ((a-x)**2+(b-y)**2)**0.5 #根据勾股定理,判断鼠标点击位置和气球坐标的距离
def tap(x,y):for i in range(len(balloons)):if distance(x,y,balloons[i][0],balloons[i][1])<(size/2): #判断是否点击气球队列中的其中一个balloons.pop(i) #删除这个气球return #返回,因为只能同时点击一个气球
def draw():clear() #清除画布for i in range(1,(len(balloons)+1)): #生成下标从1开始,以下-i表示画气球时倒着画,从最后一个画到最前边line(balloons[-i][0],balloons[-i][1],balloons[-i][0],balloons[-i][1]-size*1.5,1)up() #把小乌龟从画布上拿下来,悬在空中goto(balloons[-i][0],balloons[-i][1]) #去气球坐标这个位置dot(size,balloons[-i][2]) #画原点,参数为大小和颜色balloons[-i][1]=balloons[-i][1]+1 #改变纵坐标,模仿气球上升update() #修改画布
def gameLoop():if randrange(0,50)==1: #1/50的概率生成一个气球x=randrange(-200+size,200-size) #气球坐标,在边框位置减去气球大小c=choice(color_option) #随机在颜色队列选择一个颜色balloons.append([x,-200-size,c]) #添加气球队列draw()ontimer(gameLoop,10) #每20毫秒循环一次
##############主程序##############
setup(420,420,0,0) #画布大小为420*420,一开始坐标为(0,0)
hideturtle() #隐藏小乌龟
tracer(False) #隐藏绘制过程
listen()
onscreenclick(tap) #如果单机,调用tap方法
gameLoop()
done() #结束函数,画布停留
python-打气球相关推荐
- python打气球小游戏(一)
欢迎加入我们卧虎藏龙的python讨论qq群:729683466 导 语 上期 给大家讲了一个<推箱子>游戏 这是是正宗的pygame模块开发的 这一期 给大家介绍一个非常好玩的模块tu ...
- 用python画气球_452. 用最小的数量引爆气球(Python)
题目 难度:★★☆☆☆ 类型:数组 方法:贪心算法 力扣链接请移步本题传送门 更多力扣中等题的解决方案请移步力扣中等题目录 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径 ...
- python画气球_python windows下显示托盘区气球消息
有一个小需求希望在wx下建立的托盘区图标上显示气球消息,很尴尬的是wx.TaskBarIcon不像wx.Window等有GetHandle方法,无法直接获得句柄.解决的办法1.自己重写TaskBarI ...
- python画气球_micro:bit + LoRa 实现气球追踪
MAKER:Dave Akerman/译:趣无尽 Cherry(转载请注明出处) 虽说 micro:bit 的基本功能相对树莓派等开发板来说并不算丰富,但它的处理器有足够多的闪存和 RAM 来实现一个 ...
- python画气球_我们的视频 Python 打方气球~
我们的视频 Python打方气球~~~~~ QQ:1981255347 比心 关注我 import random import time score = 0 nums = 10 size = 50 b ...
- Python五彩气球
文章目录 前言 Turtle基础 1.1 Turtle画板 1.2 Turtle画笔 1.3 Turtle画图 1.4 Turtle填色 1.5 Turtle写字 五彩气球 气球类 漂浮函数 气球函数 ...
- python画气球_python实现不同颜色气球隔开摆放,并且提示不能摆放的情况
#第一步将气球按颜色分组,汇总#第二部,遍历每一个字典的KEY取一个值,也就是将VALUE减一.#直到只剩下一个key的值大于0时,判断这个剩下的的key中的值是否大于1,如果大于抛出异常 dict= ...
- 用python画气球循环画图_Python 利用循环画散点图
原博文 2018-12-10 11:53 − 1 import pandas as pd 2 data = pd.read_csv('D:/suning/iris.csv') 3 data = dat ...
- python画气球_戳气球(python)
问题描述* 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.如果你戳破气球 i ,就可以获得 nums[left] * nu ...
- 用python画气球程序_LeetCode-python 312.戳气球
题目链接 难度: 困难 类型:分治 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.每当你戳破一个气球 i 时, ...
最新文章
- 推荐一个学习golang的地址
- 【C language】函数指针
- java 打印 排序 数字塔_求助,用循环方法输出以下数字塔
- 再见IE浏览器(IE之死2021 年 8 月 17 日)
- java基础案例教程前4章知识点_java学习记录4 Java基础知识点
- jQuery操作Form表单元素
- 非标准的CAN波特率计算
- CodeMirror实现代码对比功能
- matlab程序 直线插补,用Matlab实现直线插补计算程序
- ASP.NET Core 引用其他程序集项目里面的 Controller 控制器
- 基于Babylon.js编写宇宙飞船模拟程序1——程序基础结构、物理引擎使用、三维罗盘
- 个人微信淘宝客返利机器人搭建教程
- 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK等)以及全角、半角、CJK
- 大数据治理包括哪几个方面
- 不断奔跑,却忘了来时的路
- 学生选课系统功能分析
- 在平板电脑与移动3G大爆炸的时代,昔日霸主微软的反击
- Dism解决win 10访问服务器共享问题,共享需要过时的SMB1协议,安装时错误代码:0x800736B3
- 固网服务器win7系统驱动,固网HU-1608n驱动
- Win10 家庭版 升级至 专业版