小編給大家分享一下python實(shí)現(xiàn)微信打飛機(jī)游戲的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專注于滎陽企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城建設(shè)。滎陽網(wǎng)站建設(shè)公司,為滎陽等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)具體內(nèi)容如下
import pygame import random import sys #初始化 pygame.init() pygame.display.set_caption('飛機(jī)火拼')#設(shè)置窗口標(biāo)題 screen= pygame.display.set_mode((320, 570), 0, 32) pygame.mouse.set_visible(False)#隱藏光標(biāo) #加載圖片 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') #設(shè)置窗口圖標(biāo) 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 #分?jǐn)?shù) score=0 font=pygame.font.SysFont('微軟雅黑', 36) #子彈 bullets=[] #敵機(jī) enemies=[] #記錄敵機(jī)爆炸位置 boomplace=[] #游戲結(jié)束 gameover=False pygame.mouse.set_pos(200, 200) while True: i += 1 if i > 200: i =0 screen.blit(background, (0, 0)) #通過鼠標(biāo)控制飛機(jī) 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幀 調(diào)用一次 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) #移動(dòng)子彈位置 for place in bullets: place[1] -= 55 #繪制子彈 for place in bullets: screen.blit(bullet,(place[0],place[1])) #敵機(jī)生成 移動(dòng) 消失 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])) #敵機(jī)爆炸 for place in boomplace: if place[2]>0: screen.blit(boom1,(place[0],place[1])) place[2] -=1 #子彈碰撞檢測(cè) 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 #飛機(jī)碰撞檢測(cè) 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實(shí)現(xiàn)微信打飛機(jī)游戲的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。