利用python語言製作乙個簡單的飛機大戰小遊戲

2021-09-04 08:04:11 字數 3062 閱讀 7940

**第二步驟:**當飛機大戰所需要的素材包準備完成後,下面我們開始對玩家操控的飛機的程式進行編寫

程式如下:

import pygame

import random

import time

class regou:

definit(self,plane,screen):

self.screen = screen

self.image = pygame.image.load(r"imgs\rg.png") # 載入熱狗並獲取外接矩形

self.rect = self.image.get_rect() # 熱狗矩形

self.rect.centerx =plane.rect.centerx # 把熱狗放在飛機中間頂部的位置

self.rect.bottom =plane.rect.top

left=self.rect.left

def printregou(self):

self.screen.blit(self.image,self.rect)

def move(self):

self.rect.bottom=self.rect.bottom-26

return self.rect.centerx

class plane():

definit(self,screen):

self.screen = screen

self.image = pygame.image.load(r"imgs\plane3.png") # 載入飛機並獲取外接矩形

self.rect=self.image.get_rect() #飛機矩形

self.screen_rect=screen.get_rect() #螢幕矩形

self.rect.centerx=self.screen_rect.centerx #把飛機放在螢幕的底部中間

self.rect.bottom=self.screen_rect.bottom

#將飛機畫到背景圖裡的指定位置

def printplane(self):

self.screen.blit(self.image,self.rect)

class wsc:

definit(self,wsc_location,screen):

self.screen=screen

self.wsc_location=wsc_location

self.image = pygame.image.load(r"imgs\wsc.png") # 載入王思聰並獲取外接矩形

self.rect=self.image.get_rect() # 王思聰矩形

self.screen_rect = screen.get_rect() # 螢幕矩形

self.rect.centerx = wsc_location # 把王思聰放在頂部的位置

self.rect.bottom = self.screen_rect.top+70

# 王思聰畫到背景圖裡

def printwsc(self):

self.screen.blit(self.image,self.rect)

def move(self):

self.rect.bottom=8+self.rect.bottom

return self.rect.centerx

**第四步驟:**最後進行遊戲主介面、外設操作事件監聽、得分顯示及其他功能的程式編寫。

程式如下:

遊戲主介面相關:

font = pygame.freetype.font("c://windows//fonts", 30)

fontrect = font.render_to(window, (20,0), "score:"+" "+str(scorebuf[0]), (255,255,0))

font = pygame.freetype.font("c://windows//fonts", 30)

fontrect = font.render_to(window, (320, 0), "life:" + " " + str(scorebuf[2]),(255,255,0))

font = pygame.freetype.font("c://windows//fonts", 30)

fontrect = font.render_to(window, (620, 0), "buff:" + " " + str(scorebuf[1]),(255,255,0))

pygame.display.flip()

外設操作監聽事件相關:

#把事件監聽都封裝到乙個函式裡面
得分顯示相關:

#飛機死亡之後在螢幕中間寫下最後得分

if scorebuf[2] < 0:

font = pygame.freetype.font(「c://windows//fonts」, 70)

fontrect = font.render_to(window, (70, 280), 「本局最後得分:」 + " " + str(scorebuf[0]), (255, 0, 0))

#死亡後將最後得分與以前的最高得分相比,去較大值存入列表中

「必殺技」功能相關:

def dazhao():

zidan=zidan(10,window)

zidan.printzidan()

但不知道為什麼用封裝的函式無法呼叫keyboradcontrol(),只能將keyboradcontrol()函式中的**複製下來。

**第五步驟:**完成以上4個步驟之後,飛機大戰小遊戲的編寫基本完成,最後通過試執行檢查,進行最後的

除錯。

python製作乙個簡單網路爬蟲

這章我們用python標準庫urllib2來實現簡單的網路爬蟲 本章很簡單適合小白,不喜勿噴 一 urllib2定義了以下方法 urllib2.urlopen url,data,timeout data引數 post資料提交 例如 賬號密碼傳送給伺服器判斷登陸 url引數 網頁url,可接受requ...

Python利用random生成乙個列表內的隨機數

首先,需要匯入random模組 importrandom隨機取1 33之間的1個隨機數,可能重複 random.choice range 1,34 print得到一系列隨機數,執行一次得到乙個隨機數 print random.choice range 1,34 隨機取1 33之間的6個隨機數,可能重...

如何利用Python繪製乙個愛心

剛學習python幾周,閒來無事,突然想嘗試畫乙個愛心,步驟如下 開啟介面 開啟python shell介面,具體是python語言的idle軟體指令碼。2.建立指令碼 單擊左上角 file 再單擊 new file 建立乙個新的指令碼檔案。3.如下 1 from turtle import 2de...