小编给大家分享一下python实现微信打飞机游戏的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联专注于荥阳企业网站建设,响应式网站开发,商城建设。荥阳网站建设公司,为荥阳等地区提供建站服务。全流程按需策划,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务具体内容如下
import pygame import random import sys #初始化 pygame.init() pygame.display.set_caption('飞机火拼')#设置窗口标题 screen= pygame.display.set_mode((320, 570), 0, 32) pygame.mouse.set_visible(False)#隐藏光标 #加载图片 boom1=pygame.image.load('../Game/fly/src/boom1.png') boom2=pygame.image.load("../Game/fly/src/boom2.png") bullet=pygame.image.load('../Game/fly/src/bullet.png') plane=pygame.image.load("../Game/fly/src/plane.png").convert_alpha() enemy=pygame.image.load('../Game/fly/src/enemy.png') #设置窗口图标 pygame.display.set_icon(plane) background=pygame.image.load("../Game/fly/src/bg_01.png") start=pygame.image.load('../Game/fly/src/start.png') pause=pygame.image.load("../Game/fly/src/pause.png") #pygame.mixer.init() #Xexplosion=pygame.mixer.Sound("explosion.mp3") #Xbullet=pygame.mixer.Sound("../Game/fly/sound/bullet.mp3") #XgameOver=pygame.mixer.Sound("../Game/fly/sound/game_over.mp3") #Xexplosion.set_volume(1) #pygame.mixer.music.load("../Game/fly/sound/game_music.mp3") #pygame.mixer.music.play(-1, 0.0) #pygame.mixer.music.set_volume(0.25) i=0 #分数 score=0 font=pygame.font.SysFont('微软雅黑', 36) #子弹 bullets=[] #敌机 enemies=[] #记录敌机爆炸位置 boomplace=[] #游戏结束 gameover=False pygame.mouse.set_pos(200, 200) while True: i += 1 if i > 200: i =0 screen.blit(background, (0, 0)) #通过鼠标控制飞机 x, y=pygame.mouse.get_pos() #print(x, y) x -= plane.get_width()/2 y -= plane.get_height()/2 screen.blit(plane, (x, y)) #每25帧 调用一次 if i%25 == 0: #返回 按下左键 中键 右键 l,m,r=pygame.mouse.get_pressed() if l ==True: #生成子弹位置添加 bullets.append([x+plane.get_width()/2, y]) #Xshoot.play() for place in bullets: #子弹位置超出边界 if place[1]<=0: bullets.remove(place) #移动子弹位置 for place in bullets: place[1] -= 55 #绘制子弹 for place in bullets: screen.blit(bullet,(place[0],place[1])) #敌机生成 移动 消失 if i%199 == 0: enemies.append([random.randint(0,320-enemy.get_width()),-enemy.get_width()/2]) for place in enemies: if place[1] >= 600: enemies.remove(place) for place in enemies: place[1] += 35 for place in enemies: screen.blit(enemy,(place[0],place[1])) #敌机爆炸 for place in boomplace: if place[2]>0: screen.blit(boom1,(place[0],place[1])) place[2] -=1 #子弹碰撞检测 for bulletplace in bullets: for enemyplace in enemies: if (bulletplace[0] > enemyplace[0] and bulletplace[0] < enemyplace[0] + enemy.get_width()) and \ (bulletplace[1] > enemyplace[1] and bulletplace[1] < enemyplace[1] + enemy.get_height()): boomflag = 75 enemyplace.append(boomflag) boomplace.append(enemyplace) enemies.remove(enemyplace) bullets.remove(bulletplace) #Sexplosion.play() score += 1 #飞机碰撞检测 for enemyplace in enemies: if (x + 0.7*plane.get_width() > enemyplace[0]) and (x + 0.3*plane.get_width()enemyplace[1]) and (y + 0.3*plane.get_height() 0: screen.blit(boom1,(place[0],place[1])) place[2] -=1 text=font.render(u'Score %d'%score,1,(0,0,0)) screen.blit(text,(50,0)) if gameover == True: x,y =185,550 gameover =False text =font.render(' left to start',True,(0,0,0)) screen.blit(text,(35,300)) else: x,y=pygame.mouse.get_pos() text=font.render(' left to continue ',True,(0,0,0)) screen.blit(text,(10,300)) pygame.display.update() while True : for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() l, m, r = pygame.mouse.get_pressed() if l == True: pygame.mouse.set_pos(x,y) break text=font.render(u"%d"%score, True, (0, 0, 0)) screen.blit(text,(50, 0)) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit()
效果图:
以上是“python实现微信打飞机游戏的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。