在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    游戲全面“入侵”生活:Python發(fā)布“酷跑+”計劃

    游戲全面“入侵”生活:Python發(fā)布“酷跑+”計劃

    導(dǎo)語

    “ 急速奔跑——享受生活中的美好時光!”

    ——夢想

    重磅消息!木木子今天又要給大家介紹一款新游戲啦!

    期待不期待呀來我們先來看看是什么游戲讓大家這么沸騰

    《天天酷跑》這款游戲有好幾年的歷史了,當(dāng)初確實是十分火爆,還記得自己第一次接觸這款游戲

    是在高考后的暑假,因為那個假期比較長,就去一家服裝店打工了,閑下來的時候店里的人就在玩游戲

    天天酷跑,為了能有話題聊就入坑了,后來發(fā)現(xiàn)還有不少同學(xué)也都在玩,而且分?jǐn)?shù)比自己高好多。

    現(xiàn)在算算大概過去六七年了,自己早已放棄天天酷跑了。

    可能因為天天酷跑是自己接觸的第一款手游吧,印象比較深刻——現(xiàn)在好不容易下載進(jìn)去發(fā)現(xiàn)很多

    規(guī)則都改了,捂臉.jpg

    完全不會操作了。這不?準(zhǔn)備做一款Python版簡易的《天天跑酷》小游戲,順便回一下童年撒!

    小簡介:

    《天天酷跑》是騰訊移動游戲平臺專為海量微信和手機(jī)QQ用戶量身打造的一款精品手機(jī)游戲。

    在沿襲傳統(tǒng)玩法的基礎(chǔ)上,特別加入了閃靚坐騎、萌動寵物等一系列心動設(shè)計,為玩家?guī)碜顬榈?/p>

    心應(yīng)手的跑酷體驗。隨時隨地與微信、QQ好友一起玩,搶占排行榜、愛心送不停、高分炫出來!貼

    心交互讓你和好友親密無間,分享炫耀讓你備受好友關(guān)注,成為酷跑達(dá)人!

    大聲告訴你的好友:跑酷從此不一樣!

    正文

    本文是Pygame游戲模塊制作的《天天跑酷》小游戲啦~

    一、準(zhǔn)備中

    好啦!我們正式開始準(zhǔn)備小游戲所需要的素材、環(huán)境吧!

    圖片素材:

    環(huán)境安裝:

    Python3.6、Pycharm2019(大部分版本都是可以運(yùn)行的)、Pygame部分內(nèi)置模塊。

    模塊安裝:pip install -i https://pypi.douban.com/simple/ +模塊名

    1

    游戲規(guī)則:

    空格鍵跳躍、按一次短跳躍、按二次長跳躍,中間會出現(xiàn)很多障礙物,還有相應(yīng)的金幣等,游戲失敗后按空格鍵重新開始。

    二、游戲步驟

    1).游戲初始化

    利用pygame創(chuàng)建特定大小的游戲窗口。

    顯示游戲的初始界面,提示用戶開始游戲

    在游戲界面中設(shè)置背景圖片,并顯示人物、障礙物和金幣等物體。

    2).游戲控制

    人物自動向前奔跑,按空格鍵控制人物跳躍。

    利用addObstacle函數(shù)創(chuàng)建障礙物。

    利用updateScreen函數(shù)不斷更新界面中物體的顯示。

    3).碰撞檢測

    利用ListenKeyBoard函數(shù)監(jiān)控用戶的鍵盤輸入,并檢測人物和障礙物金幣等是否碰撞。

    人物和障礙物碰撞:當(dāng)檢測到人物和障礙物的位置信息有交集時,判斷為碰撞,人物生命值減一,障礙物消滅。

    人物和金幣碰撞:當(dāng)人物撞到金幣時,金幣消滅,得分+100。

    當(dāng)人物成功躲避障礙物時,得分+10。

    利用judgeState函數(shù)來判斷游戲是否結(jié)束

    游戲結(jié)束時顯示最終得分,并提示用戶按“Enter”鍵重新開始游戲。

    三、正式敲代碼import pygame,sysimport random

    # 游戲配置width = 1200

    #窗口寬度height = 508

    #窗口高度size = width, height score=None

    #分?jǐn)?shù)myFont=myFont1=None

    #字體surObject=None

    #障礙物圖片

    surGameOver=None

    #游戲結(jié)束圖片bg=None

    #背景對象role=None

    #人物對象object=None

    #障礙物對象

    objectList=[]

    #障礙物對象數(shù)組clock=None

    #時鐘gameState=None

    #游戲狀態(tài)(0,1)表示(游戲中,游戲結(jié)束)class Role:

    #人物 def __init__(self,surface=None,y=None):

    self.surface=surface

    self.y=y

    self.w=(surface.get_width())/12

    self.h=surface.get_height()/2

    self.currentFrame=-1

    self.state=0

    #0代表跑步狀態(tài),1代表跳躍狀態(tài),2代表連續(xù)跳躍

    self.g=1

    #重力加速度

    self.vy=0

    #y軸速度

    self.vy_start=-20

    #起跳開始速度

    def getRect(self):

    return (0,self.y+12,self.w,self.h)class Object:

    #障礙物 def __init__(self,surface,x=0,y=0):

    self.surface=surface

    self.x=x

    self.y=y

    self.w=surface.get_width()

    self.h=surface.get_height()

    self.currentFrame=random.randint(0,6)

    self.w = 100

    self.h = 100

    def getRect(self):

    return (self.x,self.y,self.w,self.h)

    def collision(self,rect1,rect2):

    #碰撞檢測

    if (rect2[0]>=rect1[2]-20) or (rect1[0]+40>=rect2[2])or (rect1[1]+rect1[3]<rect2[1]+20) or (rect2[1]+rect2[3]<rect1[1]+20):

    return False

    return True

    class Bg:

    #背景

    def __init__(self,surface):

    self.surface=surface

    self.dx=-10

    self.w=surface.get_width()

    self.rect=surface.get_rect()

    def initGame():

    global bg,role,clock,gameState,surObject,surGameOver,score,myFont,myFont1,objectList

    #分?jǐn)?shù)初始化

    score=0

    #初始化

    objectList=[]

    #加載字體

    myFont=pygame.font.Font(“./freesansbold.ttf”,32) myFont1=pygame.font.Font(“./freesansbold.ttf”,64)

    # 創(chuàng)建時鐘對象 (可以控制游戲循環(huán)頻率)

    clock = pygame.time.Clock()

    #初始化游戲狀態(tài)

    gameState=0

    #游戲背景

    surBg=pygame.image.load(“image/bg.bmp”).convert_alpha()

    bg=Bg(surBg)

    #結(jié)束畫面

    surGameOver=pygame.image.load(“image/gameover.bmp”).convert_alpha()

    #人物圖片

    surRole=pygame.image.load(“image/role.png”).convert_alpha()

    role=Role(surRole,508-85)

    #障礙物圖片

    surObject=pygame.image.load(“image/object.png”).convert_alpha()

    def addObject():

    global surObject,object,objectList,object

    rate=4

    #是否生成障礙物

    if not random.randint(0,300)<rate:

    return

    y=random.choice([height-100,height-200,height-300,height-400]) object=Object(surObject,width+40,y)

    objectList.append(object)def updateLogic():

    global gameState,score

    #鍵盤事件處理 for event in pygame.event.get():

    if event.type == pygame.QUIT:

    sys.exit()

    elif event.type==pygame.KEYDOWN:

    #空格鍵跳躍

    if gameState==0:

    if event.key==pygame.K_SPACE:

    if role.state==0:

    role.state=1

    role.vy=role.vy_start

    elif role.state==1:

    role.state=2

    role.vy=role.vy_start

    elif gameState==1:

    if event.key==pygame.K_SPACE:

    #重新開始游戲

    initGame()

    if gameState==0:

    #背景的移動

    bg.dx+=10

    if bg.dx==1200:

    bg.dx=0

    #人物的移動

    if role.state==0:

    role.currentFrame+=1

    if role.currentFrame==12:

    role.currentFrame=0

    else:

    role.y+=role.vy

    role.vy+=role.g

    if role.y>=508-85:

    role.y=508-85

    role.state=0

    #障礙物的移動

    addObject()

    for object in objectList:

    object.x-=10

    #障礙物移動

    # 障礙物超出屏幕,移除障礙物

    if object.x+object.w<=0:

    objectList.remove(object)

    score+=10

    #避開障礙物,加10分

    print(“移除了一個目標(biāo)”)

    #碰撞檢測

    if object.collision(role.getRect(),object.getRect()):

    if(object.currentFrame==6):

    objectList.remove(object)

    score+=100

    #吃金幣加100分

    print(score)

    print(“吃了一個金幣”)

    else:

    gameState=1 #游戲失敗

    print(“發(fā)生了碰撞!”)

    def updateView(screen):

    #背景的貼圖

    screen.blit(bg.surface,[-bg.dx,0])

    screen.blit(bg.surface,[1200-bg.dx,0])

    #分?jǐn)?shù)的貼圖

    textSur=myFont.render(“score:%d”%score, True, (128, 128, 128))

    screen.blit(textSur, (500,20))

    del textSur

    #人物的貼圖 screen.blit(role.surface, [0, role.y], [int(role.currentFrame) * role.w, 0, role.w, role.h])

    #障礙物的貼圖

    for object in objectList:

    screen.blit(object.surface, [object.x, object.y], [int(object.currentFrame) * object.w, 0, object.w, object.h])

    def judgeState(screen):

    global gameState

    if gameState==0:

    updateView(screen)

    return elif gameState==1:

    screen.blit(surGameOver,[0,0])

    textSur = myFont1.render(“GameOver Score:%d”%score, True, (255, 0, 0)) screen.blit(textSur, (width/2-350, height/2+150))

    def main():

    pygame.init()

    screen = pygame.display.set_mode(size)

    pygame.display.set_caption(‘天天跑酷——CSDN:夢想)

    initGame()

    screen.blit(bg.surface,[0,0])

    while True:

    #設(shè)置時鐘頻率

    clock.tick(60)

    judgeState(screen)

    updateLogic()

    pygame.display.flip()main()

    四、效果展示

    視頻展示——

    游戲全面“入侵”生活:Python發(fā)布“酷跑+”計劃!

    截圖展示——

    游戲開始:

    跳躍、障礙物:

    游戲結(jié)束:

    總結(jié)

    看完這款游戲,是不是涌出滿滿的回憶呢:趁爸媽不在家時,偷偷打開電腦玩游戲

    剛買智能手機(jī)時,下載一兩個最火爆的游戲……

    現(xiàn)在看來,每一款游戲,都是時光的印記,你還有什么游戲回憶殺呢?之前也寫過很多童年經(jīng)典游戲可以去看看哈!

    碼字不易 點個關(guān)注行不行

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月29日 14:46
    下一篇 2022年6月29日 14:46

    相關(guān)推薦

    • 請問秀兒是你嗎什么梗

      簡要回答 秀兒是你嗎這句話其實沒有貶義的含義,這句話的意思是形容內(nèi)容有趣,優(yōu)秀的意思。 現(xiàn)在很多人喜歡刷視頻,所以很多人會拍一些視頻供大家觀看,有些觀看者會在下面評論,有些人會評論…

      2022年11月27日
    • dnf一鍵拾取(dnf一鍵拾取是全圖的嗎)

      今天小編給各位分享dnf一鍵拾取的知識,其中也會對dnf一鍵拾取是全圖的嗎進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! dnf如何一鍵拾取物品 dnf一鍵…

      2022年11月27日
    • 《寶可夢朱紫》3天銷量破千萬(寶可夢朱紫3天銷量破千萬了)

      開局只能選一種御三家,不能同時擁有全部這是游戲設(shè)計的劇情不能更改的。 已經(jīng)偷跑了寶可夢朱紫將于11月18日正式發(fā)售,而目前已有實體卡帶偷跑御三家進(jìn)化型終于在泄露了,新葉喵站了起來,…

      2022年11月27日
    • 【周末玩什么】3天銷量破千萬的《寶可夢 朱/紫》,為何被評價為“又爛又好”

      本周推薦《寶可夢 朱/紫》和《第七境》。 本月18號《寶可夢 朱/紫》全球發(fā)售。截至發(fā)稿日,本作的MC媒體均分從79分跌至75分,玩家評分更是只有可憐的2.9分。發(fā)售之初,國內(nèi)關(guān)于…

      2022年11月27日
    • 存儲過程語法(sql server存儲過程語法)

      今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

      2022年11月26日
    • 微軟表示:《GTA6》預(yù)計將于2024年發(fā)售

      微軟表示:《GTA6》預(yù)計將于2024年發(fā)售 近日,微軟在回應(yīng)英國競爭與市場管理局(CMA)調(diào)查其收購動視暴雪時提到,《GTA6》預(yù)計將在2024年發(fā)售。 “備受期待的《GTA6》…

      2022年11月26日
    • 英雄聯(lián)盟手游好玩嗎(英雄聯(lián)盟手游好玩還是端游好玩)

      簡要回答 非常好玩,英雄聯(lián)盟手游這款游戲已經(jīng)正式的進(jìn)行公測,這款游戲是以5v5為模式進(jìn)行對戰(zhàn)的,它是以英雄聯(lián)盟端游為原型進(jìn)行開發(fā),里面的每一種玩法基本都沿襲了端游的特點。 01 這…

      2022年11月25日
    • 游戲平臺有哪些(游戲平臺有哪些)

      簡要回答 游戲平臺指的是多人通過互聯(lián)網(wǎng)在線游戲的平臺,例如qq游戲,聯(lián)眾世界,浩方電競平臺,VS競技游戲平臺等,只要你下載平臺,下載相關(guān)游戲,就能實現(xiàn)對戰(zhàn),擺脫了局域網(wǎng)的限制。 詳…

      2022年11月25日
    • 好玩的塔防游戲(好玩的單機(jī)塔防手機(jī)游戲)

      簡要回答 對于游戲愛好者來說塔防游戲并不陌生,畢竟很多人一開始玩的就是塔防游戲,比如大家都知道的植物大戰(zhàn)僵尸,而且如今植物大戰(zhàn)僵尸還在大家的視野里面,很多博主也會用植物大戰(zhàn)僵尸玩很…

      2022年11月25日
    • 2022金搖桿獎公布:《艾爾登法環(huán)》獨(dú)中四元,成為最大贏家

      2022金搖桿獎全部獎項已經(jīng)公布,現(xiàn)象級熱門大作《艾爾登法環(huán)》拿下最佳多人游戲,評論家玩家選擇獎,最佳多人游戲,年度終極游戲等四項大獎,成為本次2022金搖桿獎的最大贏家。完整的獲…

      2022年11月25日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息