資源簡介
新手入門簡易的打飛機\飛機大戰(zhàn)工程源碼,需安裝python3.5、pycharm、pygame(pycharm內(nèi)安裝)。

代碼片段和文件信息
import?pygame
from?pygame.locals?import*
import?random
#是指游戲屏幕帶下
SCREEN_WIDTH=480
SCREEN_HEIGHT=800
#子彈類
class?Bullet(pygame.sprite.Sprite):
????def?__init__(selfbullet_imginit_pos):
????????pygame.sprite.Sprite.__init__(self)
????????self.image?=bullet_img
????????self.rect?=self.image.get_rect()
????????self.rect.midbottom?=init_pos
????????self.speed?=10
????def?move(self):
????????self.rect.top?-=?self.speed
#2定義一個飛機類
class?Player(pygame.sprite.Sprite):
????def?__init__(selfplane_imgplayer_rectinit_pos):
????????pygame.sprite.Sprite.__init__(self)
????????self.image?=[]
????????for?i?in?range(len(player_rect)):
????????????self.image.append(plane_img.subsurface(player_rect[i]).convert_alpha())
????????self.bullets?=?pygame.sprite.Group()
????????self.rect?=player_rect[0]#為圖片的矩形初始化賦值
????????self.rect.topleft=init_pos#初始化位置
????????self.speed=10#初始化飛機的速度
????????self.img_index=1#初始化圖片的索引??1代表第二張圖片
????????#發(fā)射子彈前提是沒被擊中
????????self.is_hit?=False
#4.發(fā)射子彈
????def?shoot(selfbullet_img):
????????bullet?=Bullet(bullet_imgself.rect.midtop)
????????self.bullets.add(bullet)
????def?moveUp(self):
????????if?self.rect.top?<=?0:??#?rect.top<=0??飛機不能出去
????????????self.rect.top?=?0
????????else:
????????????self.rect.top?-=?self.speed??#?飛機距離上邊的位置?等于飛機距離x軸-速度
????def?moveDown(self):
????????if?self.rect.top?>=?SCREEN_HEIGHT?-?self.rect.height:??#?屏幕的高度-飛機的高度
????????????self.rect.top?=?SCREEN_HEIGHT?-?self.rect.height
????????else:
????????????self.rect.top?+=?self.speed??#?高度-速度
????def?moveLeft(self):
????????if?self.rect.left?<=?0:
????????????self.rect.left?=?0
????????else:
????????????self.rect.left?-=?self.speed
????def?moveRight(self):
????????if?self.rect.left?>=?SCREEN_WIDTH?-?self.rect.width:
????????????self.rect.left?=?SCREEN_WIDTH?-?self.rect.width
????????else:
????????????self.rect.left?+=?self.speed
#敵機類
class?Enemy(pygame.sprite.Sprite):
????def?__init__(selfenemy_imgenemy_down_imgsinit_pos):
????????pygame.sprite.Sprite.__init__(self)
????????self.image?=enemy_img
????????self.rect=self.image.get_rect()
????????self.rect.topleft?=init_pos
????????self.down_imgs?=enemy_down_imgs
????????self.speed=2
????????self.down_index=0
????def?move(self):
????????self.rect.top?+=?self.speed
#初始化pygame
pygame.mixer.init()
pygame.init()
#設(shè)計游戲界面像素第一個參數(shù)是分辨率??寬480?高800????第二個是標志位???三是色深
#返回值Surface對象???位圖的一種
screen=pygame.display.set_mode((SCREEN_WIDTHSCREEN_HEIGHT))
#設(shè)計游戲的標題
pygame.display.set_caption(“飛機大戰(zhàn)“)
#背景音樂
#?pygame.mixer.music.load(“resources/sound/bullet.mp3“)
#?pygame.mixer.music.play()
#?pygame.mixer.music.load(“resources/sound/background.mp3“)
#?pygame.mixer.music.play()
pygame.mixer.music.load(“resources/sound/background.mp3“)
pygame.mixer.music.set_volume(0.2)
pygame.mixer.music.play(-1)
#?bullet_sound?=?pygame.mixer.Sound(“resources/sound/surface.mp3“)
#?bullet_sound.set_volume(0.2)
#背景圖設(shè)計
backgroun
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????257??2018-05-15?09:45??.idea\misc.xm
?????文件?????????262??2018-05-15?09:44??.idea\modules.xm
?????文件?????????398??2018-05-15?09:45??.idea\plane.iml
?????文件???????28958??2018-05-17?15:22??.idea\workspace.xm
?????文件????????9431??2018-05-16?16:39??03.py
?????文件????????1679??2018-04-26?14:14??resources\font\font.fnt
?????文件????????5193??2018-04-26?14:14??resources\font\font.png
?????文件???????33518??2018-04-26?14:14??resources\image\background.png
?????文件???????20682??2018-04-26?14:14??resources\image\gameover.png
?????文件???????18193??2018-05-16?14:56??resources\image\mieba.png
?????文件????????3624??2018-04-26?14:14??resources\image\shoot.pack
?????文件??????463797??2018-04-26?14:14??resources\image\shoot.png
?????文件?????????847??2018-04-26?14:14??resources\image\shoot_background.pack
?????文件???????92377??2018-04-26?14:14??resources\image\shoot_background.png
?????文件???????93112??2018-05-16?15:14??resources\sound\1.wav
?????文件?????2936907??2018-05-16?14:18??resources\sound\background.mp3
?????文件??????311024??2018-05-16?15:46??resources\sound\bullet.wav
?????文件???????17070??2018-05-16?15:47??resources\sound\bullet2.wav
?????文件???????20734??2018-05-16?15:49??resources\sound\bullet3.wav
?????文件?????1357021??2018-05-16?14:19??resources\sound\surface.mp3
- 上一篇:PYTHON自然語言處理
- 下一篇:Python絕技中文版及源代碼
評論
共有 條評論