成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Pygame實(shí)戰(zhàn):慎點(diǎn)|虐單身狗的最高境界是…【附源碼】

DDreach / 2668人閱讀

摘要:導(dǎo)語(yǔ)各位戲精大家好我是木木子,這個(gè)中秋已經(jīng)結(jié)束了,你們都帶著對(duì)象回家了碼中秋那幾天朋友圈簡(jiǎn)直是大型秀恩愛現(xiàn)場(chǎng)。

導(dǎo)語(yǔ)

各位戲精大家好!我是木木子,這個(gè)中秋已經(jīng)結(jié)束了,你們都帶著對(duì)象回家了碼?

中秋那幾天朋友圈簡(jiǎn)直是大型秀恩愛現(xiàn)場(chǎng)。

又是一年中秋夜,依舊憑實(shí)力單身!呼吁大家記得保護(hù)下單身狗啊喂!

?

作為一條人畜無(wú)害可可愛愛的單身狗

每年的假期幾乎都被傷的體無(wú)完膚,今年我們不僅要好好生存,還要勇敢報(bào)復(fù),讓情侶們知道:

單身狗不是這么好欺負(fù)的~單身狗們報(bào)仇吧!今天帶大家寫一款賊有趣的單身狗小游戲~

?

?

正文

首先準(zhǔn)備好圖片素材等:

bgm音樂(lè)必備:

import pygameclass Sound():    def __init__(self):        pygame.mixer.music.load("../sound/baab.mp3")        pygame.mixer.music.play()

?先上效果圖嘿嘿嘿 看好哈:

游戲界面——

程序運(yùn)行——

(1)設(shè)置滾動(dòng)的背景:

#地圖滾動(dòng)import pygameimport randomclass GameBackground(object):    # 初始化地圖    def __init__(self, scene):        # 加載相同張圖片資源,做交替實(shí)現(xiàn)地圖滾動(dòng)        self.image1 = pygame.image.load("../image/background.png")        self.image2 = pygame.image.load("../image/background.png")        # 保存場(chǎng)景對(duì)象        self.main_scene = scene        # 輔助移動(dòng)地圖        self.x1 = 0        self.x2 = 1280        self.snowflag=False    # 計(jì)算地圖圖片繪制坐標(biāo)    def action(self):        self.x1 = self.x1 - 1        self.x2 = self.x2 - 1        if self.x1 <= -1279:            self.x1 = 1279        if self.x2 <= -1279:            self.x2 = 1279    # 繪制地圖的兩張圖片    def draw(self):        self.main_scene.blit(self.image1, (self.x1,0))        self.main_scene.blit(self.image2, (self.x2,0))class Snow():                # 雪花的豎直速度    def __init__(self):        self.x = 0  # 雪花的橫坐標(biāo)        self.y = 0  # 雪花的縱坐標(biāo)        self.vx = 0  # 雪花的水平速度        self.vy = 0        self.x = random.randint(0,1280)   # 初始化雪花橫坐標(biāo)        self.y = random.randint(0,390)   #初始化雪花縱坐標(biāo)    def getsnowpos(self):        return self.x,self.y         # 返回雪花坐標(biāo)位置

(2)單身狗不能碰到情侶檢測(cè)碰撞:

import pygameclass Collide():    def __init__(self):        self.gamestatus=True        self.snowflag=False        self.dogflag=0        self.score=0        self.scoreup=200        self.gameover=False        self.count=0    def dogs_cpdogs(self,dogs,cpdogs):        boooooooooooooooool=pygame.sprite.groupcollide(dogs,cpdogs,False,True)        if boooooooooooooooool:            self.score += self.scoreup            print(self.score)    def dog_cpdog(self,dog,cpdog2s):        booooooool=pygame.sprite.spritecollide(dog,cpdog2s,True)        if booooooool:            self.snowflag = True            self.count += 1            if self.count>=3:                self.gameover=True

?(3)主函數(shù):

import pygameimport sys,osimport randomfrom background import GameBackground,Snowfrom dog import MySpritefrom cpdog import Monster,MySprite2from pygame.sprite import Groupfrom collidedetection import Collidefrom sound import Soundfrom score import Fontffrom crydog import MySpritecpygame.init()screen=pygame.display.set_mode((1280,390))fpsset=pygame.time.Clock()bgcolor=(255,240,30)background=GameBackground(screen)dog=MySprite() dog.load("../image/dog.png", 82, 62, 3)dog.X = 0dog.Y = 285dogs = pygame.sprite.Group()dogs.add(dog)cpdogs=Group()lasttimecreat=0collidetest=Collide()sound=Sound()cpdog2s = pygame.sprite.Group()snowlist = []for i in range(0, 50):  # 建立50個(gè)雪花    snow=Snow()    snowlist.append(snow)scor=Fontf(screen)onoff = Truecrydog=Nonewhile 1:    for event in pygame.event.get():        if event.type == pygame.QUIT:            sys.exit()        # player ctrl        if event.type==pygame.KEYDOWN:            if event.key==pygame.K_RIGHT:                dog.movieRight=True            if event.key == pygame.K_LEFT:                dog.movieLeft=True            if event.key==pygame.K_SPACE:                if not dog.jumping:                    dog.jumping=True                    dog.vUP = -14        if event.type == pygame.KEYUP:            if event.key == pygame.K_RIGHT:                dog.movieRight=False            if event.key==pygame.K_LEFT:                dog.movieLeft=False        if event.type==pygame.MOUSEBUTTONDOWN:            mousex,mousey=pygame.mouse.get_pos()            if mousex>=540 and mousex<=540 + scor.text_width:                if mousey>=180 and mousey<=180 + scor.text_height:                    onoff = False    if dog.jumping:        if dog.vUP < 0:            dog.vUP += 0.6        elif dog.vUP >= 0:            dog.vUP += 0.8        dog.Y += dog.vUP        if dog.Y >= 290:            dog.jumping = False            dog.Y = 290            dog.vUP = 0.0    if not collidetest.gameover:        if onoff:            scor.beginpage()            print(onoff)        else:            print(onoff)        #碰撞檢測(cè)            collidetest.dogs_cpdogs(dogs,cpdogs)            collidetest.dog_cpdog(dog,cpdog2s)            #背景            background.action()            background.draw()            #分?jǐn)?shù)            # scor.beginpage()            collidetest.score+=1            scor.displayScore(collidetest.score)            #時(shí)間控制            ticks = pygame.time.get_ticks()            #player繪制            dogs.update(ticks)            dogs.draw(screen)            cpdog2s.update(ticks)            cpdog2s.draw(screen)            if ticks >lasttimecreat  + random.randint(1000,20000):                 #生成障礙物                cp = Monster(screen)                cpdogs.add(cp)                cpdog2 = MySprite2()                cpdog2.load("../image/cpdogs.png", 113, 62, 3)                cpdog2.X = 1280                cpdog2.Y = 285                cpdog2s.add(cpdog2)                lasttimecreat=ticks            for m in cpdogs:                m.draw_monster()                if m.rect.x <=640:                    del m            cpdogs.update()        #snow            if collidetest.snowflag:                for snow in snowlist:                    # 每個(gè)雪花位置的變換                    # if random.randint(0,1):                    snow.vx = random.randint(-3,3)  # 雪花的橫向速度                    snow.vy = 1                     # 雪花的豎直速度                    snow.x += snow.vx               # 雪花的橫軸移動(dòng)位置                    snow.y += snow.vy               # 雪花的縱軸移動(dòng)位置                    if snow.y > 500:                        snow.y = 0                    pygame.draw.circle(screen,[255,255,255],snow.getsnowpos(),1)    else:        if collidetest.snowflag:            background.action()            background.draw()            for snow in snowlist:                snow.vx = random.randint(-3, 3)                snow.vy = 1                snow.x += snow.vx                snow.y += snow.vy                if snow.y > 500:                    snow.y = 0                pygame.draw.circle(screen, [255, 255, 255], snow.getsnowpos(), 1)            if not crydog:                crydog=MySpritec()                crydog.load("../image/crydog.png", 82, 62,3)                crydog.X = 100                crydog.Y = 285                crydogs=Group()                crydogs.add(crydog)            ticks = pygame.time.get_ticks()            # player繪制            crydogs.update(ticks)            crydogs.draw(screen)            scor.gameoverrrrrrrrr()            if crydog.X>1280:                sys.exit()    fpsset.tick(60)    pygame.display.update()

效果圖:游戲規(guī)則躲避情侶狗,一直奔跑加分!

?總結(jié)

好啦!單身狗大戰(zhàn)即將開始,come on。

哈哈哈哈 這游戲蠻有趣的撒!你們的支持是我最大的動(dòng)力,記得三連哦~木??!

完整的源碼+素材老規(guī)矩源碼基地見: 點(diǎn)擊藍(lán)色字體即可免費(fèi)領(lǐng)取啦!

?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/120981.html

相關(guān)文章

  • Pygame實(shí)戰(zhàn):記憶差怎么辦?別急,增強(qiáng)記憶力的小游戲送給你~【越玩越上癮】

    摘要:導(dǎo)語(yǔ)哈嘍大家好,我是木木子。首先準(zhǔn)備好相應(yīng)的圖片這里準(zhǔn)備的。 導(dǎo)語(yǔ) 哈嘍!大家好,我是木木子。 今日游戲更新系列來(lái)啦,是不是很想知道今天的游戲是什么類型的?立馬安排上—— 隨著年紀(jì)的不斷上升,我們開始丟三落四,忘東忘西,記憶力越來(lái)越差了! 這不止大人隨著年紀(jì)增大記憶力退卻,其實(shí)很多小孩子也...

    nanfeiyan 評(píng)論0 收藏0
  • Pygame實(shí)戰(zhàn):方塊連接世界,云游大好河山—《我的世界》已上線!確定不進(jìn)來(lái)康康嘛?

    摘要:導(dǎo)語(yǔ)我的世界是一款自由度極高的游戲,每個(gè)新存檔的開啟,就像是作為造物主的玩家在虛擬空間開辟了一個(gè)全新的宇宙。主題我的世界版本圖片效果圖如下。 導(dǎo)語(yǔ) 《我的世界》是一款自由度極高的游戲,每個(gè)新存檔的開啟,就像是作為造物主的玩家在虛擬空間開辟了一個(gè)全新的宇宙。 ? 方塊連接世界,云游大好河山。 ...

    icattlecoder 評(píng)論0 收藏0
  • 聽說(shuō)你想 520 表白

    摘要:源碼很簡(jiǎn)單鍵盤按,然后輸入表白網(wǎng)頁(yè)生成器打開網(wǎng)站,填入要表白的內(nèi)容生成好的網(wǎng)頁(yè)百度傳情其實(shí)百度很早就有個(gè)傳情功能,直接百度輸入表白即可。 又到520,一個(gè)狂虐單身狗的日子,看看知乎的熱門話題:showImg(https://segmentfault.com/img/remote/1460000019264481); 這里給大家提供幾個(gè)虐狗的新姿勢(shì)。 69 表白從 69 開始,給對(duì)方發(fā)個(gè)...

    Mr_zhang 評(píng)論0 收藏0
  • Pygame實(shí)戰(zhàn):風(fēng)靡全球的經(jīng)典泡泡龍小游戲來(lái)襲,你會(huì)喜歡嘛?(源碼

    摘要:來(lái)來(lái)來(lái),跟著木木子一起開始玩泡泡龍游戲吧正文一準(zhǔn)備中游戲規(guī)則游戲玩法是玩家從下方中央的彈珠發(fā)射臺(tái)射出彩珠,等于個(gè)同色珠相連則會(huì)消失。直到完全消除界面上的同款泡泡即可勝利,還可以跟小小伙伴兒比拼,看誰(shuí)用的彩球越少。 導(dǎo)語(yǔ) Python版的消除類的游戲還是很多的,木木子之前也是推過(guò)不少~ ?源碼...

    Turbo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<