本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理

用pygame做一个简单的python小游戏—七彩同心圆

玩法:每次点击鼠标时,会以鼠标为圆心,不断向外扩展圆(类似于水波浪的扩散),从而形成一个同心圆,并达到随机大小后停止扩展。其中每个同心圆的颜色都是随机的。

效果图:

代码实现:

import pygame, random, sys, timepygame.init()screen = pygame.display.set_mode([600, 400])screen.fill((255, 255, 255))radiusr = 0arrradiusr = [0] * 10  # 圆的半径arraddradiusr = [0] * 10  # 圆的半径增量arrradiusbool = [False] * 10  # 圆是否存在   False代表该索引值下的圆不存在,True代表存在arrradiusx = [0] * 10  # 圆的坐标x轴arrradiusy = [0] * 10  # 圆的坐标y轴RGBx = [0] * 10  # 颜色RGB值第一个值RGBy = [0] * 10  # 颜色RGB值第二个值RGBz = [0] * 10  # 颜色RGB值第三个值while True:    time.sleep(0.1)  # 0.1秒    for event in pygame.event.get():  # 监听器        if event.type == pygame.MOUSEBUTTONDOWN:  # 鼠标按下            num = arrradiusbool.index(False)   #获取圆不存在的索引值            arrradiusbool[num] = True          #将该索引值的圆设置为存在            arrradiusr[num] = 0                #该圆的半径设置为0            arrradiusx[num], arrradiusy[num] = pygame.mouse.get_pos()        #获取鼠标坐标            RGBx[num] = random.randint(0, 255)       #获取颜色值            RGBy[num] = random.randint(0, 255)       #获取颜色值            RGBz[num] = random.randint(0, 255)       #获取颜色值            pygame.draw.circle(screen, pygame.Color(RGBx[num], RGBy[num], RGBz[num]),     #画圆                               (arrradiusx[num], arrradiusy[num]), arrradiusr[num], 1)        if event.type == pygame.QUIT:            pygame.quit()            sys.exit()    for i in range(10):        if arrradiusbool[i] == False:     #如果圆不存在则跳过循环            pass        else:            if (arrradiusr[i] < random.randint(10, 50)):       #随机圆的大小                arraddradiusr[i] = random.randint(0, 5)        #圆的随机半径增量                arrradiusr[i] += arraddradiusr[i]                pygame.draw.circle(screen, pygame.Color(RGBx[i], RGBy[i], RGBz[i]),     #画圆                                   (arrradiusx[i], arrradiusy[i]), arrradiusr[i], 1)            else:                arrradiusbool[i] = False    #若圆已达到最大,这将该索引值的圆设置为不存在    pygame.display.update()

私信小编01即可获取大量Python学习资料

python简单小游戏代码_一个简单的python小游戏---七彩同心圆相关推荐

  1. 50行python游戏代码_使用50行Python代码从零开始实现一个AI平衡小游戏

    使用50行Python代码从零开始实现一个AI平衡小游戏 发布时间:2020-10-23 09:26:14 来源:脚本之家 阅读:74 集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何 ...

  2. python猜谜语小游戏代码_一个猜谜语程序的逆向之旅

    坑边闲话:猜谜语的游戏想必大家都玩过,所谓的程序谜语,其实并不是考验一个人智力.脑筋急转弯能力的游戏,而是锻炼逆向.动态调试的小 trick.今天让我们一起感受一下 IDA Pro 7.0 逆向的魅力 ...

  3. python秒表游戏代码_用20行Python代码实现2048小游戏,你会吗?

    前些天在b站上看到有个大佬用c写了一个2048小游戏,我便一下来了兴趣.心想着,我貌似也能用Python来整一波,话不多说,直接开搞. 2048的游戏规则: 2048游戏总共有16个格子,初始时会有两 ...

  4. python3经典小程序代码_一个可以套路别人的python小程序实例代码

    python可以开发什么?谁有python小程序的源代码,...桌面程序,web都可以,还有比如现在讲的多的人工智能,神经网络源码可以去找一些开源代码,搜索一下,蛮多的. 分享python小程序代码练 ...

  5. python爬b站评论_一个简单的爬取b站up下所有视频的所有评论信息的爬虫

    心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...

  6. php 跳转qq群代码_一个简单QQ群聊案例代码解析(PHP实现)

    问题: 使用面向对象编程的方式实现以下业务逻辑: 1. 张三使用账号a,密码b登录了qq 2. 显示出张三最后的登录的时间 3. 张三查看了 1小时内的行政部门群的信息(这个群里有张三,李四,王五,其 ...

  7. 50行的python游戏代码_使用50行Python教AI玩运杆游戏

    编译:yxy 出品:ATYUN订阅号 嗨,大家好!今天我想展示如何使用50行Python代码教一台机器来平衡杆!我们将使用标准的OpenAI Gym作为我们的测试环境,并只使用numpy创建我们的智能 ...

  8. php简单的mysql类_一个简单的php mysql操作类

    本文分享一个简单的php.mysql操作类,很简单,主要是数据的连接.查询等.有需要的朋友参考下吧. 分享一段php.mysql操作类的代码,供初学的朋友参考. 一个简单的类使用php和mysql数据 ...

  9. php一个简单的投票系统_一个简单的PHP投票系统

    一个简单的PHP投票系统 分享到: 作者:转接卡 建立2个表,一个用来显示当前主题,一个存放历史结果. 当前主题表结构:选项(包括主题),票数 历史结果表结构:id,主题名,关点,投票开始时间,投票结 ...

最新文章

  1. matlab绘制圆,且求解两个圆的交点坐标
  2. python logging模块的作用_Python 日志模块logging分析及使用-2
  3. 使用LayoutAnimationController为RecyclerView添加动画
  4. 女生转行IT与男生有什么不一样?
  5. MySQL和SQL Server数据库基本语句总结(二)
  6. 为什么有了接口还要增加一层抽象类?
  7. 高考python必考题目_假如高考考python编程,这些题目你会几个呢?
  8. 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)
  9. Java之XML转Json
  10. 混合基金量化投资策略应该怎么制定?
  11. SYN FLOOD WINCAP
  12. 总结:linux运维常用命令
  13. python乘积函数_Python中的乘法函数
  14. 王牌投手·MLB棒球创造营
  15. 迷宫游戏python实现
  16. 1031. 两个非重叠子数组的最大和-构造子数组和数组遍历数组
  17. 圆柱模板价格计算器V1.0版本
  18. 4. Linux - 输入子系统框架详解
  19. linux下SVN忽略文件/文件夹的方法
  20. 上新啦~《2021年中国云安全行业研究报告》(附下载)

热门文章

  1. Ubuntu下装QQ2014(http://my.oschina.net/oscfox/blog/315951)
  2. Linux,扇区,块,文件系统,目录中的记录项
  3. 表的插入、更新、删除、合并操作_10_仅复制表结构
  4. AdventureWorksDW 2019还原图解
  5. 如何学习linux设备驱动
  6. C++for循环中i++与++i的区别
  7. springcloud(十一):服务网关Zuul高级篇
  8. 《js高程》 基本概念 上
  9. Alcatraz插件安装问题
  10. 《图书管理系统——java》