猫史档案馆


【Python作品分享】【去太空,趣编成】【作品秀】

用户:忠诚的疾风雀L6Ha忠诚的疾风雀L6Ha查看:0 回复:0 评论:0 创建时间:2021-05-05T17:36:17


【作品展示】

center_image

 

【作品介绍】

在太空清理垃圾

安左右键移动

接住一个太空垃圾加一分

 

【作品源代码】

import pygame
import random

timer = pygame.time.Clock()

pygame.init()
screen = pygame.display.set_mode((500, 700))
pygame.display.set_caption('清理太空垃圾')
pygame.key.set_repeat(10)

background = "星空1.png"
mao_left = "火箭1.png"
mao_right = "火箭1.png"
coin = "垃圾1.png"

pygame.mixer.music.load('BGM.mp3')
pygame.mixer.music.play(-1)
background_image = pygame.image.load(background)
mao_image = pygame.image.load(mao_left)
coin_image = pygame.image.load(coin)
success = pygame.mixer.Sound("success.wav")

font = pygame.font.SysFont("SimHei", 24)

coin_x = 200
coin_y = -50
mao_x = 200
mao_y = 700 - mao_image.get_height()
mao_move_x = 0
score = 0

keep_going = True
while keep_going:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            keep_going = False

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                mao_move_x = -4
            if event.key == pygame.K_RIGHT:
                mao_image = pygame.image.load(mao_right)
                mao_move_x = +4

        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT:
                mao_move_x = 0
            if event.key == pygame.K_RIGHT:
                mao_move_x = 0

    coin_y += 6
    mao_x += mao_move_x

    if mao_x < 0:
        mao_x = 0
    elif mao_x > 500-mao_image.get_width():
        mao_x = 500-mao_image.get_width()

    if coin_y > mao_y:
        if(coin_x+coin_image.get_width() > mao_x) and (coin_x < mao_x+mao_image.get_width()):
            coin_x = random.randint(0, 350)
            coin_y = -150
            print("捡到太空垃圾了")
            success.play()
            score += 1
            print("你捡到的太空垃圾了:", score)

    if coin_y > 700:
        coin_x = random.randint(0, 350)
        coin_y = -200

    screen.blit(background_image, (0, 0))
    screen.blit(mao_image, (mao_x, mao_y))
    screen.blit(coin_image, (coin_x, coin_y))

    text = font.render("垃圾数:"+str(score), True, (225, 215, 0))
    screen.blit(text, (350, 10))

    pygame.display.update()
    timer.tick(120)

pygame.quit()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页