boren 飛機大戰7

2021-10-02 14:27:48 字數 4636 閱讀 6658

import pygame

import sys

import random # 產生隨機數

# back 返回,後面

# ground 地面

# 哪一行**確定戰機的位置,27行,用座標確定戰機位置

# 飛機的類

# 飛機名字, 飛機的位置,視窗,

class

feiji()

:def

__init__

(self, ck)

: self.name =

"hero"

self.x =

200 self.y =

400 self.chuangkou = ck

self.picture = pygame.image.load(

"/hero1.png"

) self.zidan_ku =

# 把飛機放到螢幕上

defshow

(self)

: self.chuangkou.blit(self.picture,

(self.x, self.y)

)# 如果有子彈,就放上視窗

# print(len(self.zidan_ku))

for dan_ge_zidan in self.zidan_ku:

dan_ge_zidan.show(

)# 飛機的子彈移動

dan_ge_zidan.move__fd(

)if dan_ge_zidan.yuejie():

self.zidan_ku.remove(dan_ge_zidan)

# move 向左移動

defmove_left

(self)

: self.x -=

20if self.x <-25

: self.x =

5# 向右移動

defmove_right

(self)

: self.x +=

20if self.x >=

330:

self.x =

330# 發射子彈的函式

deffashe

(self)

:# 新建子彈物件儲存到zidan1變數到列表裡去

48, self.y -10,

"/zidan1.gif"))

14, self.y +25,

"/zidan2.png"))

80, self.y +25,

"/zidan3.gif"))

# 子彈的類

# 方法:子彈的show展示,move移動

class

zidan()

:def

__init__

(self, ck, x, y, zidan_tupian)

: self.x = x

self.y = y

self.window = ck

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

defshow

(self)

:# print("子彈的y座標是%d"%self.y)

self.window.blit(self.picture,

(self.x, self.y)

)def

move__fd

(self)

: self.y = self.y -

1def

move__djfd

(self)

: self.y = self.y +

1def

yuejie

(self)

:if self.y <

-100

:return

true

else

:return

false

defyuejie2

(self)

:if self.y >

700:

return

true

else

:return

false

"""敵機類:

方法:移動,**

"""class

diji()

:def

__init__

(self,ck)

: self.name=

"diji"

self.x =

0 self.y =

0 self.picture = pygame.image.load(

"/diji.gif"

) self.zidan_ku=

self.chuangkou = ck

self.fang_xiang =

"right"

defshow

(self)

: self.chuangkou.blit(self.picture,

(self.x,self.y)

)for dan_ge_zidan in self.zidan_ku:

dan_ge_zidan.show(

)# 飛機的子彈移動

dan_ge_zidan.move__djfd(

)if dan_ge_zidan.yuejie2():

self.zidan_ku.remove(dan_ge_zidan)

defmove

(self)

:if self.fang_xiang ==

"right"

: self.x += random.randint(1,

2)elif self.fang_xiang==

"left"

: self.x -=

1if self.x>=

330:

self.fang_xiang =

"left"

if self.x==0:

self.fang_xiang=

"right"

deffashe

(self)

: a = random.randint(1,

100)

if a==2:

0, self.y +0,

"/zidan1.gif"))

# 控制飛機

defkey_kong

(hero)

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

# type 型別 quit 退出

if shi_jian.

type

== pygame.quit:

pygame.quit(

)# 退出遊戲

sys.exit(

)# 系統檔案的退出

# 判斷是否按了鍵 key

elif shi_jian.

type

== pygame.keydown:

# 檢測電腦是否按了a鍵,向左移動

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_j:

hero.fashe(

)# 1。初始化

defzhu()

: pygame.init(

)# 2。設定乙個視窗

chuangkou = pygame.display.set_mode(

(400

,700))

# 3。設定乙個標題

pygame.display.set_caption(

"飛機大戰"

)# 6. 匯入 image影象 load 載入

bei_jing = pygame.image.load(

"/background.png"

)# 建立乙個飛機物件

feiji1 = feiji(chuangkou)

diji1 =diji(chuangkou)

# 5。迴圈

while

true

:# 把背景放上去

chuangkou.blit(bei_jing,(0

,0))

# 把飛機和相關元素放上視窗去

feiji1.show(

) diji1.show(

) diji1.move(

) diji1.fashe(

)# 控制飛機jj

key_kong(feiji1)

# key_kong2(diji1 , 2)

# 4.重新整理

pygame.display.update(

)# main主要的函式

if __name__ ==

'__main__'

: zhu(

)

boren 飛機大戰2

import pygame import sys back 返回,後面 ground 地面 哪一行 確定戰機的位置,27行,用座標確定戰機位置 型別 1。初始化 defzhu pygame.init 2。設定乙個視窗 chuangkou pygame.display.set mode 400 700...

boren 飛機大戰3

import pygame import sys back 返回,後面 ground 地面 哪一行 確定戰機的位置,27行,用座標確定戰機位置 飛機的類 飛機名字,飛機的位置,視窗,class feiji def init self,ck self.name hero self.x 200 self...

boren 飛機大戰11 0

import pygame import sys import random 產生隨機數 import feiji import diji 控制飛機 defkey kong hero for shi jian in pygame.event.get type 型別 quit 退出 if shi ji...