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...