猫史档案馆


【Python作品分享】夺宝奇兵【作品秀】

用户:痴翰痴翰查看:0 回复:0 评论:0 创建时间:2020-02-17T12:49:41


【作品展示】

center_image

 

【作品介绍】

是一款无限夺宝小游戏

 

【作品源代码】

import pygame
import random

pygame.init()
s = pygame.display.set_mode((500,700))
pygame.display.set_caption('夺宝奇兵')

b = 'background.png'
ml = 'mao_left.png'
mr = 'mao_right.png'
c = 'coin_喵all.png'
d = 'download.png'

pygame.mixer.music.load('BGM.mp3')
pygame.mixer.music.play(-1)

bi = pygame.image.load(b)
mi = pygame.image.load(ml)
ci = pygame.image.load(c)
di = pygame.image.load(d)
su = pygame.mixer.Sound('success.wav')
vv = pygame.mixer.Sound('success.wav')

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

cx = 200
cy = -150
dx = 200
dy = -150
mx = 200
my = 700 - mi.get_height()
mmx = 0
score = 0
vc = 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:
                mi = pygame.image.load(ml)
                mmx = -4
        
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT:
                mmx = 0
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                mi = pygame.image.load(mr)
                mmx = 4

        if event.type == pygame.KEYUP:
            if event.key == pygame.K_RIGHT:
                mmx = 0
    cy += 6
    dy += 6
    mx += mmx

    if mx < 0:
        mx = 0
    elif mx > 500-mi.get_width():
        mx = 500-mi.get_width()

    if cy > my:
        if(cx + ci.get_width() > mx) and (cx < mx + mi.get_width()):
            cx = random.randint(0,350) 
            cy = -150
            print('接到金币了')
            su.play()
            score += 1
            print('金币数:',score)
    if dy > my:
        if(dx + di.get_width() > mx) and (dx < mx + mi.get_width()):
            dx = random.randint(0, 350)
            dy = -150
            print('接到源码蛋了')
            vv.play()
            vc += 1
            print('源码蛋数:', vc)

    if cy > 700:
        cx = random.randint(0,500)
        cy = -150
    if dy > 700:
        dx = random.randint(0, 500)
        dy = -150
    s.blit(bi, (0, 0))
    s.blit(mi, (mx, my))
    s.blit(ci, (cx, cy))
    s.blit(di, (dx, dy))

    text = font.render('金币数:' + str(score), True, (255, 215, 0),(0, 255, 0))
    txet = font.render('源码蛋数:' + str(vc), True, (255, 0, 0), (0, 0, 255))
    s.blit(text, (350, 10))
    s.blit(txet, (350, 50))

    pygame.display.update()

pygame.quit()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页