程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

小學生python練習3--跳傘防鳥小游戲

編輯:Python

 

 

 

 

from pgzrun import *
from random import *
sounds.bg.play(-1)

WIDTH = 350
HEIGHT = 700

bg1 = Actor("bg1.png")
over = Actor("bg3.png")
kd = Actor("keduo1.png",[180,270])
#任務1 作答區域
bg2 = Actor("bg2.png")
bg2.top = HEIGHT

#創建小鳥
bird = []
def create_bird():
    b = Actor("bird1.png")
    b.x = -150
    b.y = randint(20, 680)
    bird.append(b)
clock.schedule_interval(create_bird, 2)

state = "begin"

def draw():
    if state == "begin":
        bg1.draw()
        bg2.draw()
        for b in bird:
            b.draw()
        kd.draw()
    if state == "end":
        over.draw()
        screen.draw.text(str(time1), (185, 180), fontsize=55, color="gold")

#背景移動    
def move_bg():
    bg1.y = bg1.y - 10
    bg2.y = bg2.y - 10
    #任務2 作答區域
    if bg1.bottom < 0 :
        bg1.top = HEIGHT
    if bg2.bottom < 0 :
        bg2.top = HEIGHT

#小鳥移動
def move_bird():
    for b in bird:
        b.x = b.x + 2
        if b.left > WIDTH:
            bird.remove(b)
#可多移動
def move_kd():
    if keyboard.left == True:
        if kd.left > 0:
            kd.x = kd.x - 5
    if keyboard.right == True:
        if kd.right < WIDTH:
            kd.x = kd.x + 5
    if keyboard.up == True:
        if kd.top > 0:
            kd.y = kd.y - 5
    if keyboard.down == True:
        if kd.bottom < HEIGHT:
            kd.y = kd.y + 5

def update():
    global state
    if state == "begin":
        move_bg()
        move_bird()
        move_kd()
        
        #小鳥和可多碰撞檢測
        index = kd.collidelist(bird)
        if index >= 0:
            music.play_once("hit.mp3")
            sounds.bg.stop()
            bird.pop(index)
            state = "end"

#{
def show1():
    if state == "begin":
        kd.image = "keduo2"
        for b in bird:
            b.image = "bird2"
        clock.schedule_unique(show2, 0.3)
    
    
def show2():
    if state == "begin":
        kd.image = "keduo1"
        for b in bird:
            b.image = "bird1"
        clock.schedule_unique(show1, 0.3)

clock.schedule_unique(show1, 0.2)
#}
#{
time1 = 0
def count():
    global time1
    if state == "begin":
        time1 += 1
        clock.schedule_unique(count, 1)  

count()
#}


go()

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved