重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
学习了一天的深度学习,略有疲惫,我们用pygame搞个小游戏放松放松吧。今天我们的游戏主体是烟雨蒙蒙下彩虹雨,仿佛置身江南水乡。
成都创新互联客户idc服务中心,提供资阳服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。游戏描述
我们希望看到江南水乡下起彩虹雨。这里背景是江南水乡,烟雨蒙蒙,雨滴颜色五颜六色,大小不一。
解决思路
烟雨蒙蒙彩虹雨的意思很明确,有几个主要元素,那就是烟雨蒙蒙,彩虹雨滴,下雨几个元素和动作。那么,基本思路如下
1.找一张江南水乡烟雨蒙蒙的图片作为背景
2.用圆圈代表雨滴,并把圆圈的大小,颜色进行随机设置,出现五彩斑斓的效果。
3.下雨,即雨滴从上而下持续不断的落下,这就需要pygame里把圆圈放在不同的坐标下绘制出来。
代码实现
具体的实现代码如下:
import pygame import random pygame.init() #加载图片 pic=pygame.image.load('raining.jpg') #获取图片的长宽 screen_width=pic.get_width() screen_height=pic.get_height() #根据图片大小来设置屏幕大小 screen=pygame.display.set_mode([screen_width,screen_height]) #设置彩虹雨的雨滴个数,颜色,位置,大小,落下的速度 numbers=50 colors=[0]*numbers location_x=[0]*numbers location_y=[0]*numbers sizes=[0]*numbers speed=[0]*numbers #初始化彩虹雨滴 for i in range(numbers): colors[i]=(random.randint(0,255),random.randint(0,255),random.randint(0,255)) location_x[i]=random.randint(0,screen_width) location_y[i]=-random.randint(0,screen_height) sizes[i]=random.randint(5,20) speed[i]=random.randint(1,5) keep_going=True #用Clock实现来控制动画的速度 timer=pygame.time.Clock() while keep_going: for event in pygame.event.get(): #监听事件 if event.type==pygame.QUIT: keep_going=False #把图片绘制到屏幕 screen.blit(pic,(0,0)) for i in range(numbers): pygame.draw.circle(screen,colors[i],(location_x[i],location_y[i]),sizes[i]) #让雨滴画在屏幕上 location_y[i]=location_y[i]+speed[i] #雨滴落下,y轴方向 if location_y[i]>screen_height: #如果雨滴落到看不见,即超出屏幕的高度 location_y[i]-=screen_height #重新设置雨滴的参数 location_x[i]=random.randint(0,screen_width) speed[i] = random.randint(1, 5) timer.tick(100)# timer每秒钟滴答100次,因此帧率为100fps pygame.display.update() #刷新屏幕 pygame.quit()
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。