python 外星人入侵

2021-10-08 10:50:42 字數 2000 閱讀 7557

外星人入侵專案

最近初步瀏覽了《python:從入門到實踐》這本書,決定嘗試一下

準備階段中

初始化:

pygame.init(

)

關閉視窗

pygame.display.quit(

)

設定視窗大小

screen = pygame.display.set_mode(

(1200

,800))

#乙個二元組,1200和800分別是橫向和縱向長度

設定視窗名稱

pygame.display.set_caption(

'alien '

)

改變視窗顏色

screen.fill(

(r,g,b)

)#引數為乙個三元組,用rgb顏色模式表示

如果想讓視窗顯示

)#先載入並存再background中

screen.blit(background,(0

,0))

#將放置再視窗中(0,0)的位置上,盡量使和視窗的大小一致

pygame.display.update(

)#更新視窗以顯示開始:

首先得對整個遊戲過程有乙個理解,大概可視為這樣:

#進行初始化

#建立乙個遊戲視窗

#進入遊戲迴圈

#獲取玩家輸入事件

#對輸入事件進行反應

#對一些基本事件進行更新

#判斷遊戲是否結束

#繪製螢幕

所對應的**就是這樣

import pygame

import sys #負責控制整個遊戲的結束

run_game():

pygame.init(

)#初始化

screen = pygame.display.set_mode(

480,

700)

#長高可視自己螢幕大小而定

#一些準備工作

while

true

:for event in pygame.event.get():

#對每個獲取的事件進行處理

#判斷事件

#處理事件

update(

)#跟新基本事件

judgment(

)#判斷遊戲的進行程度,並進行處理

update(

)#更新螢幕

整個遊戲的基本內容有:1.玩家控制的飛船

2.外星人的飛船

3.玩家發射的子彈

遊戲過程就由圍繞這三者之間的事件來產生

於是分別設計三個類來表示他們,不過為了更好的呼叫遊戲裡的一些基本內容

先寫乙個setting類來儲存基本的遊戲資訊:

**如下

class

settings

:def

__init__

(self)

: self.screen_width=

480 self.screen_height=

700#初始化視窗大小

self.background=pygame.image.load(

'alien/background.png'

)#載入並儲存視窗背景

self.ship_speed=

1#飛船移動速度

self.bullet_speed=

1.5#子彈移動速度

#後續會再做新增

注:將飛船和子彈的移動速度放在這裡,為了是方便以後做出修改

待續。。。

外星人入侵

今天是乙個週末,宿舍的人全部都出去玩了,而我因為太懶乙個人留在了宿舍,連床都不起,吃飯靠的是點外賣。不過,為了好玩,我跟著書本學習打了乙個2d小遊戲,並加入了一點自己的東西。一 遊戲頁面 剛開始我把所有的遊戲螢幕設定都放在了下面 裡,這使得 看起來非常長,和雜亂,所以為了使遊戲方便擴充套件和整個 邏...

Pygame 外星人入侵(7)外星人壓境

二 更加合理地移動 三 小結 在之前的博文中,實現了在螢幕上繪製一大群外星人,現在我們想讓這群外星人動起來,它們的移動遵循著一定的規律。我們首先要實現的是,如何讓一群外星人一起向螢幕右側移動。遊戲引數性質的變數統一存放在 設定模組中的設定類中 6 外星人的屬性 6。1 外星人移動的速度 self.a...

外星人入侵 Standard IO

description 外星人入侵地球。可怕的吃人外星人正在全國各地依次序建立它們的基地。全國共有n 1 n 10,000 座城市,城市編號1 n。城市之間有m 0 m 100,000 條雙向道路相連。外星人計畫建立a 0 a n 個基地。你只有在距離當前所有外星人基地至少k 1 k 100 單位長...