外星人入侵專案
最近初步瀏覽了《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 單位長...