本文目錄一覽:
- 1、python基礎教程
- 2、python製作飛機大戰需要哪些python術語
- 3、python中飛機大戰只能運行出來主窗體效果,是什麼原因
- 4、如何用用python寫飛機大戰?
- 5、怎麼用python學飛機大戰?
python基礎教程
你可以看黑馬程序員Python入門教程:
教程學習時間15天
1-3天內容:為Linux基礎命令
4-13天內容:為Python基礎教程14-15 天內容:為飛機大戰項目演練
第一階段(1-3天):
該階段首先通過介紹不同領域的三種操作系統,操作系統的發展簡史以及Linux系統的文件目錄結構讓大家對Linux系統有一個簡單的認識,同時知道為什麼要學習Linux命令。然後我們會正式學習Linux命令
1. 文件和目錄命令:ls,cd,touch,mkdir,rm
2. 拷貝和移動命令:tree,cp,mv
3. 文件內容命令:cat,more,grep
4. 遠程管理命令:ifconfig,ping,SSH的工作方式簡介以及ssh命令
5. 用戶許可權及用戶管理命令:chmod,chgrp,useradd,passwd,userdel
6. 軟體安裝及壓縮命令:apt簡介及命令,tar,gzip壓縮命令,bzip2壓縮命令
7. vim的基本使用
第二階段(4-10天)
該階段我們正式進入Python這門語言的學習,首先通過了解Python語言的起源,Python語言的設計目標,Python語言的設計哲學,Python語言的優缺點和面向對象的基本概念,以及Python語言的執行方式,還有Python集成開發環境PyCharm的使用為我們接下來的學習做鋪墊。
然後我們會學習int,string,float三種簡單的變數類型,變數間的計算,變數的輸入輸出,if判斷語句,while循環語句,for循環語句,break和continue的使用,函數的基本使用,模塊的使用,列表,元組,字典三種高級變數,字元串的常用操作。
接下來我們會通過一個名片管理系統的案例,把這一階段的知識進行一個串聯。在學習名片管理系統時,首先我們會學習怎麼去搭建這一系統的框架,然後我們會分別實現新增名片,顯示全部名片,查詢名片,刪除名片,修改名片這些功能。
最後我們會學習語法的進階內容,全局變數,局部變數,可變數據類型和不可變數據類型以及函數返回多個值,函數的預設參數,多值參數,遞歸的基本使用。
第三階段(11-13天)
該階段我們會學習面向對象(OOP)這一重要的編程思想,首先學習的知識點有類和對象的基本概念,dir函數,self的作用,初始化方法__init__,內置函數__str__,__del__,單繼承,方法重寫,私有屬性和方法,多繼承,多態,類屬性,靜態方法。
然後我們還會學習單例模式這一設計模式,異常的捕獲,異常的拋出,from import局部導入,from import導入同名工具, from import導入所有工具,包的使用,製作模塊,pip的使用以及文件的相關操作。
第四階段(14-15天)
該階段是項目演練階段,我們會帶領大家通過使用之前學習過的知識開發飛機大戰這一經典遊戲,項目中分別有遊戲窗口,圖像繪製,遊戲循環,事件監聽,精靈和精靈組以及創建敵機,創建英雄和發射子彈,碰撞檢測等模塊
python製作飛機大戰需要哪些python術語
變數、數據類型、類、方法、gtk或者wxWidget或者Qt、OpenGL、函數、屬性、物理引擎、三角函數、動畫、Sprite等
python中飛機大戰只能運行出來主窗體效果,是什麼原因
軟體不兼容
檢查軟體支持的操作系統。很多時候,因為大多數軟體需要兼容大部分用戶的操作系統,在開發的時候,會針對部分系統去開發,而最新版的操作系統可能不支持。
如何用用python寫飛機大戰?
import pygame
from settings import Settings
from ship import Ship
import game_functions as gf
from pygame.sprite import Group
def run_game():
# 初始化遊戲並創建一個屏幕對象
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption(“Alien Invasion”)
# 創建一艘飛船
ship = Ship(ai_settings, screen)
# 創建一個用於存儲子彈的編組
bullets = Group()
# 開始遊戲主循環
while True:
gf.check_events(ai_settings, screen, ship, bullets)
ship.update()
bullets.update()
gf.update_bullets(ship, bullets)
gf.update_screen(ai_settings, screen, ship, bullets)
run_game()
怎麼用python學飛機大戰?
1、我方飛機模塊
import pygame
class MyPlane(pygame.sprite.Sprite):
def __init__(self,bg_size):
pygame.sprite.Sprite.__init__(self)
self.image1 = pygame.image.load(r’E:\learn pygame\image\me1.png’).convert_alpha()
self.image2 = pygame.image.load(r’E:\learn pygame\image\me2.png’).convert_alpha()
self.image3 = pygame.image.load(r’E:\learn pygame\image\me_protect.png’).convert_alpha()
self.destroy_images = []
self.destroy_images.extend([\
pygame.image.load(r’E:\learn pygame\image\me_destroy_1.png’).convert_alpha(), \
pygame.image.load(r’E:\learn pygame\image\me_destroy_2.png’).convert_alpha(), \
pygame.image.load(r’E:\learn pygame\image\me_destroy_3.png’).convert_alpha(), \
pygame.image.load(r’E:\learn pygame\image\me_destroy_4.png’).convert_alpha() \
])
self.rect = self.image1.get_rect()
self.width,self.height = bg_size[0],bg_size[1]
self.rect.left,self.rect.top = (self.width – self.rect.width) // 2,self.height – self.rect.height – 60
self.speed = 10
self.active = True
self.invincible = False
self.mask = pygame.mask.from_surface(self.image1)
def moveUp(self):
if self.rect.top 0:
self.rect.top -= self.speed
else:
self.rect.top = 0
def moveDown(self):
if self.rect.bottom self.height – 30:
self.rect.top += self.speed
else:
self.rect.bottom = self.height – 30
def moveLeft(self):
if self.rect.left 0:
self.rect.left -= self.speed
else:
self.rect.left = 0
def moveRight(self):
if self.rect.right self.width:
self.rect.left += self.speed
else:
self.rect.right = self.width
def reset(self):
self.rect.left,self.rect.top = (self.width – self.rect.width) // 2,self.height – self.rect.height – 30
self.active = True
self.invincible = True
2、敵機與背景動圖模塊
import pygame
from random import *
class SmallEnemy(pygame.sprite.Sprite):
energy = 1
def __init__(self,bg_size):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(r’E:\learn pygame\image\enemy1.png’).convert_alpha()
self.destroy_images = []
self.destroy_images.extend([\
pygame.image.load(r’E:\learn pygame\image\enemy1_down1.png’).convert_alpha(), \
pygame.image.load(r’E:\learn pygame\image\enemy1_down2.png’).convert_alpha(), \
pygame.image.load(r’E:\learn pygame\image\enemy1_down3.png’).convert_alpha(), \
pygame.image.load(r’E:\learn pygame\image\enemy1_down4.png’).convert_alpha() \
])
self.rect = self.image.get_rect()
self.width,self.height = bg_size[0],bg_size[1]
self.speed = 2
self.active = True
self.rect.left,self.rect.top = \
randint(0,self.width – self.rect.width), \
randint(-5 * self.height, 0)
self.mask = pygame.mask.from_surface(self.image)
self.energy = SmallEnemy.energy
self.hit = False
def move(self):
if self.rect.top self.height:
self.rect.top += self.speed
else:
self.reset()
def reset(self):
self.active = True
self.energy = SmallEnemy.energy
self.rect.left,self.rect.top = \
randint(0,self.width – self.rect.width), \
randint(-5 * self.height, 0)
class MidEnemy(pygame.sprite.Sprite):
energy = 4
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/191934.html