python编程少儿游戏编程_少儿编程课堂|python – 用游戏学编程
學習編程是很快樂的事情。當我們自己開發(fā)出一套時下流行的游戲時,這滿滿的成就感比玩兒游戲本身高出了不知道會有多少倍。
接下來一段時間我們就python從0開始學習怎么開發(fā) flappy brid 游戲。在學習之前,我們不需要有任何編程基礎,只要會打開電腦上網(wǎng)即可。通過本系列課程的學習,同學們可以掌握python編程基礎。能夠自己動手開發(fā)一些自己喜歡的游戲。
在開始編程之前,讓我們再看一下這個游戲怎么運行的吧。
看過flappy brid怎么玩兒之后,我們一起動手實現(xiàn)它。同學們按照下面的步驟完成本節(jié)課的學習。
安裝python及IDE可以參考這個課程:
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738150500472fd5785c194ebea336061163a8a974000
1. 怎么制作一個游戲
我們玩兒的游戲。從外觀上看,包括:游戲背景、游戲角色、游戲聲音、游戲動作幾個模塊。總結(jié)起來就是,我們的游戲角色在游戲背景上執(zhí)行指定的動作,發(fā)出指定的聲音。
用python編寫游戲也是一樣。我們首先設計好游戲大綱,把游戲大綱用python語言實現(xiàn)。然后填充好視覺圖片和聲音特效,我們的游戲就開發(fā)完成了。
2.pygame介紹
使用python開發(fā)游戲時,我們經(jīng)常引入pygame庫。什么是“庫”呢?python庫就是別人寫好的一些完成特定功能的代碼。就像我們手機安裝的有各種各樣的App,python也有各種各樣的庫。pygame就是python開發(fā)游戲常用的庫。
我們?yōu)槭裁匆褂胮ython庫呢?一些想計算器等簡單的程序,我們只需要自己寫代碼就可以完成整個程序的開發(fā)。但是像我們玩兒的手機游戲、用的微信、QQ等程序都有比較復雜的功能,如果整個程序都有我們來開發(fā)。那會是幾十萬行代碼的工作量,由于代碼行數(shù)多,還容易引起bug。建筑工人蓋樓時,我們不會在工地上自己做鋼板瓷磚,而是用其他團隊給我們生產(chǎn)好的瓷磚直接使用。我們寫程序時也會經(jīng)常使用其他團隊開發(fā)的‘庫’來簡化我們的程序,通過引入庫,我們可以和世界上任何一個程序員一起合作,協(xié)同開發(fā)。
pygame作為python的游戲庫,具有 簡單易用、功能完整、只需要少量代碼即可完成游戲渲染等特點。是我們用python開發(fā)游戲的利器。
3.pygame安裝
要想給python安裝庫,我們經(jīng)常使用pip工具作為輔助。pip的安裝方法如下。
1:用瀏覽器打開
https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz?壓縮包下載后解壓到指定文件夾
2: 用命令行進入解壓后的文件夾,運行 python setup.py install 命令,完成pip的安裝
pip安裝完成后,我們就可以使用 python -m pip install -U pygame –user 命令安裝 pygame了。
4.pygame-helloworld
pygame庫安裝好后,我們就可以用python開發(fā)游戲了。我們打開pycharm,新建一個python文件,將下面的代碼粘貼到文件中,我們的第一個游戲就制作完成了!雖然有些簡單,但是也像模像樣。
import sys, pygame
pygame.init()
width = 320
height = 240
speed = [2, 2]
screen = pygame.display.set_mode([width, height])
ball = pygame.image.load("../assets/sprites/ball.gif")
ball_rect = ball.get_rect()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
ball_rect = ball_rect.move(speed)
print(ball_rect.left, ball_rect.right, ball_rect.top, ball_rect.bottom)
if ball_rect.left < 0 or ball_rect.right > width:
speed[0] = -speed[0]
if ball_rect.top < 0 or ball_rect.bottom > height:
speed[1] = -speed[1]
screen.fill([0, 0, 0])
screen.blit(ball, ball_rect)
pygame.display.flip()
我們發(fā)現(xiàn)代碼是由一行行英語句子來組成的,如果我們認識這些單詞,閱讀這些代碼就相當簡單了。編程大量的依靠數(shù)學和英語,我們一定要在學校里把數(shù)學和英語掌握好哦。
5. pygame核心模塊介紹
cursors
加載光標
display
訪問顯示設備
draw
繪制形狀、線和點
event
管理事件
image
加載和存儲圖片
key
讀取鍵盤按鍵
mouse
鼠標
sndarray
操作聲音數(shù)據(jù)
time
管理時間和幀信息
transform
縮放和移動圖像
6. FlappyBird讓鳥兒動起來
接下來,我們就來開發(fā)FlappyBird游戲。這節(jié)課,我們先完成游戲背景、小鳥起飛的部分。
首先我們還是來看一下代碼,再新建一個python文件,將下面的代碼粘貼到文件中,點擊運行。我們發(fā)現(xiàn)游戲背景和小鳥就出現(xiàn)了。當我們按下鍵盤的空格鍵,小鳥還會向上飛。
import sys
import pygame
from pygame.locals import *
screenWidth = 288
screenHeight = 512
pygame.init()
pygame.display.set_caption('Flappy Bird')
fpsClock = pygame.time.Clock()
screen = pygame.display.set_mode((screenWidth, screenHeight))
background = pygame.image.load('../assets/sprites/background-day.png').convert()
player = pygame.image.load('../assets/sprites/redbird-upflap.png').convert_alpha()
playerX = int(screenWidth * 0.2)
playerY = int((screenHeight - player.get_height()) / 2)
while True:
screen.blit(background, (0, 0))
screen.blit(player, (playerX, playerY))
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN and event.key == K_SPACE:
playerY = playerY - 20
pygame.display.update()
fpsClock.tick(60)
好了,這節(jié)課就講完了。本節(jié)我們首先復習了什么是python。什么是python的庫。介紹了pygame,用pygame寫了我們的第一個游戲。接下來,我們一起完成Flappy Brid游戲吧。
總結(jié)
以上是生活随笔為你收集整理的python编程少儿游戏编程_少儿编程课堂|python – 用游戏学编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火狐浏览器插件_期待!全新安卓正式版Fi
- 下一篇: python除号的乘法加括号_乘除法添加