最新消息:

少儿编程课堂|python – 用游戏学编程

Python 少儿编程 1887浏览 0评论

学习编程是很快乐的事情。当我们自己开发出一套时下流行的游戏时,这满满的成就感比玩儿游戏本身高出了不知道会有多少倍。

接下来一段时间我们就python从0开始学习怎么开发 flappy brid 游戏。在学习之前,我们不需要有任何编程基础,只要会打开电脑上网即可。通过本系列课程的学习,同学们可以掌握python编程基础。能够自己动手开发一些自己喜欢的游戏。

在开始编程之前,让我们再看一下这个游戏怎么运行的吧。

看过flappy brid怎么玩儿之后,我们一起动手实现它。同学们按照下面的步骤完成本节课的学习。

安装python及IDE可以参考这个课程:

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738150500472fd5785c194ebea336061163a8a974000

1. 怎么制作一个游戏

用游戏学编程

 

我们玩儿的游戏。从外观上看,包括:游戏背景、游戏角色、游戏声音、游戏动作几个模块。总结起来就是,我们的游戏角色在游戏背景上执行指定的动作,发出指定的声音。

用python编写游戏也是一样。我们首先设计好游戏大纲,把游戏大纲用python语言实现。然后填充好视觉图片和声音特效,我们的游戏就开发完成了。

2.pygame介绍

使用python开发游戏时,我们经常引入pygame库。什么是“库”呢?python库就是别人写好的一些完成特定功能的代码。就像我们手机安装的有各种各样的App,python也有各种各样的库。pygame就是python开发游戏常用的库。

我们为什么要使用python库呢?一些想计算器等简单的程序,我们只需要自己写代码就可以完成整个程序的开发。但是像我们玩儿的手机游戏、用的微信、QQ等程序都有比较复杂的功能,如果整个程序都有我们来开发。那会是几十万行代码的工作量,由于代码行数多,还容易引起bug。建筑工人盖楼时,我们不会在工地上自己做钢板瓷砖,而是用其他团队给我们生产好的瓷砖直接使用。我们写程序时也会经常使用其他团队开发的‘库’来简化我们的程序,通过引入库,我们可以和世界上任何一个程序员一起合作,协同开发。

pygame作为python的游戏库,具有 简单易用、功能完整、只需要少量代码即可完成游戏渲染等特点。是我们用python开发游戏的利器。

3.pygame安装

要想给python安装库,我们经常使用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开发游戏了。我们打开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()

 

我们发现代码是由一行行英语句子来组成的,如果我们认识这些单词,阅读这些代码就相当简单了。编程大量的依靠数学和英语,我们一定要在学校里把数学和英语掌握好哦。

5. pygame核心模块介绍

cursors 加载光标
display 访问显示设备
draw 绘制形状、线和点
event 管理事件
image 加载和存储图片
key 读取键盘按键
mouse 鼠标
sndarray 操作声音数据
time 管理时间和帧信息
transform 缩放和移动图像

6. FlappyBird让鸟儿动起来

接下来,我们就来开发FlappyBird游戏。这节课,我们先完成游戏背景、小鸟起飞的部分。

用游戏学编程

首先我们还是来看一下代码,再新建一个python文件,将下面的代码粘贴到文件中,点击运行。我们发现游戏背景和小鸟就出现了。当我们按下键盘的空格键,小鸟还会向上飞。

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)

 

好了,这节课就讲完了。本节我们首先复习了什么是python。什么是python的库。介绍了pygame,用pygame写了我们的第一个游戏。接下来,我们一起完成Flappy Brid游戏吧。

始发于简书:阿达老师

您必须 登录 才能发表评论!