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

本文介绍如何利用pygame库创建一个简单的Python小游戏,玩家每次点击鼠标,游戏会在鼠标位置生成随机大小和颜色的同心圆,效果类似水波扩散。文章提供了一张游戏效果图并提到可以私信获取Python学习资料。
摘要由CSDN通过智能技术生成

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

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

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

效果图:

1ff1f2ca3d1a807e17b423127f6fd164.png
32a5ccbcaa323f703c4fe103c60d032f.png

代码实现:

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学习资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值