目标效果:

随即上升不同颜色的气球,点击气球会消失

代码:

##############引用数据库与函数##############
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-打气球相关推荐

  1. python打气球小游戏(一)

    欢迎加入我们卧虎藏龙的python讨论qq群:729683466 导  语 上期 给大家讲了一个<推箱子>游戏 这是是正宗的pygame模块开发的 这一期 给大家介绍一个非常好玩的模块tu ...

  2. 用python画气球_452. 用最小的数量引爆气球(Python)

    题目 难度:★★☆☆☆ 类型:数组 方法:贪心算法 力扣链接请移步本题传送门 更多力扣中等题的解决方案请移步力扣中等题目录 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径 ...

  3. python画气球_python windows下显示托盘区气球消息

    有一个小需求希望在wx下建立的托盘区图标上显示气球消息,很尴尬的是wx.TaskBarIcon不像wx.Window等有GetHandle方法,无法直接获得句柄.解决的办法1.自己重写TaskBarI ...

  4. python画气球_micro:bit + LoRa 实现气球追踪

    MAKER:Dave Akerman/译:趣无尽 Cherry(转载请注明出处) 虽说 micro:bit 的基本功能相对树莓派等开发板来说并不算丰富,但它的处理器有足够多的闪存和 RAM 来实现一个 ...

  5. python画气球_我们的视频 Python 打方气球~

    我们的视频 Python打方气球~~~~~ QQ:1981255347 比心 关注我 import random import time score = 0 nums = 10 size = 50 b ...

  6. Python五彩气球

    文章目录 前言 Turtle基础 1.1 Turtle画板 1.2 Turtle画笔 1.3 Turtle画图 1.4 Turtle填色 1.5 Turtle写字 五彩气球 气球类 漂浮函数 气球函数 ...

  7. python画气球_python实现不同颜色气球隔开摆放,并且提示不能摆放的情况

    #第一步将气球按颜色分组,汇总#第二部,遍历每一个字典的KEY取一个值,也就是将VALUE减一.#直到只剩下一个key的值大于0时,判断这个剩下的的key中的值是否大于1,如果大于抛出异常 dict= ...

  8. 用python画气球循环画图_Python 利用循环画散点图

    原博文 2018-12-10 11:53 − 1 import pandas as pd 2 data = pd.read_csv('D:/suning/iris.csv') 3 data = dat ...

  9. python画气球_戳气球(python)

    问题描述* 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.如果你戳破气球 i ,就可以获得 nums[left] * nu ...

  10. 用python画气球程序_LeetCode-python 312.戳气球

    题目链接 难度: 困难       类型:分治 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.每当你戳破一个气球 i 时, ...

最新文章

  1. 推荐一个学习golang的地址
  2. 【C language】函数指针
  3. java 打印 排序 数字塔_求助,用循环方法输出以下数字塔
  4. 再见IE浏览器(IE之死2021 年 8 月 17 日)
  5. java基础案例教程前4章知识点_java学习记录4 Java基础知识点
  6. jQuery操作Form表单元素
  7. 非标准的CAN波特率计算
  8. CodeMirror实现代码对比功能
  9. matlab程序 直线插补,用Matlab实现直线插补计算程序
  10. ASP.NET Core 引用其他程序集项目里面的 Controller 控制器
  11. 基于Babylon.js编写宇宙飞船模拟程序1——程序基础结构、物理引擎使用、三维罗盘
  12. 个人微信淘宝客返利机器人搭建教程
  13. 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK等)以及全角、半角、CJK
  14. 大数据治理包括哪几个方面
  15. 不断奔跑,却忘了来时的路
  16. 学生选课系统功能分析
  17. 在平板电脑与移动3G大爆炸的时代,昔日霸主微软的反击
  18. Dism解决win 10访问服务器共享问题,共享需要过时的SMB1协议,安装时错误代码:0x800736B3
  19. 固网服务器win7系统驱动,固网HU-1608n驱动
  20. Win10 家庭版 升级至 专业版

热门文章

  1. 学习xpath解析用的代码
  2. c语言数组中插入新数据
  3. 2013 province java c-2 组素数
  4. luogu P2762 太空飞行计划问题(最大权闭合图)
  5. 显示器预算有限,是买1080P 144HZ还是买2K 60HZ?
  6. 科普系列—低速容错CAN的容错机制介绍
  7. 制定新的计划,走起(r13笔记第1天)
  8. mysql数据库进阶书_mysql数据库进阶篇
  9. 我的Java开发学习之旅------Java资源的国际化详解
  10. MySQL排名问题详解