日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个简单的pygame接金币游戏

發布時間:2024/9/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个简单的pygame接金币游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
左右鍵控制小人移動去接空中下來的金幣,接住金幣得5分,接不住游戲結束,金幣速度會隨著level的關數 而越來越快import pygame,sys,os,random pygame.init()class rect():#畫出小人def __init__(self,filename,initial_position):self.image=pygame.image.load(filename)self.rect=self.image.get_rect()self.rect.topleft=initial_positionclass goldrect(pygame.sprite.Sprite):#繪出金幣def __init__(self,gold_position,speed):pygame.sprite.Sprite.__init__(self)self.image=pygame.image.load('image\\gold.png')self.rect=self.image.get_rect()self.rect.topleft=gold_positionself.speed=speeddef move(self):self.rect=self.rect.move(self.speed)def drawback(): #繪出背景圖片my_back=pygame.image.load('image\\qi3.jpg') bakscreen.blit(my_back,[0,0])def loadtext(levelnum,score,highscore):#繪出成績、level、最高分等my_font=pygame.font.SysFont(None,24)levelstr='Level:'+str(levelnum)text_screen=my_font.render(levelstr, True, (255, 0, 0))bakscreen.blit(text_screen, (650,50))highscorestr='Higescore:'+str(highscore)text_screen=my_font.render(highscorestr, True, (255, 0, 0))bakscreen.blit(text_screen, (650,80))scorestr='Score:'+str(score)text_screen=my_font.render(scorestr, True, (255, 0, 0))bakscreen.blit(text_screen, (650,110)) def loadgameover(scorenum,highscore):#繪出GAME OVERmy_font=pygame.font.SysFont(None,50)levelstr='GAME OVER'over_screen=my_font.render(levelstr, True, (255, 0, 0))bakscreen.blit(over_screen, (300,240))highscorestr='YOUR SCORE IS '+str(scorenum)over_screen=my_font.render(highscorestr, True, (255, 0, 0))bakscreen.blit(over_screen, (280,290))if scorenum>int(highscore):#寫入最高分highscorestr='YOUR HAVE GOT THE HIGHEST SCORE!'text_screen=my_font.render(highscorestr, True, (255, 0, 0))bakscreen.blit(text_screen, (100,340))highfile=open('highscore','w')highfile.writelines(str(scorenum)) highfile.close() def gethighscore(): #讀取最高分if os.path.isfile('highscore'):highfile=open('highscore','r')highscore=highfile.readline() highfile.close() else:highscore=0return highscorebakscreen=pygame.display.set_mode([800,600]) bakscreen.fill([0,160,233]) pygame.display.set_caption('Dig!Dig!') drawback()levelnum=1 #level scorenum=0 #得分 highscore=gethighscore()#最高分 ileft=1 #記錄向左移動步數,用來控制圖片 iright=10 #記錄向右移動步數,用來控制圖片 x=100 y=450 filename='image\\1.png' backimg_ren=rect(filename,[x,y]) bakscreen.blit(backimg_ren.image,backimg_ren.rect) loadtext(levelnum,scorenum,highscore) goldx=random.randint(50,580) speed=[0,levelnum] mygold=goldrect([goldx,100],speed) pygame.display.update()while True:if scorenum>0 and scorenum/50.0==int(scorenum/50.0):#當得分是50的倍數時修改levellevelnum=scorenum/50+1speed=[0,levelnum]for event in pygame.event.get():if event.type==pygame.QUIT:sys.exit()#make gold pressed_keys = pygame.key.get_pressed()if pressed_keys[pygame.K_LEFT]:#按下左鍵drawback() loadtext(levelnum,scorenum,highscore)if iright > 14 :iright=10iright=iright+1filename='image\\'+str(iright)+'.png'if x<50 :x=50else:x=x-10backimg_surface=rect(filename,[x,y])bakscreen.blit(backimg_surface.image,backimg_surface.rect)if pressed_keys[pygame.K_RIGHT]:#按下右鍵drawback()loadtext(levelnum,scorenum,highscore)if ileft > 4 :ileft=0ileft=ileft+1filename='image\\'+str(ileft)+'.png'if x>560:x=560else:x=x+10backimg_surface=rect(filename,[x,y])bakscreen.blit(backimg_surface.image,backimg_surface.rect)drawback()loadtext(levelnum,scorenum,highscore)mygold.move()bakscreen.blit(mygold.image,mygold.rect) backimg_surface=rect(filename,[x,y])bakscreen.blit(backimg_surface.image,backimg_surface.rect)if mygold.rect.top>600:#判斷金幣是否著地,一但著地,游戲結束loadgameover(scorenum,highscore)if mygold.rect.colliderect(backimg_surface.rect):#判斷金幣是否與小人碰撞,如果碰撞表示小人接到金幣scorenum+=5loadtext(levelnum,scorenum,highscore)goldx=random.randint(50,580)mygold=goldrect([goldx,100],speed) pygame.display.update()

轉載于:https://www.cnblogs.com/Alexander11/p/4227767.html

總結

以上是生活随笔為你收集整理的一个简单的pygame接金币游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。