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

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

这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习。

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

效果图:

代码实现:

import pygame, random, sys, time

pygame.init()

screen = pygame.display.set_mode([600, 400])

screen.fill((255, 255, 255))

radiusr = 0

arrradiusr = [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()

END!

原文链接:https://blog.csdn.net/weixin_46791942/article/details/111088527?utm_medium=distribute.pc_category.none-task-blog-hot-3.nonecase&depth_1-utm_source=distribute.pc_category.none-task-blog-hot-3.nonecase

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

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

    用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习. 玩法:每次点击鼠标时,会以鼠标 ...

  2. 用pygame做一个简单的python小游戏---贪吃蛇

    用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...

  3. 用pygame做一个简单的python小游戏---生命游戏

    用pygame做一个简单的python小游戏-生命游戏 生命游戏(Game of Life) 生命游戏(Game of Life)是剑桥大学约翰·何顿·康威(John Horton Conway)教授 ...

  4. 做一个简单的java小游戏--贪吃蛇

    做一个简单的java小游戏–贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/detail ...

  5. 做一个简单的java小游戏--单机版五子棋

    做一个简单的java小游戏–单机版五子棋 学了java有一段时间了,今天就来搞一个简单的单机版五子棋游戏. 实现功能:那必须能进行基础的输赢判断.还有重新开始的功能,悔棋的功能,先手设置的功能和退出的 ...

  6. 用pygame实现一个简单的垃圾分类小游戏(已获校级二等奖)

    目录 项目简介 项目背景 玩法介绍 项目成果 项目实现 模块划分 代码实现 游戏效果 总结 项目简介 本项目报名参加了"兖州中材杯"武汉理工大学第十一届环保创意作品大赛艺术理念组比 ...

  7. 用python做一个简单的猜拳小游戏

    首先要对random这个模块有所了解,其次再使用if条件语句.下面我们来看下这几行代码的思路 利用random可以生成随机的数字,与玩家所输入的数字进行对比,在多个if条件语句的帮助下,从而做到对输赢 ...

  8. 【鸿蒙】 使用定时器做一个简单的抢红包小游戏

    1.新建项目 2. 添加 计时器,按钮组件 <?xml version="1.0" encoding="utf-8"?> <Direction ...

  9. 用所学JS的知识做一个简单的坦克小游戏

    代码如下: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...

最新文章

  1. C# 学习笔记(13)自己的串口助手
  2. Random Forest 实用经验(转)
  3. 动态规划 —— 区间 DP —— 石子合并三讲
  4. 效率,互联网生态模式的本质!——保险科技生态建设...
  5. 003 HandlerMapping
  6. 桥接模式(Bridge)解析例子
  7. 谁与争锋,2020腾讯广告算法大赛初赛正式启动
  8. HTTP1.0、HTTP1.1和HTTP2.0
  9. 【CNN长文详解】大话卷积神经网络CNN(干货满满)
  10. SDOI2018 旧试题
  11. 用C#在Visual Studio写Javascript单元测试
  12. c语言写一个五子棋小游戏
  13. 天然气压缩因子计算软件_天然气压缩机组安全阀的设置
  14. 秋冬心血管疾病高发,牢记这几个身体异常症状!
  15. android设置自动亮度,Android亮度调节的几种实现方法
  16. ps 制作虚线框背景
  17. 服务器显示114,DNS设置成114.114.114.114还是自动获取更好?那个网速更快?为什么?...
  18. 1032 挖掘机技术哪家强 (20 分)
  19. html 合并单元格 步骤总结
  20. 解决java编译错误(程序包javax.servlet不存在javax.servlet.*)

热门文章

  1. rust申请解封_希望rust真的解封
  2. MySQL廖雪峰的官方网站
  3. 定位position
  4. 找朋友(斗地主)判断逻辑
  5. 学习笔记(08):区块链应用案例-区块链商业应用-供应链管理
  6. 腾讯wifi管家竟然盗取我家wifi密码 惊讶!震惊!失望!
  7. 作为程序员,我到底在恐慌什么!
  8. 花粉的基本功效(收藏)
  9. 项目一15 服务器端VisualSVN安装配置 客户端TortoriesSVN安装与使用SVN
  10. 打卡小程序上线啦!新玩法来了!