欢迎来到懒人模板!我们专注移动互联网,所有模板永久免费下载!
  • 首 页
  • 当前位置:主页 > 微测试 > JavaScript >

    Python小黄狗跑酷游戏小游戏源代码免费下载

    2019-07-11 12:44 来源/作者:懒人模板 分类:JavaScript  « »
    项目描述:
      基于Python开发的小黄狗跑酷游戏。玩家控制单身狗移动跳跃,躲避情侣狗;玩家可以吃地图中随机生成的鸡腿,吃到鸡腿时计分器会根据得分发生改变,同时根据存活时间玩家也可以得到相应的存活分。当情侣狗触碰玩家1次时,天空会下起雪花,当情侣狗触碰玩家3次时,游戏结束,显示结束画面。
      开发中,先对游戏窗口初始化,然后加载图片、音乐、文字、图形等游戏元素;使用键盘监听、鼠标监听来响应用户的外部输入;引入随机函数,增加游戏随机性;使用碰撞检测,处理游戏中各元素发生碰撞时产生响应的效果;使用标志位控制整个游戏的流程;计分器根据用户得分做出响应。
     
    import random
    import pygame
    from pygame.locals import *
    from pygame.sprite import Sprite
     
     
    class Monster(Sprite):
        def __init__(self,screen):
            super(Monster, self).__init__()
            self.smonster=pygame.image.load('../image/鸡腿.png')
            wid=random.randint(33,33)
            self.smonster=pygame.transform.scale(self.smonster, (wid, wid))
            self.rect=self.smonster.get_rect()
            self.screen=screen
            self.rect.centerx = random.randint(1200, 1250)
            self.rect.bottom = random.randint(170, 270)
            self.speedx=1
     
        def draw_monster(self):
            self.screen.blit(self.smonster,(self.rect.centerx,self.rect.bottom))
     
        def update(self, *args):
            self.rect.x -=self.speedx
     
     
    class MySprite2(pygame.sprite.Sprite):
        def __init__(self, target=None):
            pygame.sprite.Sprite.__init__(self)
            # self.target_surface = target
            self.image = None
            self.master_image = None
            self.rect = None
            self.frame = 0
            self.old_frame = -1
            self.frame_width = 1
            self.frame_height = 1
            self.first_frame = 0
            self.last_frame = 0
            self.columns = 1
            self.last_time = 0
            self.movieRight = False
            self.movieLeft = False
            self.movieUp = False
            self.movieDown = True
            self.speed=7
            self.vUP=0  #纵向向上速度
            self.jumping=False
            # self.X=1280
            # self.Y=285
     
        def _getx(self): return self.rect.x
     
        def _setx(self, value): self.rect.x = value
     
        X = property(_getx, _setx)
     
        def _gety(self): return self.rect.y
     
        def _sety(self, value): self.rect.y = value
     
        Y = property(_gety, _sety)
     
        def load(self, filename, width, height, columns):
            self.master_image = pygame.image.load(filename).convert_alpha()
            self.frame_width = width
            self.frame_height = height
            # self.rect = self.x, self.y, width, height
            self.columns = columns
            self.rect = Rect(0, 0, width, height)
            rect = self.master_image.get_rect()
            self.last_frame = (rect.width // width) * (rect.height // height) - 1
     
        def update(self, current_time, rate=45):
            if current_time > self.last_time + rate:
                self.frame += 1
                if self.frame > self.last_frame:
                    self.frame = self.first_frame
                self.last_time = current_time
            if self.frame != self.old_frame:
                frame_x = (self.frame % self.columns) * self.frame_width
                frame_y = (self.frame // self.columns) * self.frame_height
                rect = (frame_x, frame_y, self.frame_width, self.frame_height)
                self.image = self.master_image.subsurface(rect)
                self.old_frame = self.frame
            self.X -= 5
     
     
     
     

    点击扫描效果预览 免费下载 免登陆网盘下载
    S
    * 懒人模板承诺:本站所有资源免费下载,无病毒,无弹窗,无干扰链接! 提点建议
    博聚网