成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 學(xué)會用Python實現(xiàn)滑雪小游戲,再也不用去北海道啦

學(xué)會用Python實現(xiàn)滑雪小游戲,再也不用去北海道啦

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

一、效果圖

二、必要工具

Python3.7

pycharm2019

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

代碼如下

'''配置文件'''
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]
    '''改變滑雪者的朝向. 負數(shù)為向左,正數(shù)為向右,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)
    '''設(shè)置為摔倒狀態(tài)'''
    def setFall(self):
        self.image = pygame.image.load(cfg.SKIER_IMAGE_PATHS[-1])
    '''設(shè)置為站立狀態(tài)'''
    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
 
 
'''創(chuàng)建障礙物'''
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()
 
 
'''顯示分數(shù)'''
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)
    # 設(shè)置屏幕
    screen = pygame.display.set_mode(cfg.SCREENSIZE)
    pygame.display.set_caption('滑雪游戲 —— 九歌')
    # 游戲開始界面
    ShowStartInterface(screen, cfg.SCREENSIZE)
    # 實例化游戲精靈
    # --滑雪者
    skier = SkierClass()
    # --創(chuàng)建障礙物
    obstacles0 = createObstacles(20, 29)
    obstacles1 = createObstacles(10, 19)
    obstaclesflag = 0
    obstacles = AddObstacles(obstacles0, obstacles1)
    # 游戲clock
    clock = pygame.time.Clock()
    # 記錄滑雪的距離
    distance = 0
    # 記錄當前的分數(shù)
    score = 0
    # 記錄當前的速度
    speed = [0, 6]
    # 游戲主循環(huán)
    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)
        # --更新當前游戲幀的數(shù)據(jù)
        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)

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標題《學(xué)會用Python實現(xiàn)滑雪小游戲,再也不用去北海道啦》,本文關(guān)鍵詞  學(xué),會用,Python,實現(xiàn),滑雪,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《學(xué)會用Python實現(xiàn)滑雪小游戲,再也不用去北海道啦》相關(guān)的同類信息!
  • 本頁收集關(guān)于學(xué)會用Python實現(xiàn)滑雪小游戲,再也不用去北海道啦的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    91精品国产亚洲| a在线免费观看| 亚洲深夜福利网站| 国产精品69久久久久水密桃| 欧美国产一级| 亚洲色成人一区二区三区小说| 国产又爽又黄网站亚洲视频123| av在线免费网址| 国产又粗又长视频| 这里只有精品国产| 亚洲欧美综合另类在线卡通| 中文字幕日韩免费| 波多野结衣家庭教师在线观看| 夜夜精品浪潮av一区二区三区| 国产小视频在线观看| 欧美国产日韩一区二区三区| 成人精品一区二区| 精品人妻午夜一区二区三区四区| 色综合久久久无码中文字幕波多| 中文字幕一区二区三区久久网站| eeuss鲁丝片eeuss影院| 精精国产xxxx视频在线动漫| 欧美日韩专区在线| 大肉大捧一进一出好爽视频| 黄在线观看免费网站ktv| 果冻天美麻豆一区二区国产| 亚洲欧美在线第一页| 久久免费精品国产| 国产精品爽爽爽爽爽爽在线观看| 五月婷婷深爱五月| 日漫免费在线观看网站| 可以免费看不卡的av网站| 97色伦图片97色伦在线电影| 天天舔天天干天天操| 中文字幕日本一区二区| 成人性生交大片免费看视频在线| 欧美系列电影免费观看| 午夜小视频免费| jizzjizz免费大全| 国产视频在线一区| 一本大道久久a久久综合| 三级在线视频观看| 亚洲欧美一区二区久久| 十八禁视频网站在线观看| 免费大秀视频在线播放| 欧美亚洲色综久久精品国产| 一本一道久久a久久精品| 国产一二在线播放| 国产成人高清精品免费5388| 91精品国产91久久久久福利| 国产精品av免费观看| 国产成人精品影院| www.神马久久| 日韩欧美国产网站| 日韩五码电影| a级影片在线| 红桃视频国产精品| 国产精品天天干| 污污内射在线观看一区二区少妇| 日本不卡高清| 久久精品国产www456c0m| 国模大尺度一区二区三区| av2014天堂网| 亚洲一区二区三区视频在线播放| 日韩黄色在线观看| 欧美艳星brazzers| 一区二区乱子伦在线播放| 最新日韩中文字幕| 久久久久99精品成人片毛片| 亚洲女人小视频在线观看| 亚洲一区二区三区四区五区六区| 欧美欧美欧美欧美| 欧美精品粉嫩高潮一区二区| 欧美日韩精品亚洲精品| 久久久综合精品| 亚洲综合第一页| 一区两区小视频| 日韩一区二区三区精品视频第3页| 肉色丝袜一区二区| 国产精品视频| 亚洲日韩第九十九页| 欧美freesex交免费视频| 久久全国免费久久青青小草| 日本少妇全体裸体洗澡| 国内久久视频| 日韩欧美一区二区视频在线播放| 欧美电影三区| 风韵丰满熟妇啪啪区老熟熟女| 日本不卡免费高清视频| 精品国产亚洲一区二区三区在线观看| 欧美成人高清视频| 成人一区不卡| 国产欧美日韩中文| 国产免费又粗又猛又爽| 性欧美videos高清hd4k| 国内自拍欧美| 毛茸茸多毛bbb毛多视频| 国产成人一区二区在线| 五月激情六月丁香| av在线电影网站| 久久综合激情| 最新国产精品自拍| 伊人精品久久| 国产清纯在线一区二区www| 污香蕉视频在线观看| 欧美热在线视频精品999| 日本黄大片在线观看| 亚洲欧洲成视频免费观看| 午夜影院在线| 亚洲电影视频在线| 免费黄色特级片| 亚洲天堂电影网| 精品久久久久久综合日本欧美| 在线观看亚洲一区二区| 人妻换人妻仑乱| 亚洲三级在线视频| 国产精品入口尤物| 久久久久久久高潮| 亚洲欧洲国产日本综合| 精品香蕉一区二区三区| 久久男人中文字幕资源站| 日韩加勒比系列| 成人爽a毛片免费啪啪动漫| 色吊丝av中文字幕| 国产女同性恋一区二区| 色欧美88888久久久久久影院| 一区二区三区国产在线| 在线国产一区二区三区| 亚洲午夜久久久久久久久| 亚洲激情黄色| 国产精品久久国产愉拍| 欧美精品导航| 日韩精品一区二区三区第95| 性色视频在线| 国产精品videossex国产高清| 免看一级a毛片一片成人不卡| 国产三级精品三级在线观看国产| 视频一区视频二区在线观看| 国产亚洲女人久久久久毛片| 国产黄在线观看免费观看不卡| 妞干网免费视频| 麻豆网站视频在线观看| 99热在线精品观看| 欧美日韩日本视频| 欧美午夜在线| 精品偷拍各种wc美女嘘嘘| 日韩美女一区二区三区在线观看| 国产富婆一区二区三区| 欧美电影免费提供在线观看| 久草热8精品视频在线观看| 香蕉久久夜色精品| 一本一本大道香蕉久在线精品| 97精品伊人久久久大香线蕉| 免费人成视频在线播放| 亚洲伊人影院| 岳毛多又紧做起爽| 日韩欧美色视频| 国产又爽又黄的视频| 国产欧美丝袜| 欧美videos大乳护士334| 樱花草www在线| 久久综合久久鬼| 中文字幕日韩精品久久| 在线观看免费av网址| 综合分类小说区另类春色亚洲小说欧美| 国产欧美精品区一区二区三区| 欧美黑人一区| 成人午夜免费视频| 国产午夜精品久久久| 日本理论片2828理论片| 国产寡妇亲子伦一区二区三区四区| 欧美日韩日本国产亚洲在线| 成人av手机在线| 亚洲 高清 成人 动漫| 性欧美暴力猛交另类hd| 99久久国产免费| 视频一区二区不卡| 亚洲精品美女久久| 久久精品国产亚洲AV熟女| 亚洲乱码国产乱码精品精| 久久国产小视频| 9l视频自拍蝌蚪9l视频成人| 亚洲一区二区三区精品视频| 亚洲欧美激情视频| 99视频精品免费观看| 亚洲熟妇av一区二区三区漫画| 五月天av影院| 日韩一级精品| 无码国产精品96久久久久| 午夜一级在线看亚洲| 人妻内射一区二区在线视频| 亚洲国产伊人| 免费h网站在线观看| 在线观看国产一区| h视频在线观看免费网站| 国产另类ts人妖一区二区| 免费看污污视频| 色婷婷av一区二区三| 免费av网站在线观看| 黄视频网站在线看| 日韩大片免费在线观看| 中文精品一区二区| 国产一区二区三区三区在线观看| 超碰97网站| 青青久久av北条麻妃黑人| 国产午夜精品一区二区理论影院| eeuss网址直达入口| 欧美成人在线免费| 久久久成人精品一区二区三区| 黄色激情视频在线观看| 精品日韩成人av| 国产一级片毛片| 国产在线视频卡一卡二| 国产视频精品免费播放| 99中文字幕在线观看| 国产精品一区二区三区四区五区| 亚洲自拍小视频| 国产精品xvideos88| 久久爱另类一区二区小说| 国产成人精品一区二区三区视频| 欧美性天天影视| 9999精品| 日韩专区一区二区| 97秋霞电影网| 艳母动漫在线免费观看| 91免费看片在线观看| 91久久久久久白丝白浆欲热蜜臀| 国产精品老牛| 国产麻豆永久视频| 中文字幕日本最新乱码视频| 国产日韩欧美电影在线观看| 九一精品久久久| 日本无删减在线| 亚洲mv在线| 成人精品三级| 2021年精品国产福利在线| 欧美性猛交xxxxbbbb| 欧美激情视频免费观看| 亚洲欧美影音先锋| 亚洲午夜黄色| 亚洲欧美tv| 136福利视频导航| 久久久久无码国产精品一区李宗瑞| 国模大尺度视频| 午夜视频1000| 日韩欧美精品在线| 高清一区二区| 国产裸舞福利在线视频合集| 手机在线成人免费视频| 久久国产午夜精品理论片最新版本| 日韩欧美一区二区三区| 精品国产乱码久久久久久蜜坠欲下| 伊人色综合久久天天| 国产一区二区你懂的| 欧美高清另类hdvideosexjaⅴ| 中文字幕91爱爱| www.4hu95.com四虎| 亚洲无在线观看| 欧美成人精品免费| 丝袜美腿一区二区三区动态图| 制服丝袜中文字幕在线| 国产福利电影在线播放| 久久精品久久精品久久| 久久精品国产视频| 秋霞成人午夜鲁丝一区二区三区| 日本精品一区二区三区四区的功能| 国产在线日本| 亚洲成精国产精品女| 久久综合久久综合这里只有精品| 亚洲精品有码在线| 国产精品嫩草99a| 一本一道波多野结衣一区二区| 激情视频在线观看一区二区三区| 中国女人内谢69xxxx免费视频| 免费极品av一视觉盛宴| 91看片就是不一样| 欧美韩国日本在线| 在线综合视频| 成人资源av| 超碰在线人人| 濑亚美莉vs黑人在线观看| av在线网址导航| 久久久精品人妻一区二区三区四| 俺去俺来也在线www色官网| 亚洲无码精品一区二区三区| 成人免费毛片app| 欧美另类xxx| 日韩欧美在线123| 2024最新电影免费在线观看| 少妇高潮一69aⅹ| 91免费视频网站在线观看| 欧美性精品220| 五月婷中文字幕| 51国产偷自视频区视频| 亚洲国产欧美不卡在线观看| 91久久极品少妇xxxxⅹ软件| 男男互摸gay网站| 91成人精品观看| 一本久久a久久精品vr综合| 精品国产成人| 四虎影视国产在线视频| 久久国产精品久久久久久| 欧美黑人性猛交xxx| 欧美成人精品欧美一级乱| 91popny丨九色丨国产| 日韩欧美一区二区三区久久| 91禁在线观看| 在线观看免费国产小视频| 国产中文av在线| 亚洲一区精品视频在线观看| 国产精品伦一区二区三区| 国产一区二区三区高清在线观看| 五月天视频在线观看| 成人知道污网站| 日本精品视频一区| 欧美一区二区三区四区夜夜大片| 污视频免费在线看| 日韩网址在线观看| 欧美日本国产视频| 一区二区三区免费看| 亚洲色图图片专区| 91久久国产视频| 欧美人与性动交α欧美精品济南到| 神马久久精品综合| 色综合网站在线| 香蕉av777xxx色综合一区| 久久777国产线看观看精品| 同心难改在线观看|