飛機(jī)大戰(zhàn) engine.py

"""

游戲引擎:

"""

import pygame, model, random

# 自定義一個事件

ENEMY_CREATE = pygame.USEREVENT

pygame.time.set_timer(ENEMY_CREATE, 2000)

class GameEngine:

"""

? ? 游戲引擎"""

? ? def __init__(self):

# 初始化函數(shù):控制界面初始化操作

? ? ? ? pygame.init()

self.screen = pygame.display.set_mode(model.SCREEN_SIZE)

self.clock = pygame.time.Clock()

self.enemys = pygame.sprite.Group()

self.resources = pygame.sprite.Group()

def start(self):

self.create_scene()

self.check_event()

def create_scene(self):

# 創(chuàng)建游戲場景

? ? ? ? self.bg1 = model.BackgroundSprite("./images/bg3_0.jpg")

self.bg2 = model.BackgroundSprite("./images/bg3_0.jpg", next=True)

self.hero = model.HeroSprite("./images/plane.png")

self.resources.add(self.bg1, self.bg2, self.hero)

def update_scene(self):

# 背景和英雄飛機(jī)精靈組

? ? ? ? self.resources.draw(self.screen)

# 敵機(jī)精靈組

? ? ? ? self.enemys.draw(self.screen)

# 子彈精靈組

? ? ? ? self.hero.bullets.draw(self.screen)

# 更新屏幕

? ? ? ? self.resources.update()

self.enemys.update()

self.hero.bullets.update()

def check_collide(self):

# 碰撞檢測

? ? ? ? pygame.sprite.groupcollide(self.hero.bullets, self.enemys, True, True)

e = pygame.sprite.spritecollide(self.hero, self.enemys, True)

if len(e) >0:

self.hero.kill()

pygame.quit()

exit()

def check_event(self):

# 事件監(jiān)聽

? ? ? ? self.clock.tick(24)

self.event_list = pygame.event.get()

key_down = pygame.key.get_pressed()

if len(self.event_list) >0:

for eventin self.event_list:

if event.type == pygame.QUIT:

pygame.quit()

exit()

if event.type == ENEMY_CREATE:

# 創(chuàng)建敵方飛機(jī)

? ? ? ? ? ? ? ? ? ? enemy = model.EnemySprite()

self.enemys.add(enemy)

if key_down[pygame.K_LEFT]:

print("向左移動做葵。宪塔。英妓。介陶。学搜。")

self.hero.rect.x -=5

? ? ? ? if key_down[pygame.K_RIGHT]:

print("向右移動娃豹。憔涉。讨勤。箭跳。。")

self.hero.rect.x +=5

? ? ? ? if key_down[pygame.K_UP]:

print("向上移動潭千。谱姓。。刨晴。屉来。")

self.hero.rect.y -=5

? ? ? ? if key_down[pygame.K_DOWN]:

print("向上移動路翻。。茄靠。茂契。。")

self.hero.rect.y +=5

? ? ? ? if key_down[pygame.K_SPACE]:

print("空格鍵:開火慨绳。掉冶。。")

self.hero.fire()

pygame.display.update()

self.check_collide()

self.update_scene()

self.check_event()

# pygame.quit()


res = GameEngine()

res.start()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脐雪,一起剝皮案震驚了整個濱河市厌小,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喂江,老刑警劉巖召锈,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異获询,居然都是意外死亡涨岁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門吉嚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梢薪,“玉大人,你說我怎么就攤上這事尝哆”玻” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵秋泄,是天一觀的道長琐馆。 經(jīng)常有香客問我,道長恒序,這世上最難降的妖魔是什么瘦麸? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮歧胁,結(jié)果婚禮上滋饲,老公的妹妹穿的比我還像新娘。我一直安慰自己喊巍,他們只是感情好屠缭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著崭参,像睡著了一般呵曹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天奄喂,我揣著相機(jī)與錄音之剧,去河邊找鬼。 笑死砍聊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贰军。 我是一名探鬼主播玻蝌,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼词疼!你這毒婦竟也來了俯树?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤贰盗,失蹤者是張志新(化名)和其女友劉穎许饿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舵盈,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陋率,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了秽晚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓦糟。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赴蝇,靈堂內(nèi)的尸體忽然破棺而出菩浙,到底是詐尸還是另有隱情,我是刑警寧澤句伶,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布劲蜻,位于F島的核電站,受9級特大地震影響考余,放射性物質(zhì)發(fā)生泄漏先嬉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一秃殉、第九天 我趴在偏房一處隱蔽的房頂上張望坝初。 院中可真熱鬧,春花似錦钾军、人聲如沸鳄袍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拗小。三九已至,卻和暖如春樱哼,著一層夾襖步出監(jiān)牢的瞬間哀九,已是汗流浹背剿配。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阅束,地道東北人呼胚。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像息裸,于是被迫代替她去往敵國和親蝇更。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 大家好呼盆。小編通過這段時間學(xué)習(xí)做了一個超級簡單的打飛機(jī)∧昀現(xiàn)在貢獻(xiàn)給大家。 我們先要建兩個.py文件访圃。小編在這里是建的...
    AnHuaFeng閱讀 5,299評論 0 0
  • 學(xué)習(xí)目標(biāo) 強(qiáng)化 面向?qū)ο?程序設(shè)計(jì) 體驗(yàn)使用 pygame 模塊進(jìn)行 游戲開發(fā) 安裝 pygame 驗(yàn)證安裝 1....
    zxx_emmm閱讀 8,415評論 13 28
  • 這次呢厨幻,讓我們重溫一下兒時的樂趣,用Python做一個飛機(jī)大戰(zhàn)的小游戲腿时。接下來况脆,讓我們一起走進(jìn)“飛機(jī)大戰(zhàn)”。 一....
    HDhandi閱讀 1,910評論 1 4
  • 這星期長見識了圈匆,雖然每星期都在學(xué)習(xí)新的內(nèi)容漠另,都在長見識,但是這次挺驚訝的跃赚,竟然可以用python笆搓,...
    要你何用殺了算了閱讀 625評論 0 1
  • 距離上寫晨讀感悟剛好一個月,在這一個月里纬傲,心里總是焦灼不安满败,知道自己有事沒去做,知道自己應(yīng)該去做叹括,可就是在那找各...
    艾陽陽閱讀 251評論 2 0