pygame入门课程与实践

2 篇文章 0 订阅
1 篇文章 0 订阅
本文介绍了使用Python库pgzero开发简单游戏的过程,包括安装依赖、设置屏幕尺寸、避免重复循环以及基本的游戏控制逻辑。作者指导如何在cmd中安装pgzero并创建游戏结构,以飞翔的小鸟为例详细讲解了初始化、画图和游戏逻辑的关键部分。
摘要由CSDN通过智能技术生成

在我们的编程开始前,我们要做好以下准备工作。

1,按下win+R键,win键就是字母z下面的那个键,在窗口内输入cmd

                        在cmd里面输入以下指令:

                        pip install pgzero

                        这个代码是下载pgzurn。当然,你有可以不下。

2,创建一个文件夹,里面再创建一个叫images的文件夹,这个ima

ges的文件夹里面放上图片。接下来我们就可以做游戏了。

                                       今天,我们来做一个‘飞翔的小鸟’

1,下面是游戏初始化代码。全部代码与所需图片我放在文章结尾。

import pgzrun
import random
HEIGHT=600
WIDTH=350
s=0
fu=1
bg=Actor('background')

bl=Actor('bar_down')

bu=Actor('bar_up')
bu.x=500
bu.y=random.randint(0,150)
bl.y=bu.y+170+368
bird=Actor('kun')

bird.x=0
bird.y=0
bl.x=bu.x

看不懂找我私信

2,下面的代码将会把所有角色画出来。

def draw():
    global fu
    bg.draw()
    bird.draw()
    bl.draw()
    bu.draw()
    screen.draw.text('score:'+str(s),(0,100),fontsize=36,color='red')
    if fu==0:
        
        screen.draw.text('you_died',(20,300),fontsize=100,color='red')

3,这是最重要的部分,游戏的控制与输赢的判断(好吧,我承认,这个游戏没有赢的条件)

def update():

    global s,fu
    if bird.colliderect(bu) or bird.colliderect(bl):
        fu=0
        return
        
    if bird.y>580:
        return

    bird.y += 2

    if bird.y<20:
        bird.y=20
    if bl.x>-30:
        bl.x-=2
        bu.x-=2
        print(bl.x)
    else:
        bl.x=375
        bu.x=375
        bu.y=random.randint(0,150)
        bl.y=bu.y+170+368
    if bu.x<=-30:
        s+=1


        print(s)
    if keyboard.left:
        
        bird.y-=10
        #s.x-=3
        if bird.y<20:
            bird.y=20

                你们改编时,千万不要在这个函数里写重复循环,不然会卡崩的!

4,结尾程序

pgzrun.go()

重点梳理

1,打开pgzurn

import pgzrun
import random

2,设置屏幕大小

HEIGHT=600
WIDTH=350

3,不要再update里写重复循环,不然会卡崩。

4,不懂的地方找我私信。

                                       好了,我懂你,全部代码,图片与图片名称

import pgzrun
import random
HEIGHT=600
WIDTH=350
s=0
fu=1
bg=Actor('background')

bl=Actor('bar_down')

bu=Actor('bar_up')
bu.x=500
bu.y=random.randint(0,150)
bl.y=bu.y+170+368
bird=Actor('kun')

bird.x=0
bird.y=0
bl.x=bu.x



def draw():
    global fu
    bg.draw()
    bird.draw()
    bl.draw()
    bu.draw()
    screen.draw.text('score:'+str(s),(0,100),fontsize=36,color='red')
    if fu==0:
        
        screen.draw.text('you_died',(20,300),fontsize=100,color='red')

    
    
def update():

    global s,fu
    if bird.colliderect(bu) or bird.colliderect(bl):
        fu=0
        return
        
    if bird.y>580:
        return

    bird.y += 2

    if bird.y<20:
        bird.y=20
    if bl.x>-30:
        bl.x-=2
        bu.x-=2
        print(bl.x)
    else:
        bl.x=375
        bu.x=375
        bu.y=random.randint(0,150)
        bl.y=bu.y+170+368
    if bu.x<=-30:
        s+=1


        print(s)
    if keyboard.left:
        
        bird.y-=10
        #s.x-=3
        if bird.y<20:
            bird.y=20
def on_mouse_down():
    pass

pgzrun.go()

→名称:kun

名称

background

名称:bar_up

名称:bar_down

                                                    哈哈,恭喜你,看到了这行提示

                                                        我告诉你最最最最.......重要的一点:

                                                        按←键起飞!绝对有人按空格,鼠标之类的!

                        好了,今天的课程就到这里,拜拜!

                                                                     你是有多闲,才翻到这来的?都

说了没了!

for i in range(100):
    print('没有了')

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值