qiyuan 飛機大戰

2021-10-02 21:40:43 字數 3535 閱讀 2712

# 1。導包

import pygame

# 類"""

類名:feiji

屬性:位置x,y;**;血量

方法: show, move,發射子彈

"""class

feiji

:def

__init__

(self, ck)

: self.x =

250 self.y =

500 self.picture =

"hero1.png"

self.pifu = pygame.image.load(self.picture )

self.blood =

3 self.chuangkou = ck

self.bullets =

# 列表

defshow

(self)

: self.chuangkou.blit(self.pifu,

(self.x, self.y)

)for dangezidan in self.bullets:

print

(dangezidan.y)

dangezidan.y=dangezidan.y -

10 dangezidan.show(

)# 向左

defmove_left

(self)

: self.x = self.x -

10def

move_right

(self)

: self.x = self.x +

10# 化身為敵機

defyouli

(self)

: self.picture =

"enemy-1.gif"

self.pifu = pygame.image.load(self.picture)

# 發射子彈:

defxiuxiuxiu

(self):)

"""類名:子彈

屬性:位置x,y;**;血量

方法: show

"""class

zidan

:def

__init__

(self,ck,x,y)

: self.x = x

self.y = y

self.pifu = pygame.image.load(

"bbzd.png"

) self.chuangkou = ck

defshow

(self)

: self.chuangkou.blit(self.pifu,

(self.x, self.y)

)def

move

(self)

: self.y = self.y+

1# 敵機

"""類名:diji

屬性:位置x,y;**;血量

方法: show, move

"""class

diji

:def

__init__

(self, ck)

: self.x =

250 self.y =

0 self.pifu = pygame.image.load(

"enemy-1.gif"

) self.chuangkou = ck

self.direction =

"left"

defshow

(self)

: self.chuangkou.blit(self.pifu,

(self.x, self.y)

)def

move

(self)

:if self.direction ==

"left"

: self.x = self.x -

10elif self.direction ==

"right"

: self.x = self.x +

10if self.x <0:

self.direction =

"right"

elif self.x >

400:

self.direction =

"left"

defkey_control

(hero)

:# 判斷我們是否點紅叉了

# 事件

for shi_jian in pygame.event.get():

if shi_jian.

type

== pygame.quit:

pygame.quit(

)if shi_jian.

type

== pygame.keydown:

if shi_jian.key == pygame.k_a:

hero.move_left(

)elif shi_jian.key == pygame.k_d:

hero.move_right(

)elif shi_jian.key == pygame.k_h:

hero.youli(

)elif shi_jian.key == pygame.k_space:

hero.xiuxiuxiu(

)def

main()

:# 2。初始化

pygame.init(

)# 3。設定視窗大小

chuang_kou = pygame.display.set_mode(

(400

,700))

# 4。設定標題

pygame.display.set_caption(

"公尺奇妙妙屋"

)# 1.匯入

background = pygame.image.load(

"background.png"

)# 6。重新整理 120 hz 1080 hz 顯示卡 計算畫面

# 7. 新建物件:戰機,敵機

傘兵一號 = feiji(chuang_kou)

炮灰一號 = diji(chuang_kou)

while

true

: key_control(傘兵一號)

chuang_kou.blit(background,(0

,0))

傘兵一號.show(

) 炮灰一號.show(

) 炮灰一號.move(

) pygame.display.update(

)# 5。退出遊戲

pygame.quit(

)if __name__ ==

'__main__'

: main(

)

飛機大戰 3

今天主要是敵方飛機的建立,下落 前面已建飛機的父類call 2 敵方飛機 function enemyplane hp,x,y,sizex,sizey,score,dietime,sudu,bombplane,srcimage 敵方的飛機型別分為大中小,要隨機下落 飛機的隨機下落,大中小飛機出現頻率...

飛機大戰 一

圖1 遊戲開始 圖2 英雄機,子彈,敵機和小蜜蜂 圖4 遊戲結束 圖5 遊戲暫停 由圖2可以看出遊戲中至少有4個類,hero 英雄機 airplane 敵機 bee 小蜜蜂 bullet 子彈 圖6注 圖6中,英雄機,子彈,敵機和小蜜蜂均為矩形,所以會有x座標和y座標 會在程式中有體現 1.建立4個...

Python飛機大戰

玩家飛機可以移動,可以發射子彈,敵機隨機產生,自由墜落。未新增擊落敵機的功能。主要用來練習類的封裝與繼承。coding utf 8 import pygame,random from pygame.locals import class base object def init self,x,y,s...