processing-python-泡泡龙

挂一个无耻搬运工:码农教程。
真的打心底里瞧不起为了蹭热度全网照抄代码的某些人。
再次此声明:代码不是python语言,求某些搬运工不要到处搬运害人。

processing-python-泡泡龙

def setup():size(600,600)global x, y, vx, vy, bx, by, curBall, aliveBallglobal COLOR, c, bc#球需要有速度,位置,颜色三个属性#对应x,y坐标、x,y速度、c#上方球由于固定,可以只有位置和颜色属性#对应bx,by和bcx, y = width/2, height-15#初始化球在中下位置,速度为0,颜色随机给一个vx, vy = 0, 0bx, by = [], []curBall = []aliveBall = []COLOR = [color(227,41,54),color(41,188,227),color(41,227,48),color(250,239,13)]#COLOR颜色列表,c和bc表示列表中的第几个颜色,而不是直接表示颜色c = int(random(len(COLOR)))bc = []for i in range(20):for j in range(10):bx.append(i*30)by.append( j*30)curBall.append(len(curBall))#显示的球aliveBall.append(len(aliveBall))#活着的球bc.append(int(random(len(COLOR))))#死了的球def draw():global x, y, vx, vy, bx, by, curBall, aliveBallglobal COLOR, c, bcbackground(255)def findDead(i):d = [i]#打中了第i号球,d[]记录接下来找到的应该死掉的球def tmp(i):for j in curBall:#找和i相邻且同色的球,#首先排除掉已经找到的球,然后需要颜色编号相同,其次需要距离小于两球半径之和if j not in d and bc[j]==bc[i] and dist(bx[i],by[i],bx[j],by[j])<31:d.append(j)#确认过眼神,找到对的球j,用小本本记下来#接下来再找刚刚找到的球的下一个应该死掉的球tmp(j)tmp(i)#这样一直找下一个该死的泡泡龙#就得到了所有该死的球 (逃return d#画会动的球fill(COLOR[c])ellipse(x,y,30,30)for i in curBall:#画每个还没死的球fill(COLOR[bc[i]])ellipse(bx[i], by[i], 30, 30)#检查有没有被撞到if dist(bx[i], by[i], x, y)<30:if bc[i] == c:#某个同色球被撞到#找它旁边该死的球,以及旁边该死的球的旁边的该死的球,以及*******tmp = findDead(i)#找到了这一次所有该死的球#把他们从生死簿上重新做标记#地狱+1#人间-1for t in tmp:aliveBall.remove(t)#不管有没有撞到该死的球,都应该飞回原点 (逃x, y  = width/2, height-15vx, vy = 0, 0#顺便换个马甲再来c = int(random(len(COLOR)))curBall = aliveBall[:]#更新一下,现在显示的球全是没死的球x += vxy += vy#左右碰壁就反弹if x>width-15 or x<15:vx = -vx# 上面碰壁也反弹if y<15:vy = -vy#下面碰壁就还原if y>height-15:x, y = width/2, height-15vx, vy = 0, 0#换个马甲c = int(random(len(COLOR)))def mousePressed():global vx, vy#按下鼠标就发射,给个速度就可vx = (mouseX-width/2)/100.0vy = (mouseY-height+15)/100.0

好好学习,day day up
欢迎关注微信订阅号: 1213清心工作室(微信号:explore1213)

还有终极真实版本,可见我的另一篇文章。
终极版本可以实现键盘左右键控制旋转炮台,s键开炮。同时可以鼠标移动转动炮台,点击开炮。而且上方的群球会随着事件向下移动,开出去的炮打不中同色球就会粘贴到群球上。

泡泡龙终极版

processing-python-泡泡龙相关推荐

  1. processing python模式下载_爱上processing PDF 高清版

    给大家带来的一篇关于processing相关的电子书资源,介绍了关于processing方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小51.9 MB,Casey Reas编写,目前豆瓣 ...

  2. processing python模式_python学习Processing

    标签: # -*- coding: utf-8 -*- __author__ = 'Administrator' import bisect #排序说明:http://en.wikipedia.org ...

  3. processing python模式添加图片_processing学习整理---Image

    1.Load and Display(加载与显示) Images can be loaded and displayed to the screen at their actual size or a ...

  4. processing python模式_详解python之多进程和进程池(Processing库)

    环境:win7+python2.7 一直想学习多进程或多线程,但之前只是单纯看一点基础知识还有简单的介绍,无法理解怎么去应用,直到前段时间看了github的一个爬虫项目涉及到多进程,多线程相关内容,一 ...

  5. python数据科学库_Python数据科学库

    python数据科学库 什么是数据科学? (What is Data Science?) We live in an information age, where the challenge is t ...

  6. python自动排课表_利用python爬取广西科技大学教务管理信息系统班级课表

    操作环境 python 3.6.1 pycharm 5.0.3 WampServer 3.0.6 windows 8(64位) 特点 1.中途退出程序或者断网之后重连再次运行不会抓取到重复的课程表 2 ...

  7. python信号处理教程_Python信号处理

    python信号处理教程 Welcome to python signal processing tutorial. This is going to be a very basic lesson o ...

  8. 基于python的排课表系统_利用python爬取广西科技大学教务管理信息系统班级课表...

    操作环境 python 3.6.1 pycharm 5.0.3 WampServer 3.0.6 windows 8(64位) 特点 1.中途退出程序或者断网之后重连再次运行不会抓取到重复的课程表 2 ...

  9. android 动态矩形条,android – 从相机中动态检测不同形状(圆形,方形和矩形)?

    更新:这个StackOverflow帖子(包含一些很好的样本图片)似乎至少解决了你的问题的 circles detection部分.他指出的优秀文章的参考资料可以在 wiki page上找到(不幸的是 ...

  10. Markdown支持的语言

    记录下,方便自己使用 language language_key 1C 1c ActionScript actionscript Apache apache AppleScript a pplescr ...

最新文章

  1. java hasfocus_Android·Focus机制解析和常见问题
  2. python socket练习
  3. JavaScript——分时问候
  4. 【转】c# [Serializable]的作用
  5. 关于 Node.js scoped module 的一些理解
  6. 远控免杀专题1---基础篇
  7. shell脚本触发java程序传参数
  8. 嵌入式Linux驱动学习之路(十五)按键驱动-定时器防抖
  9. Ant Design Pro在使用TreeSelect树选择组件时,报错未注册
  10. python怎么把数据存在本地_将Python中的数据存储到系统本地的简单方法
  11. 怎么删除w7桌面计算机图标,w7桌面图标箭头怎么去掉?w7桌面图标箭头去掉方法...
  12. PMP杂谈--PMP中一些easy忽视的地方
  13. DataGridView中如何在textbox列中限制输入。
  14. 使用Fiddler进行http抓包和调试
  15. 在 ASP.NET MVC 中充分利用 WebGrid (microsoft 官方示例)
  16. 电子申报系统服务器地址,广东企业电子申报管理系统62使用说明-广东税务局.PDF...
  17. 驱动精灵等软件卸载后剩余文件的删除
  18. java实现ftp文件上传失败_用java+ftp实现文件上传的问题?
  19. matlab方程求解的实验,实验七用matlab求解常微分方程
  20. 笔记本连接外接显示器后耳机没有声音

热门文章

  1. ipv6学习笔记(手写版)
  2. 计算机行业深度报告:精读新股系列(七),国内主要AI公司对比研究20210103.PDF
  3. # vim与系统剪切板交互
  4. ftp上传显示服务器错误,FTP文件夹错误:打开FTP服务器上的文件夹时发生错误
  5. 看完了108份面试题,我为你总结出了这 10 个【Hive】高频考点(建议收藏)
  6. 场效应管(1)之N-MOSFET
  7. iOS开发 适配iOS10以及Xcode8
  8. P型半导体、N型半导体、PN结
  9. CSS 中的rese.css和normalize.css的区别
  10. 计算机兴趣小组教学内容,电脑绘画兴趣小组教学计划