日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python寫捕魚達(dá)人的游戲?qū)崿F(xiàn)

瀏覽:289日期:2022-07-31 16:00:14

當(dāng)今最火的莫過(guò)于用Python寫出捕魚達(dá)人的效果了。啥都不用說(shuō),亮代碼~~~

# coding:utf-8# 導(dǎo)入模塊import pygame,sys,time,randomfrom pygame.locals import *# 初始化pygame環(huán)境pygame.init()# 創(chuàng)建一個(gè)長(zhǎng)寬分別為800/480的窗口canvas = pygame.display.set_mode((800,480))canvas.fill((255,255,255))# 設(shè)置窗口標(biāo)題pygame.display.set_caption(’捕魚達(dá)人’)# 加載圖片bg = pygame.image.load('./images/bg.jpg')fish1 = pygame.image.load('./images/fish1_0.png')fish2 = pygame.image.load('./images/fish2_0.png')fish3 = pygame.image.load('./images/fish3_0.png')fish4 = pygame.image.load('./images/fish4_0.png')fish5 = pygame.image.load('./images/fish5_0.png')fish6 = pygame.image.load('./images/fish6_0.png')fish7 = pygame.image.load('./images/fish7_0.png')fish8 = pygame.image.load('./images/fish8_0.png')fish9 = pygame.image.load('./images/fish9_0.png')fish10 = pygame.image.load('./images/fish10_0.png')fish11 = pygame.image.load('./images/fish11_0.png')net = pygame.image.load('./images/net.png')gameover = pygame.image.load('./images/gameover.jpg')# 定義事件監(jiān)聽函數(shù)def handleEvent(): for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 添加鼠標(biāo)移動(dòng)事件,讓鼠標(biāo)控制網(wǎng)的移動(dòng) if event.type == MOUSEMOTION: Game.net.x = event.pos[0] - Game.net.width/2 Game.net.y = event.pos[1] - Game.net.height/2# 定義時(shí)間間隔判斷函數(shù)def isActionTime(lastTime,interval): if lastTime == 0: return True currentTime = time.time() return currentTime - lastTime >= interval# 定義魚類class Fish(): def __init__(self,width,height,y,img): self.width = width self.height = height self.x = 800 - self.width self.y = y self.img = img def paint(self): canvas.blit(self.img,(self.x,self.y)) def step(self): self.x -= 10# 定義網(wǎng)類class Net(): def __init__(self,x,y): self.x = x self.y = y self.width = 160 self.height = 160 self.img = net def paint(self): canvas.blit(self.img,(self.x,self.y)) # 定義越界函數(shù) def outOfBounds(self): if self.x <= 0: self.x = 0 elif self.x >= 800 - self.width: self.x = 800 - self.width elif self.y <= 0: self.y = 0 elif self.y >= 480 - self.height: self.y = 480 - self.height # 定義碰撞函數(shù) def hit(self,c): return c.x > self.x - c.width and c.x < self.x + self.width and c.y > self.y - c.height and c.y < self.y + self.height# 定義存儲(chǔ)游戲數(shù)據(jù)的類class Game(): # 游戲狀態(tài) state = ’RUNNING’ # 魚的列表 fish = [] # 網(wǎng)的對(duì)象 net = Net(100,100) # 分?jǐn)?shù) score = 0 # 時(shí)間 t = 60 n = 1 # 上一次時(shí)間 lastTime = 0 # 時(shí)間間隔 interval = 0.5 # 所有魚的寬高 fish_pos = [[22,13],[50,48],[55,55],[73,73],[104,80],[60,60],[93,93],[94,81],[99,103],[180,140],[320,206],[100,96]]# 定義產(chǎn)生魚的函數(shù)def conEnter(): if not isActionTime(Game.lastTime,Game.interval): return Game.lastTime = time.time() r = random.randint(1,11) if Game.t <= 60: Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480 - Game.fish_pos[r][1]),pygame.image.load('./images/fish'+str(r)+'_0.png'))) elif Game.t <= 30: Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480 - Game.fish_pos[r][1]),pygame.image.load('./images/fish'+str(r)+'_0.png'))) Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480 - Game.fish_pos[r][1]),pygame.image.load('./images/fish'+str(r)+'_0.png'))) elif Game.t <= 10: Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480 - Game.fish_pos[r][1]),pygame.image.load('./images/fish'+str(r)+'_0.png'))) Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480 - Game.fish_pos[r][1]),pygame.image.load('./images/fish'+str(r)+'_0.png'))) Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480 - Game.fish_pos[r][1]),pygame.image.load('./images/fish'+str(r)+'_0.png')))# 定義畫組件函數(shù)def conPaint(): canvas.blit(bg,(0,0)) Game.net.paint() showScore() showTime() for fish in Game.fish: fish.paint()# 定義組件移動(dòng)函數(shù)def conStep(): Game.net.outOfBounds() for fish in Game.fish: fish.step()# 定義碰撞檢測(cè)函數(shù)def checkHit(): for fish in Game.fish: if Game.net.hit(fish) and len(Game.fish) != 0: Game.fish.remove(fish) Game.score += 1# 定義繪制分?jǐn)?shù)函數(shù)def showScore(): TextFont = pygame.font.SysFont(’SimHei’,40) TextScore = TextFont.render(’得分:’+str(Game.score),True,(255,255,255)) canvas.blit(TextScore,(20,20))# 定義繪制時(shí)間函數(shù)def showTime(): TextFont = pygame.font.SysFont(’SimHei’,40) TextScore = TextFont.render(’剩余時(shí)間:’+str(Game.t),True,(255,255,255)) canvas.blit(TextScore,(550,20)) if Game.n % 50 == 1: Game.t -= 1 Game.n += 1 if Game.t == 0: Game.state = ’END’# 定義主控制函數(shù)def control(): if Game.state == ’RUNNING’: conEnter() conPaint() conStep() checkHit() elif Game.state == ’END’: canvas.blit(gameover,(0,0)) TextFont = pygame.font.SysFont(’SimHei’,40) TextScore = TextFont.render(’最終得分:’+str(Game.score),True,(0,0,0)) canvas.blit(TextScore,(50,50))while True: # 調(diào)用主控制函數(shù) control() # 更新屏幕內(nèi)容 pygame.display.update() # 延遲10毫秒 pygame.time.delay(10) # 監(jiān)聽事件 handleEvent()

這段代碼用了一些Python的基礎(chǔ)知識(shí),包括事件,定義函數(shù),取余,循環(huán),判斷,定義類,創(chuàng)建對(duì)象等。這些沒(méi)什么好說(shuō)的。導(dǎo)入的幾個(gè)庫(kù)也是很常用的庫(kù),基本算是程序員必備。把代碼擺這里主要是為了讓大家借鑒。要是寫不出來(lái)真是沒(méi)臉繼續(xù)寫Python了…

大家可以利用我的代碼,在做事件監(jiān)聽等函數(shù)時(shí)應(yīng)該會(huì)方便一些。

圖片我發(fā)在下面了哈,需要的自取。

源碼下載

到此這篇關(guān)于Python寫捕魚達(dá)人的游戲?qū)崿F(xiàn)的文章就介紹到這了,更多相關(guān)Python 捕魚達(dá)人內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩高清不卡一区| 亚洲一区二区三区高清| 中文字幕一区二区三区四区久久 | 日韩精品一区二区三区免费观影| 精品一区二区三区免费看 | 丝袜脚交一区二区| 日韩精品免费一区二区夜夜嗨| 91免费精品国偷自产在线在线| 日韩精品欧美大片| 国产欧美一区二区三区国产幕精品| 麻豆国产精品一区二区三区| 亚洲啊v在线| 国产精品普通话对白| 日韩成人精品一区二区三区| 黄色网一区二区| 一区在线视频观看| 日本a级不卡| 一区二区三区四区日本视频| 欧美午夜精彩| 日韩在线麻豆| 在线人成日本视频| 亚洲一区免费| 久久精品国产亚洲一区二区三区| 日韩精品午夜| 午夜免费一区| 久久国产婷婷国产香蕉| 精品三级久久| 日韩精品成人| 欧美不卡高清一区二区三区| 免费在线观看精品| 国产中文欧美日韩在线| 性欧美精品高清| 久久只有精品| 丝袜美腿亚洲一区二区图片| 国产在线一区不卡| 久久av一区| 中文字幕色婷婷在线视频| 亚洲一二三区视频| 日韩在线短视频| 亚洲欧美视频一区二区三区| 老鸭窝一区二区久久精品| 亚洲综合日本| 日韩欧美三级| 国产精品亚洲片在线播放| 欧美午夜不卡| 色婷婷综合网| 欧美一区久久| 国产毛片久久| 日韩中文视频| 精品视频在线一区二区在线| 中文在线日韩| 在线观看免费一区二区| 精品一区二区三区在线观看视频 | 成人午夜精品| 日韩成人精品一区二区三区| 欧美日韩中文字幕一区二区三区| 国产三级一区| 一区二区国产在线| 99精品综合| 高清久久一区| 欧美精品97| 欧美日一区二区三区在线观看国产免| 一区视频在线| 九九综合九九| 999国产精品永久免费视频app| 国产精品黄色片| 视频精品一区| 九一精品国产| 91av亚洲| 成年男女免费视频网站不卡| 国产精区一区二区| 日韩中文字幕视频网| 亚洲专区一区| 国产二区精品| 久久精品一区二区不卡| 日韩深夜视频| 美女久久99| 免费一级欧美片在线观看网站| 欧美日韩调教| 日本综合精品一区| 在线免费观看亚洲| 蜜臀av性久久久久蜜臀aⅴ四虎| 九一精品国产| 亚洲二区免费| 亚洲免费播放| 亚洲神马久久| 丝袜亚洲另类欧美| 男女男精品视频网| 三级欧美韩日大片在线看| 国产免费成人| 视频在线观看一区| 国产精品日本| 精品免费在线| 国产不卡精品| 亚洲风情在线资源| av最新在线| 久久蜜桃资源一区二区老牛| 日本美女一区| 人人精品亚洲| 午夜在线视频观看日韩17c| 国产精品视区| 日本不卡高清| 欧美1区2区3| 免费一二一二在线视频| 亚洲婷婷免费| 亚洲欧美高清| 日韩欧美四区| 国产精品资源| av免费不卡国产观看| 成人美女视频| 亚洲一区亚洲| 日韩精品一区二区三区中文在线| 国产亚洲精品美女久久| 奇米狠狠一区二区三区| 国产精品777777在线播放| 精品国产乱码久久久久久樱花| 久久男人天堂| 欧美日韩水蜜桃| 亚洲综合婷婷| 国产精品777777在线播放| 精品伊人久久| 99久精品视频在线观看视频| 美女国产一区| 久久久久久亚洲精品美女| 91精品推荐| 日韩中文字幕在线一区| 久久99影视| 麻豆一区二区三区| 久久天堂av| 中文视频一区| 精品一区二区三区中文字幕视频| av在线日韩| 亚洲一区二区av| 国产劲爆久久| 99国产精品久久久久久久| 日韩va亚洲va欧美va久久| 日产精品一区二区| 免费欧美在线视频| 国产精品白丝久久av网站| 亚洲无线一线二线三线区别av| 亚洲欧美一级| 蜜臀久久精品| 蜜臀va亚洲va欧美va天堂 | 一区二区三区四区日韩| 国产一区二区三区久久久久久久久| 一区在线免费| 成人在线观看免费视频| 免播放器亚洲一区| 黑森林国产精品av| 亚洲精品第一| 91精品久久久久久久久久不卡| 午夜电影一区| 激情综合亚洲| 国产精品地址| 免费在线看一区| 捆绑调教日本一区二区三区| 亚洲深夜福利| 欧美aa一级| 国产欧美一区二区三区国产幕精品| 97精品一区二区| 日韩av不卡一区二区| 99热精品久久| 国产欧美日韩影院| 免费在线观看日韩欧美| 日韩欧美二区| 久久久久黄色| 国产亚洲福利| 精品欧美一区二区三区在线观看| 国产精品免费精品自在线观看| 亚洲精品97| 国产调教精品| 人在线成免费视频| 国产精品蜜月aⅴ在线| 一区二区三区国产盗摄| av在线日韩| 国产精品白丝久久av网站| 亚洲一区二区三区高清| 亚洲成人av观看| 捆绑调教日本一区二区三区| 国产精品久久久久久av公交车| 蜜桃久久精品一区二区| 国产91久久精品一区二区| 黑森林国产精品av| 国产成人精品一区二区免费看京| 欧美啪啪一区| 日韩成人精品一区二区三区| 日韩网站在线| 午夜日韩福利| 九一成人免费视频| 国产精品99免费看| 日韩久久一区二区三区| 国产一区二区三区不卡视频网站 | 亚洲午夜久久久久久尤物| 日本精品不卡| 欧美日韩精品在线一区| 99久久久久| 久久av免费| 久久精品资源| 国产不卡精品| 天堂av在线|