python實現飛船遊戲的縱向移動

2022-10-04 14:27:25 字數 2372 閱讀 3834

我是跟著書裡一步步寫到橫向移動後 我就想怎麼縱向移動,放上自己寫的**,如果有問題的話,請指出來,我也是剛剛學習python,希望可以跟大家多多交流。

新增的就是有關up和down的**了。

我自己是成功了,肯定有其他的更優化的,那就等我在學習一段時間吧。

附上**:

game_function:

import sys

import pygame

# 監視鍵盤和滑鼠事件

def check_keydown_events(event,ship):

if event.key==pygame.k_right:

ship.moving_right=true

elif event.key==pygame.k_left:

ship.moving_left=true

elif event.key==pygame.k_up:

ship.moving_up=true

elif 程式設計客棧event.key==pygame.k_down:

ship.moving_down=true

def check_keyup_events(event,ship):

if event.key==pygame.k_right:

ship.moving_right=false

elif event.key==pygame.k_left:

sh程式設計客棧ip.moving_left=false

elif event.key==py程式設計客棧game.k_up:

ship.moving_up=false

elif event.key==pygame.k_down:

ship.moving_down=false

def check_events(ship):

for event in pygame.event.get():

if event.type==pygame.quit:

sys.exit()

elif event.type==pygame.keydown:

check_keydown_events(event,ship)

eli程式設計客棧f event.type==pygame.keyup:

check_keyup_events(event,ship)

def update_screen(ai_settings,screen,ship):

screen.fill(ai_settings.bg_color)

ship.blitme()

pygame.display.flip() #讓最近回執的螢幕可見(重新整理)

ship:

import pygame

class ship():

def __init__(self,ai_settings,screen):

self.screen=screen

self.ai_settings=ai_settings

#載入飛船影象

self.image=pygame.image.load('chengyan_ship.bmp')

self.rect=self.image.get_rect()

self.screen_rect=screen.get_rect()

self.rect.centerx=self.screen_rect.centerx #x的座標

self.rect.centery=self.screen_rect.centery #y的座標

self.rect.bottom=self.screen_rect.bottom

self.moving_right=false

self.moving_left=false

self.moving_up=false

self.moving_down=false

#得到飛船移動到最下面的值(我不知道有沒有表述清楚...就是只能飛到介面的最下面)

self.screen_top=self.rect.top

def update(self):

#橫向移動

if self.moving_right and self.rect.right0:

self.rect.centerx-=self.ai_settings.ship_speed_factor

if self.moving_up and self.rect.top>0:

self.rect.centery-=self.ai_settings.ship_speed_factor

if self.moving_down and self.rect.top

本文標題: python實現飛船遊戲的縱向移動

本文位址: /jiaoben/python/310029.html

python飛船遊戲(三)

ship.py class ship sprite def init self,ai settings,screen 初始化飛船並設定其初始位置 super ship,self init self.screen screen self.ai settings ai settings 載入飛船影象並獲...

跳躍遊戲的python實現

給定乙個非負整數列表,假定你的初始位置為列表第乙個下標。列表中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到列表的最後乙個下標。例如 輸入 a 2,3,1,1,4 輸出 true 輸入 a 3,2,1,0,4 輸出 false 採用貪心演算法方式,主要思想就是從列表中的第乙個元...

Python 生命遊戲的實現

給定乙個包含 m n 個格仔的面板,每乙個格仔都可以看成是乙個細胞。每個細胞都具有乙個初始狀態 1 即為活細胞 live 或 0 即為死細胞 dead 每個細胞與其八個相鄰位置 水平,垂直,對角線 的細胞都遵循以下四條生存定律 如果活細胞周圍八個位置的活細胞數少於兩個,則該位置活細胞死亡 如果活細胞...