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