import pygame #pygame2d遊戲
import
time
from pygame.locals import *
class
heroplane(object):
def__init__
(self,screen_temp):
self.x=210self.y=700self.screen=screen_temp
self.image= pygame.image.load("
./feiji/hero1.png")
self.bullet_list=
defdisplay(self):
self.screen.blit(self.image, (self.x, self.y))
for bullet in
self.bullet_list:
bullet.display()
bullet.move()
defmove_left(self):
self.x-=5
defmove_right(self):
self.x+=5
deffire(self):
class
enemyplane(object):
def__init__
(self,screen_temp):
self.x=0
self.y=0
self.screen=screen_temp#
顯示敵機
self.image= pygame.image.load("
./feiji/enemy0.png")
self.bullet_list=
self.direction="
right"#
飛機預設的顯示方向
defdisplay(self):
self.screen.blit(self.image, (self.x, self.y))
for bullet in
self.bullet_list:
bullet.display()
bullet.move()
defmove(self):
if self.direction=="
right
":#控制方向
self.x+=5
elif self.direction=="
left":
self.x-=5
if self.x>480-50:#
測試距離
self.direction="
left
"elif self.x<0:#
往右 self.direction="
right
"def
fire(self):
class
bullet(object):
def__init__
(self,screen_temp,x,y):
self.x = x+40self.y = y-20self.screen =screen_temp
self.image = pygame.image.load("
./feiji/bullet.png")
defdisplay(self):
self.screen.blit(self.image,(self.x,self.y))
defmove(self):
self.y-=20
defkey_control(herotemp):
for event in pygame.event.get(): #
11if event.type == quit: #
按下叉號
print("
exit")
exit()
#退出程式,迴圈結束是break
elif event.type == keydown: #
按下鍵盤鍵
if event.key == k_a or event.key ==k_left:
print("
left")
herotemp.move_left()
elif event.key == k_d or event.key ==k_right:
print("
right")
herotemp.move_right()
elif event.key ==k_space:
print("
space")
herotemp.fire()
def main(): #
01 screen = pygame.display.set_mode((480, 852), 0, 32) #
1視窗 background = pygame.image.load("
./feiji/background.png
") #
2背景 hero =heroplane(screen)
enemy=enemyplane(screen)
while true: #
5死迴圈,一直重複
screen.blit(background, (0, 0)) #
3背景貼到視窗00處
hero.display()
enemy.display()
enemy.move()
#呼叫敵機方法
pygame.display.update() #
4顯示貼的效果
key_control(hero)
time.sleep(0.01) #
6電腦配置不高的話,記憶體占用會很大,所以延時顯示可以減少記憶體消耗
if__name__ == '
__main__
': #
0 main()
python中列表左右移動問題
引例 乙個陣列a中存有n 0 個整數,將每個整數迴圈向右移m 0 個位置。輸入樣例 6 2 輸入乙個6個整數的列表 向右移動2個位置12 3456 乙個6個整數的列表輸出樣例 561 2341.右移 n input split 輸入列表個數和移動個數 m int n 1 移動 個位置 num lis...
pygame控制飛船上下左右移動
小白 hust 建立飛船左右移動的能力之後,想繼續建立飛船上下移動的能力,可是出現問題,先貼上 片段 飛船屬性 import pygame class ship docstring for ship def init self,ai settings,screen 初始化飛船並設定其初始位置 sel...
C 關於控制項的上下左右移動
c 怎麼讓控制項上下左右移動?如圖 有多個控制項 根據上下左右鍵 控制每個控制項的焦點 public partial class form1 form 定義乙個二位陣列 存放textbox控制項 textbox arr private void form1 load object sender,ev...