猫史档案馆


【Python作品分享】hzh

用户:幽默的大黄鸡794l幽默的大黄鸡794l查看:3 回复:1 评论:3 创建时间:2022-03-28T16:36:21


【作品展示】

center_image

 

【作品介绍】

熙哥真帅

 

【作品源代码】

import pgzrun
import random
WIDTH = 700
HEIGHT = 600
up = 0
back1 = Actor('xg')
back2 = Actor('xg')
back1.x=350
back2.x = WIDTH+back1.x
bird = Actor('xi')
bird.x = 250
bird.y = HEIGHT/2
bar_up1 = Actor('bar_up')
bar_up1.x = 600
bar_up1.y = 0
bar_down1 = Actor('bar_down')
bar_down1.x = 600
bar_down1.y = 600
bar_up2 = Actor('bar_up')
bar_up2.x = 950
bar_up2.y = 0
bar_down2 = Actor('bar_down')
bar_down2.x = 950
bar_down2.y = 600
score = -1
speed = 2.5
upv=0
upon=0
downtime=0
speedMAX=7
barguo=0
gameover=0

def draw():
    back1.draw()
    back2.draw()
    bird.draw()
    bar_up1.draw()
    bar_up2.draw()
    bar_down1.draw()
    bar_down2.draw()
    screen.draw.text(str(score), (30, 30), fontsize=50, color='green')
    if gameover==1:
        screen.draw.text(str(score), (1, 250), fontsize=200, color='red')
        screen.draw.text(str("GAME OVER"), (1, 130), fontsize=164, color='red')

def update():
    global score, speed, score, up, upv, upon, downtime, barguo, gameover
    back2.x = WIDTH+back1.x
    if gameover == 0:
        if keyboard.up and upon == 0:
            up=40
            upon=1
        else:
            upon=0
        upv=up/5
        if up == 0:
            downtime+=1
            bird.y += min(downtime/5,10)
        else:
            downtime=0
        if up > 0:
            bird.y -= upv
            up -= max(int(upv),1)
        bar_up1.x -= min(speed,speedMAX)
        bar_down1.x = bar_up1.x
        bar_up2.x -= min(speed, speedMAX)
        bar_down2.x = bar_up2.x
        back1.x -= 0.5*min(speed, speedMAX)
        if back1.x<=-350:
            back1.x=350
        if bar_up1.x <= -50:
            bar_up1.x = WIDTH+50
            bar_down1.x = WIDTH+50
            bar_up1.y = random.randint(-200, 200)
            bar_down1.y = 600+bar_up1.y
        if bar_up1.x >= bird.x-0.49*min(speed, speedMAX) and bar_up1.x <= bird.x+0.49*min(speed, speedMAX):
            barguo = 0
        if bar_up2.x < -50:
            bar_up2.x = WIDTH+50
            bar_down2.x = WIDTH+50
            bar_up2.y = random.randint(-200, 200)
            bar_down2.y = 600+bar_up2.y
        if bar_up2.x >= bird.x-0.49*min(speed, speedMAX) and bar_up2.x <= bird.x+0.49*min(speed, speedMAX):
            barguo = 0
        if barguo == 0 :
            score += 1
            barguo=1
            if(score % 2 == 0):
                speed += 1
        if bird.colliderect(bar_up2) or bird.colliderect(bar_down2) or bird.colliderect(bar_up1) or bird.colliderect(bar_down1) or bird.y < 0 or bird.y > HEIGHT:
            gameover = 1
        print(up)
    if gameover == 1 and keyboard.up:
        up = 0
        bird.y = HEIGHT/2
        score = -1
        speed = 2
        upv = 0
        downtime = 0
        barguo = 0
        bar_up1.x = 600
        bar_up2.x = 950
        gameover = 0


pgzrun.go()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
GeRaLdInE29GeRaLdInE29

自古沙发归离子()

点赞0


评论