午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 學會用Python實現滑雪小游戲,再也不用去北海道啦

學會用Python實現滑雪小游戲,再也不用去北海道啦

熱門標簽:武漢外呼系統平臺 沈陽防封電銷卡品牌 富錦商家地圖標注 池州外呼調研線路 如何申請400電話費用 江西省地圖標注 沈陽人工外呼系統價格 沈陽外呼系統呼叫系統 外呼系統哪些好辦

一、效果圖

二、必要工具

Python3.7

pycharm2019

再然后配置它的文件,設置游戲屏幕的大小,圖片路徑。

代碼如下

'''配置文件'''
import os
 
 
'''FPS'''
FPS = 40
'''游戲屏幕大小'''
SCREENSIZE = (640, 640)
'''圖片路徑'''
SKIER_IMAGE_PATHS = [
    os.path.join(os.getcwd(), 'resources/images/skier_forward.png'),
    os.path.join(os.getcwd(), 'resources/images/skier_right1.png'),
    os.path.join(os.getcwd(), 'resources/images/skier_right2.png'),
    os.path.join(os.getcwd(), 'resources/images/skier_left2.png'),
    os.path.join(os.getcwd(), 'resources/images/skier_left1.png'),
    os.path.join(os.getcwd(), 'resources/images/skier_fall.png')
]
OBSTACLE_PATHS = {
    'tree': os.path.join(os.getcwd(), 'resources/images/tree.png'),
    'flag': os.path.join(os.getcwd(), 'resources/images/flag.png')
}
'''背景音樂路徑'''
BGMPATH = os.path.join(os.getcwd(), 'resources/music/bgm.mp3')
'''字體路徑'''
FONTPATH = os.path.join(os.getcwd(), 'resources/font/FZSTK.TTF')

三、全部源碼

'''滑雪者類'''
class SkierClass(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        # 滑雪者的朝向(-2到2)
        self.direction = 0
        self.imagepaths = cfg.SKIER_IMAGE_PATHS[:-1]
        self.image = pygame.image.load(self.imagepaths[self.direction])
        self.rect = self.image.get_rect()
        self.rect.center = [320, 100]
        self.speed = [self.direction, 6-abs(self.direction)*2]
    '''改變滑雪者的朝向. 負數為向左,正數為向右,0為向前'''
    def turn(self, num):
        self.direction += num
        self.direction = max(-2, self.direction)
        self.direction = min(2, self.direction)
        center = self.rect.center
        self.image = pygame.image.load(self.imagepaths[self.direction])
        self.rect = self.image.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)
    '''設置為摔倒狀態'''
    def setFall(self):
        self.image = pygame.image.load(cfg.SKIER_IMAGE_PATHS[-1])
    '''設置為站立狀態'''
    def setForward(self):
        self.direction = 0
        self.image = pygame.image.load(self.imagepaths[self.direction])
 
 
'''
Function:
    障礙物類
Input:
    img_path: 障礙物圖片路徑
    location: 障礙物位置
    attribute: 障礙物類別屬性
'''
class ObstacleClass(pygame.sprite.Sprite):
    def __init__(self, img_path, location, attribute):
        pygame.sprite.Sprite.__init__(self)
        self.img_path = img_path
        self.image = pygame.image.load(self.img_path)
        self.location = location
        self.rect = self.image.get_rect()
        self.rect.center = self.location
        self.attribute = attribute
        self.passed = False
    '''移動'''
    def move(self, num):
        self.rect.centery = self.location[1] - num
 
 
'''創建障礙物'''
def createObstacles(s, e, num=10):
    obstacles = pygame.sprite.Group()
    locations = []
    for i in range(num):
        row = random.randint(s, e)
        col = random.randint(0, 9)
        location  = [col*64+20, row*64+20]
        if location not in locations:
            locations.append(location)
            attribute = random.choice(list(cfg.OBSTACLE_PATHS.keys()))
            img_path = cfg.OBSTACLE_PATHS[attribute]
            obstacle = ObstacleClass(img_path, location, attribute)
            obstacles.add(obstacle)
    return obstacles
 
 
'''合并障礙物'''
def AddObstacles(obstacles0, obstacles1):
    obstacles = pygame.sprite.Group()
    for obstacle in obstacles0:
        obstacles.add(obstacle)
    for obstacle in obstacles1:
        obstacles.add(obstacle)
    return obstacles
 
 
'''顯示游戲開始界面'''
def ShowStartInterface(screen, screensize):
    screen.fill((255, 255, 255))
    tfont = pygame.font.Font(cfg.FONTPATH, screensize[0]//5)
    cfont = pygame.font.Font(cfg.FONTPATH, screensize[0]//20)
    title = tfont.render(u'滑雪游戲', True, (255, 0, 0))
    content = cfont.render(u'按任意鍵開始游戲', True, (0, 0, 255))
    trect = title.get_rect()
    trect.midtop = (screensize[0]/2, screensize[1]/5)
    crect = content.get_rect()
    crect.midtop = (screensize[0]/2, screensize[1]/2)
    screen.blit(title, trect)
    screen.blit(content, crect)
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                return
        pygame.display.update()
 
 
'''顯示分數'''
def showScore(screen, score, pos=(10, 10)):
    font = pygame.font.Font(cfg.FONTPATH, 30)
    score_text = font.render("Score: %s" % score, True, (0, 0, 0))
    screen.blit(score_text, pos)
 
 
'''更新當前幀的游戲畫面'''
def updateFrame(screen, obstacles, skier, score):
    screen.fill((255, 255, 255))
    obstacles.draw(screen)
    screen.blit(skier.image, skier.rect)
    showScore(screen, score)
    pygame.display.update()
 
 
'''主程序'''
def main():
    # 游戲初始化
    pygame.init()
    pygame.mixer.init()
    pygame.mixer.music.load(cfg.BGMPATH)
    pygame.mixer.music.set_volume(0.4)
    pygame.mixer.music.play(-1)
    # 設置屏幕
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('滑雪游戲 —— 九歌')
    # 游戲開始界面
    ShowStartInterface(screen, cfg.SCREENSIZE)
    # 實例化游戲精靈
    # --滑雪者
    skier = SkierClass()
    # --創建障礙物
    obstacles0 = createObstacles(20, 29)
    obstacles1 = createObstacles(10, 19)
    obstaclesflag = 0
    obstacles = AddObstacles(obstacles0, obstacles1)
    # 游戲clock
    clock = pygame.time.Clock()
    # 記錄滑雪的距離
    distance = 0
    # 記錄當前的分數
    score = 0
    # 記錄當前的速度
    speed = [0, 6]
    # 游戲主循環
    while True:
        # --事件捕獲
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT or event.key == pygame.K_a:
                    speed = skier.turn(-1)
                elif event.key == pygame.K_RIGHT or event.key == pygame.K_d:
                    speed = skier.turn(1)
        # --更新當前游戲幀的數據
        skier.move()
        distance += speed[1]
        if distance >= 640 and obstaclesflag == 0:
            obstaclesflag = 1
            obstacles0 = createObstacles(20, 29)
            obstacles = AddObstacles(obstacles0, obstacles1)
        if distance >= 1280 and obstaclesflag == 1:
            obstaclesflag = 0
            distance -= 1280
            for obstacle in obstacles0:
                obstacle.location[1] = obstacle.location[1] - 1280
            obstacles1 = createObstacles(10, 19)
            obstacles = AddObstacles(obstacles0, obstacles1)
        for obstacle in obstacles:
            obstacle.move(distance)
        # --碰撞檢測
        hitted_obstacles = pygame.sprite.spritecollide(skier, obstacles, False)
        if hitted_obstacles:
            if hitted_obstacles[0].attribute == "tree" and not hitted_obstacles[0].passed:
                score -= 50
                skier.setFall()
                updateFrame(screen, obstacles, skier, score)
                pygame.time.delay(1000)
                skier.setForward()
                speed = [0, 6]
                hitted_obstacles[0].passed = True
            elif hitted_obstacles[0].attribute == "flag" and not hitted_obstacles[0].passed:
                score += 10
                obstacles.remove(hitted_obstacles[0])
        # --更新屏幕
        updateFrame(screen, obstacles, skier, score)
        clock.tick(cfg.FPS)

到此這篇關于學會用Python實現滑雪小游戲,再也不用去北海道啦的文章就介紹到這了,更多相關Python滑雪小游戲內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python實現滑雪游戲
  • python實現滑雪者小游戲
  • Python實現滑雪小游戲

標簽:潛江 黑龍江 銅川 通遼 阿里 呂梁 常德 株洲

巨人網絡通訊聲明:本文標題《學會用Python實現滑雪小游戲,再也不用去北海道啦》,本文關鍵詞  學,會用,Python,實現,滑雪,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《學會用Python實現滑雪小游戲,再也不用去北海道啦》相關的同類信息!
  • 本頁收集關于學會用Python實現滑雪小游戲,再也不用去北海道啦的相關信息資訊供網民參考!
  • 推薦文章
    国产精品久久影视| av动漫在线看| 亚洲无亚洲人成网站77777| 国产一区二区三区四区五区入口| 屁屁影院国产第一页| 国语精品免费视频| 亚洲欧美国产视频| 久久综合五月天婷婷伊人| 日本午夜视频在线观看| 可以免费观看av毛片| 国产精品久久一区| 91精品国产综合久久久久久 | 日韩三级小视频| 日韩在线综合网| 国产精品视频xxxx| 欧美精品一区二区在线播放| 91麻豆高清视频| 中文字幕 日韩有码| 18深夜在线观看免费视频| 国产一区二区三区四区五区在线| 国产视频精品在线| 亚洲日本一区二区| 亚洲精品国偷拍自产在线观看蜜桃| 男女一区二区三区| 一级二级三级欧美| 97在线日本国产| 欧美日韩国产不卡| 久久午夜老司机| 国产剧情久久久| 欧美做受xxxxxⅹ性视频| 2021国产视频| 国产精品一二三在线| 亚洲国产精品yw在线观看| 久久精品视频一区二区三区| 国产v在线观看| 摸摸摸bbb毛毛毛片| 欧美在线观看黄| 国产精品偷伦一区二区 | 欧美人牲a欧美精品| 北条麻妃国产九九精品视频| 88av在线视频| 亚洲最大成人综合网| 男女私大尺度视频| 99在线免费观看视频| 久久久精品网站| 欧美日韩一区二区三区视频 | 成人黄色777网| 无码人妻精品一区二区三区蜜桃91 | 日韩欧美国产另类| 亚洲永久无码7777kkk| 国产日韩欧美精品在线观看| 成人羞羞国产免费| 最新国产成人av网站网址麻豆| 调教+趴+乳夹+国产+精品| 国产精品99久久久久久有的能看| 中日精品一色哟哟| 人妻无码一区二区三区免费| 蜜臀视频一区二区三区| 日本不卡二区高清三区| 日本91av在线播放| 亚洲三级黄色在线观看| 色婷婷av一区二区三区大白胸| 成人精品国产福利| 亚洲精品视频网| 国产一级二级三级| 18禁一区二区三区| 成人在线国产视频| 精品日韩美女| 国产精品18久久久久久首页狼| 亚洲男人天堂2019| 欧美中文字幕一二三区视频| 亚洲国产精品传媒在线观看| 久久99热狠狠色一区二区| 岳乳丰满一区二区三区| 国产一二三四区| 超碰caoprom| 欧美精品一区免费| 日韩久久在线| 91免费人成网站在线观看18| 欧美高跟鞋交xxxxxhd| 亚洲第一中文字幕| 色综合 综合色| 亚洲欧美在线视频观看| 成人黄色国产精品网站大全在线免费观看 | 国产成人免费视频网站| 丰满人妻一区二区三区免费视频| 免费视频一二三区| 久久精品视频18| 天天爽夜夜爽视频| 欧美三级午夜理伦三级| 国产免费色视频| av一本久道久久波多野结衣| 清纯唯美亚洲激情| 美女撒尿一区二区三区| 日韩av影院在线观看| 欧美图片一区二区三区| 亚洲一区二区三区小说| 国产精品你懂的在线欣赏| 国产成人午夜视频| 秋霞成人午夜伦在线观看| 午夜精品久久久久久久96蜜桃 | 久久男人资源站| 日韩jizzz| 国产欧美日韩在线播放| 亚洲iv一区二区三区| 日本高清久久天堂| 久久久久久12| 久久精品小视频| 国产一区二区三区在线免费观看 | 日韩欧美视频第二区| 成人永久免费| 国产精品免费久久久久影院| 77777少妇光屁股久久一区| 久久国产精品电影| 日韩在线中文字| 亚洲图片欧美午夜| 亚洲欧美自拍一区| 亚洲精品电影网在线观看| 欧美一区日韩一区| 在线播放一区二区三区| 欧美性色黄大片| 色妞www精品视频| 欧美午夜影院在线视频| 天天影视色香欲综合网老头| 亚洲国产精品欧美一二99| 自拍偷在线精品自拍偷无码专区 | 99re视频这里只有精品| 成人av影院在线| 成人在线一区二区三区| 国产成人在线电影| 处破女av一区二区| 成人av在线播放网站| 波多野结衣中文字幕一区| 国产凹凸在线观看一区二区| 国产mv日韩mv欧美| 波多野结衣中文字幕一区二区三区| 国产精品主播直播| 国产精品888| 成人一二三区视频| 91在线免费播放| 久久久久久影视| 国产欧美一区二区在线| 国产精品美女一区二区| 亚洲三级免费观看| 国产精品久久久久四虎| 成人欧美一区二区三区小说| 一区二区久久久久久| 亚洲国产精品精华液网站| 精品久久久久国产| 在线影院国内精品| 555夜色666亚洲国产免| 精品日韩一区二区三区免费视频| 精品粉嫩aⅴ一区二区三区四区| 亚洲黄色av女优在线观看| 精品中文视频在线| 久久久国产91| 97色在线观看| 国产专区欧美专区| 国产伦精品一区二区三区视频免费| 久久国产精品一区二区三区四区 | 中文字幕一区二区三区手机版| 精品国产免费观看| 一级黄色大毛片| 欧美一区,二区| 美国一区二区三区在线播放 | 少妇人妻无码专区视频| 国产成人av影视| 深爱五月综合网| 波多野结衣福利| 天天天天天天天天操| 久久精品视频7| 国产激情视频在线播放| 日韩精品电影一区亚洲| 国产999精品久久久久久| 欧美激情一区二区| 五月婷婷另类国产| 欧美精品第一页| 国产视频精品一区二区三区| 久久久精品久久久久| 欧美中在线观看| 国产精品sss| 自拍偷拍99| 国模无码视频一区二区三区| 蜜桃视频无码区在线观看| 日本人亚洲人jjzzjjz| 国产情侣在线视频| 国产农村妇女毛片精品| 日本不卡的三区四区五区| 91在线视频播放| 亚洲丰满少妇videoshd| 日韩一区二区视频在线观看| 综合久久五月天| 国产成人精品网站| 久久国产日韩欧美| 免费拍拍拍网站| 制服.丝袜.亚洲.中文.综合懂| 亚洲天堂一级片| 在线视频 91| 久久精品国产77777蜜臀| 国产区在线观看成人精品| 日韩欧美国产视频| 日韩精品极品在线观看| 18性欧美xxxⅹ性满足| 国产一区二区三区高清| av在线观看地址| 国产一级免费片| 中国一级特黄毛片| 亚洲欧洲综合在线| 久久久精品一品道一区| 色噜噜狠狠成人中文综合| 亚洲人成伊人成综合网久久久| 性色av香蕉一区二区| 久久99热只有频精品91密拍| 俄罗斯av网站| 37p粉嫩大胆色噜噜噜| 六月丁香婷婷综合| 日本视频在线一区| 亚洲视频 欧洲视频| 日韩一级片在线观看| 欧美精品激情在线观看| 精品无人区一区二区三区竹菊| 两根大肉大捧一进一出好爽视频| 91网站免费入口| 亚洲综合精品视频| 成人一区二区视频| 欧美日韩久久久久| 尤物yw午夜国产精品视频| 国产日韩亚洲欧美| 久久综合久久网| 无码国产69精品久久久久同性| 在线视频欧美亚洲| www.欧美日韩国产在线| 在线视频一区二区免费| 久久av在线看| 久久一区二区三区欧美亚洲| 天天操天天爱天天爽| 欧美色图亚洲天堂| 天堂在线观看av| 一区精品在线播放| 精品国产免费人成在线观看| 日本亚洲欧洲色α| 国产一级大片免费看| 精品人妻互换一区二区三区| 一区二区的视频| 2020国产精品| 日韩一区二区三区免费观看| 91高清视频免费| 宅男av一区二区三区| 日本在线不卡一区二区| 国产情侣免费视频| 91免费观看在线| 337p亚洲精品色噜噜| 欧美自拍视频在线观看| 久久最新免费视频| 精品人妻一区二区三区四区| 丰满人妻一区二区三区免费| 亚洲人成人一区二区在线观看| 亚洲精品视频在线播放| 福利视频久久| 一区二区三区网址| 久久久久久91亚洲精品中文字幕| 国产成人免费视频精品含羞草妖精| 欧美性猛交一区二区三区精品| 欧美黑人性视频| 综合色婷婷一区二区亚洲欧美国产| 黄色录像a级片| 亚洲精品网站在线| 亚洲狠狠爱一区二区三区| www.日韩不卡电影av| 欧美一区二区福利| 久久精品aⅴ无码中文字字幕重口| 波多野结衣小视频| 国产亚洲精品久| 亚洲另类xxxx| 精品日韩欧美| 第四色在线视频| 色窝窝无码一区二区三区成人网站| 一区二区在线免费| 久久综合网hezyo| 宅男噜噜99国产精品观看免费| 色噜噜噜噜噜噜| 日本成人在线不卡视频| 91传媒视频在线播放| 青草成人免费视频| 欧美伦理片在线看| 中文字幕av网站| 亚洲欧洲一区二区在线播放| 中文字幕国产精品| 一区二区免费电影| 免费成年人视频在线观看| 国产在线精品一区二区夜色 | 欧美亚洲一级二级| 日韩人妻无码精品综合区| 奇米影视一区二区三区小说| 91福利视频久久久久| 国产精品日本精品| 久久久精品视频国产| 亚洲精品无码久久久| 欧美日韩国产在线播放| 欧美综合一区第一页| 91视频免费版污| 国产特级黄色片| 欧美色道久久88综合亚洲精品| 欧美一级片在线播放| 热久久精品免费视频| 国产女无套免费视频| 精品久久久久久国产91| 国产精品va在线播放| 一个色综合久久| 亚洲爆乳无码一区二区三区| 欧美性猛交xxxx乱大交极品| 91精品久久久久| 亚洲一区二区三区黄色| 日本中文在线一区| 日韩精品中文字幕一区 | 色香蕉久久蜜桃| 国产精自产拍久久久久久| 中文字幕一二三区| 日韩二区在线观看| 欧美va在线播放| 日本高清不卡三区| 久久久精品人妻一区二区三区四| 久久亚洲精精品中文字幕早川悠里| 在线播放精品一区二区三区| 国产免费xxx| aaaaaa毛片| 亚洲高清三级视频| 国产精品免费久久久久影院| yjizz视频| 国内精品视频一区二区三区八戒| 亚洲高清在线观看| 一区二区在线观看网站| 91国产丝袜播放在线| 一区二区三区中文免费| 国产福利视频一区二区| 欧美激情一区二区三区p站| 久久99精品国产| 亚洲色图综合网| 日韩精品xxxx| 性色av蜜臀av| 欧美一级国产精品| 在线观看欧美一区| 天堂网一区二区| 日本丰满少妇一区二区三区| 精品国产免费久久久久久尖叫| 麻豆天美蜜桃91| 亚洲婷婷在线视频| 国产精品自产拍在线观| 欧洲女同同性吃奶| 久久久夜色精品亚洲| 668精品在线视频| 在线免费看黄色片| 成人高清在线视频| 欧美激情一区二区三区高清视频 | 一区二区三区四区激情| 国产日韩欧美在线| 日本不卡一区视频| 日本一区二区成人| 国产精品电影在线观看| 欧美成人国产精品一区二区| 国产日韩v精品一区二区| 日韩美女福利视频| 实拍女处破www免费看| 国产人伦精品一区二区| 国产精品大片wwwwww| 亚洲精品成人av久久| 国产精品国产馆在线真实露脸| 国产精品欧美日韩久久| 在线观看天堂av| 亚洲人xxxx| 成人av免费电影| 免费毛片一区二区三区| 色综合久久久久综合99| 日本视频一区二区在线观看| 91丨九色丨海角社区| 91精品国产一区二区三区香蕉| 日本高清xxxx| 免费看国产片在线观看| 日韩精品视频中文在线观看 | 亚洲精品一区二区三区不卡| 日韩成人久久久| 国产成人精品无码播放| 激情亚洲综合在线| 欧美高清第一页| 亚洲精品午夜视频| 亚洲欧美激情在线| 国产乱码一区| www.亚洲激情| 欧美成人激情免费网| 成人观看免费完整观看| 另类综合日韩欧美亚洲| 欧美黑人国产人伦爽爽爽| 毛片网站免费观看| 国产精品美女一区二区三区| 成人av中文| 中文字幕一区二区久久人妻| 精品国产乱码久久久久久夜甘婷婷 | 国产网站免费在线观看| 国产一区二区三区久久悠悠色av| 国模私拍视频一区| 日韩一卡二卡在线观看| 午夜精品久久久久久久 | 亚洲人体一区| 无码国精品一区二区免费蜜桃| 日韩一区二区三区国产| 青青草视频播放| 亚洲国产综合人成综合网站| 亚洲精品国产精品国自产| 香蕉视频911| 欧美精品国产精品日韩精品|