社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

马哥Linux运维 • 3 年前 • 437 次点击  

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

效果图:

代码实现:

import pygame, random, sys, time
pygame.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()

原文链接:https://blog.csdn.net/weixin_46791942/article/details/111088527

文章转载:Python编程学习圈
(版权归原作者所有,侵删)

点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/126208
 
437 次点击