猫史档案馆


【Python作品分享】滑雪游戏

用户:稚气的疾风雀Nw5d稚气的疾风雀Nw5d查看:0 回复:1 评论:0 创建时间:2023-01-06T14:26:56


【作品展示】

center_image

 

【作品介绍】

a

 

【作品源代码】

import pygame as p
import sys as s
def Show_Start_Interface(Demo,width,height):
    tfont = p.font.Font('mont.ttf',250)
    cfont = p.font.Font('mont.ttf',100)
    title = tfont.render('滑雪游戏',True,(255, 0, 0))
    conten = cfont.render('按下任意键开始游戏',True,(0,0,255))
    trect = title.get_rect()
    trect.midtop=(500,0)
    crect = conten.get_rect()
    crect.midtop=(500,700)
    Demo.blit(title,trect)
    Demo.blit(conten,crect)
    p.display.update()
    while True:
        for event in p.event.get():
            if event.type == 256:
                p.quit()
                s.exit()
            elif event.type == p.KEYDOWN:
                return 
def main():
    p.init()
    #p.mixer.init()
    #pgm = p.mixer.music.load('bg_music.mp3')
    #pgm = p.mixer.music.set_volume(0.4)
    #pgm = p.mixer.music.play(-1)
    screen = p.display.set_mode([1000, 1000])
    p.display.set_caption("滑雪游戏")
    screen.fill([255, 255, 255])
    clock = p.time.Clock()
    skier = SkierClass()
    Show_Start_Interface(screen,喵0,喵0)
def turn(self,num):
    self.direction += num
    self.direction = max(-2,self.direction)
    self.direction = min(2,self.direction)
    center = self.relf.center
    self.person = p.image.load(self.imgs[self.direction])
    self.rect = self.person.get_rect()
    self.rect.center = center
    self.speed = [self.direction,6-abs(self.direction)*2]
    return self.speed
def move(self):
    self.rect.centerx += self.speed[0]
    self.rect.centerx = max(20,self.rect.centerx)
    self.rect.centerx = min(620,self.rect.centerx)
class SkierClass(p.sprite.Sprite):
    def __init__(self):
        p.sprite.Sprite.__init__(self)
        self.direction = 0
        self.imgs = ['skier_down.png', 'kier_left1.png','kier_left2.png','kier_left1.png','kier_left2.png']
        self.person = p.image.load(self.imgs[self.direction])
        self.rect = self.person.get_rect()
        self.rect.center = [500,100]
        self.speed = [self.direction,6-abs(self.direction)*2]
    def update():
        screen.fill([255,255,255])
        screen.blit(skier.person,skier.rect)
        p.display.flip()
        while True:
            for event in p.event.get():
                if event.type == p.QUIT:
                    s.exit()
                if event.type == p.KEYDOWN:
                    if event.key == p.K_LEFT or event.key == p.K_a:
                        speed = skier.turn(-1)
                    elif event.key == p.K_RIGHT or event.key == p.K_b:
                        speed = skier.turn(1)
            skier.move()
            update()
            clock.tick(40)
main()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
华丽的硅基生物华丽的硅基生物

第一张图不是scratch(的变种?)吗?

点赞0


评论