猫史档案馆


【Python作品分享】music_block【作品秀】

用户:马云编程猫马云编程猫查看:0 回复:0 评论:0 创建时间:2020-03-18T14:29:52


【作品展示】

center_image

 

【作品介绍】

游戏

 

【作品源代码】

import pgzrun
import random


WIDTH = 450
HEIGHT = 650
game_state = 'start'
y_speed = 11
score = 0
count_list = [0, 0, 0]
combo = 0

block = [Actor("blue_block1"), Actor("yellow_block1"), Actor("green_block1")]
block_bottem = [Actor("blue_block2"), Actor("yellow_block2"), Actor("green_block2")]
block_height = block[0].height
animate_image = ['blue_block2', 'yellow_block2', 'green_block2', 'blue_block3', 'yellow_block3', 'green_block3']

for i in range(3):
    block[i].x = 75 + 150 * i
    block[i].y = (-150 * i)
    block_bottem[i].x = (75 + 150 * i)
    block_bottem[i].y = (HEIGHT - 100)

def draw():
    global game_state, score
    if game_state == 'start':
        screen.fill('gold')
        screen.draw.text('music block', (120, 260), fontsize=50)
        screen.draw.text('Press SPACE to start!', (120, 300), fontsize=30)
        if keyboard.space:
            game_state = 'play'
    elif game_state == 'play':
        screen.fill('gold')
        for i in range(3):
            screen.draw.filled_rect(Rect((73 + 150 * i, 0, 4, HEIGHT)), (150, 150, 150))
            block[i].draw()
            block_bottem[i].draw()
        screen.draw.text('score: ' + str(score), (10, 10),fontsize=40)
        if combo >= 3:
            screen.draw.text('Combo: ' + str(combo), (120, 300), fontsize=60)

def update():
    global game_state, y_speed, score, sount_list, combo
    if game_state == 'play':
        for i in range(3):
            block[i].y += y_speed

            if block[i].colliderect(block_bottem[i]):
                key = 6
                if keyboard.a:
                    key = 0
                if keyboard.s:
                    key = 1
                if keyboard.d:
                    key = 2
                if key == i:
                    score += 10
                    block[i].y = random.randint(-500, -50)
                    block_bottem[i].imae = animate_image[i + 3]
                    count_list[i] = 1
                    combo += 1

            if count_list[i] > 0:
                count_list[i] += 1
                if count_list[i] > 10:
                    count_list[i] = 0
                    block_bottem[i].omage = animate_image[i]

            if block[i].y >HEIGHT + block_height / 2:
                block[i].y = random.randint(-500, -50)
                score += combo * 2
                combo = 0

            if y_speed < 24:
                y_speed = 12 + score // 800




pgzrun.go()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页