猫史档案馆


【Python作品分享】勇闯地下一百层 中秋仙女版(bug已修复)【作品秀】

用户:可爱嫦娥姐姐可爱嫦娥姐姐查看:0 回复:0 评论:0 创建时间:2022-09-10T10:20:53


【作品展示】

center_image

 

【作品介绍】

到一百层有月饼吃

 

【作品源代码】

import random
import pgzrun
isloose = False
iswin = False
WIDTH = 600
HEIGHT = 800
score = 0
PlayerSpeed = 4.5
alien = Actor('alien')
alien.x = WIDTH/2
alien.y = HEIGHT/5
lastalieny = alien.y
rc = Actor('rc')
rc.pos = WIDTH/2,HEIGHT/2
bricks = []
for i in range(5):
    brick = Actor('brick')
    brick.pos = 100*(i+1), 150*(i+1)
    bricks.append(brick)


def draw():
    screen.clear()
    alien.draw()
    screen.draw.text("你已经坚持了"+str(score)+"层", (400, 20),
                     fontsize=25, fontname='s', color='white')
    for brick in bricks:
        brick.draw()
    if isloose:
        screen.draw.text("游戏失败", (80, HEIGHT/2-100),
                         fontsize=100, fontname='s', color='red')
    if iswin:
        rc.draw()
def update():
    global isloose, PlayerSpeed, score, lastalieny,iswin
    for brick in bricks:
        brick.y -= 1.5
    isplayerOnground = False
    for brick in bricks:
        if abs(alien.bottom-brick.top) < 5  \
                and brick.left - alien.left < alien.width*2/3 \
                and alien.right - brick.right < alien.width*2/3:
            isplayerOnground = True
            alien.bottom = brick.top
            if lastalieny < alien.y:
                score += 1
            if keyboard.left:
                alien.x = alien.x-PlayerSpeed
            if alien.x > 600:
                alien.x = 600
            if keyboard.right:
                alien.x = alien.x+PlayerSpeed
            if alien.x < 0:
                alien.x = 0
    lastalieny = alien.y
    if not isplayerOnground:
        alien.y += 1.5
        if keyboard.left:
            alien.x = alien.x-PlayerSpeed
        if alien.x > 600:
            alien.x = 600
        if keyboard.right:
            alien.x = alien.x+PlayerSpeed
        if alien.x < 0:
            alien.x = 0
    if bricks[0].top < 10:
        del bricks[0]
        brick = Actor('brick')
        brick.x = random.randint(100, 500)
        brick.y = HEIGHT
        bricks.append(brick)
    if alien.top < 0 or alien.bottom > HEIGHT:
        isloose = True
        PlayerSpeed = 0
    if score > 99:
        iswin = True


pgzrun.go()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页