python擴充套件1遊戲專案的開發 1

2021-09-12 07:38:13 字數 2340 閱讀 9872

開始前,先安裝pygame包

1.建立pygame視窗以及響應使用者輸入

import sys

import pygame

def run_game():

# 初始化遊戲並建立乙個螢幕物件

pygame.init()

screen = pygame.display.set_mode((1200,800)) #指定遊戲視窗大小

pygame.display.set_caption("alien invasion")

bg_color = (230,230,230) #設定背景色

# 開始遊戲的主迴圈

while true:

# 監視鍵盤和滑鼠事件

for event in pygame.event.get():

if event.type == pygame.quit:

sys.exit()

screen.fill(bg_color) #背景色填充螢幕

pygame.display.flip() #讓繪製的螢幕可見

run_game()

效果:

2.新增飛船

import pygame

class ship(): #建立ship類

def __init__(self, screen):

# 初始化飛船並設定其初始位置

self.screen = screen

# 載入飛船影象並獲取其外接矩形

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

self.rect = self.image.get_rect()

self.screen_rect = screen.get_rect()

# 將每艘新飛船放在螢幕底部**

self.rect.centerx = self.screen_rect.centerx

self.rect.bottom = self.screen_rect.bottom

def blitme(self):

# 在指定位置繪製飛船

self.screen.blit(self.image, self.rect)

在主程式內新增:

from ship import ship

#建立飛船

ship = ship(screen)

ship.blitme()

效果:

3.駕駛飛船

①左右移動

def check_events(ship):

for event in pygame.event.get():

if event.type == pygame.quit:

sys.exit()

elif event.type == pygame.keydown:

if event.key == pygame.k_right:

ship.moving_right = true

elif event.key == pygame.k_left:

ship.moving_left = true

elif event.type == pygame.keyup:

if event.key == pygame.k_right:

ship.moving_right = false

elif event.key == pygame.k_left:

ship.moving_left = false

並為ship類新增屬性:

self.moving_right = false

self.moving_left = false

新增方法:

def update():

if self.moving_right and self.rect.right < self.screen_rect.right: #控制移動在螢幕內

self.rect.centerx +=2

if self.moving_left self.rect.left > 0:

self.rect.centerx -=2

使用nbdev進行jupyter專案的開發

使用jupyter進行開發,如何解決notebook和指令碼的矛盾呢?使用 nbdev,這個工具有點類似於pandoc。可以對juyter notebook進行自動的轉換成 python包,也類似於 data science project templete,提供了乙個模板組織自己的 noteboo...

實際專案的實現1

mysql條件下 建立新的資料庫 create database project1 charset utf8建立虛擬環境 mkvirtualenv p python3 虛擬環境的名字 project1 通過workon 進入設定好的環境 在 desktop 目錄下建立自己的專案 建立專案的語句 dj...

python專案的log配置

import logging 建立logging物件 logger logging.getlogger log dir path xx x test.log log檔案路徑 建立乙個檔案物件,如果檔案超過500個bytes,僅保留5個檔案。fh logging.handlers.rotatingfi...