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

您的位置:首頁技術文章
文章詳情頁

Python寫捕魚達人的游戲實現

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

當今最火的莫過于用Python寫出捕魚達人的效果了。啥都不用說,亮代碼~~~

# coding:utf-8# 導入模塊import pygame,sys,time,randomfrom pygame.locals import *# 初始化pygame環境pygame.init()# 創建一個長寬分別為800/480的窗口canvas = pygame.display.set_mode((800,480))canvas.fill((255,255,255))# 設置窗口標題pygame.display.set_caption(’捕魚達人’)# 加載圖片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')# 定義事件監聽函數def handleEvent(): for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 添加鼠標移動事件,讓鼠標控制網的移動 if event.type == MOUSEMOTION: Game.net.x = event.pos[0] - Game.net.width/2 Game.net.y = event.pos[1] - Game.net.height/2# 定義時間間隔判斷函數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# 定義網類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)) # 定義越界函數 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 # 定義碰撞函數 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# 定義存儲游戲數據的類class Game(): # 游戲狀態 state = ’RUNNING’ # 魚的列表 fish = [] # 網的對象 net = Net(100,100) # 分數 score = 0 # 時間 t = 60 n = 1 # 上一次時間 lastTime = 0 # 時間間隔 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]]# 定義產生魚的函數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')))# 定義畫組件函數def conPaint(): canvas.blit(bg,(0,0)) Game.net.paint() showScore() showTime() for fish in Game.fish: fish.paint()# 定義組件移動函數def conStep(): Game.net.outOfBounds() for fish in Game.fish: fish.step()# 定義碰撞檢測函數def checkHit(): for fish in Game.fish: if Game.net.hit(fish) and len(Game.fish) != 0: Game.fish.remove(fish) Game.score += 1# 定義繪制分數函數def showScore(): TextFont = pygame.font.SysFont(’SimHei’,40) TextScore = TextFont.render(’得分:’+str(Game.score),True,(255,255,255)) canvas.blit(TextScore,(20,20))# 定義繪制時間函數def showTime(): TextFont = pygame.font.SysFont(’SimHei’,40) TextScore = TextFont.render(’剩余時間:’+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’# 定義主控制函數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: # 調用主控制函數 control() # 更新屏幕內容 pygame.display.update() # 延遲10毫秒 pygame.time.delay(10) # 監聽事件 handleEvent()

這段代碼用了一些Python的基礎知識,包括事件,定義函數,取余,循環,判斷,定義類,創建對象等。這些沒什么好說的。導入的幾個庫也是很常用的庫,基本算是程序員必備。把代碼擺這里主要是為了讓大家借鑒。要是寫不出來真是沒臉繼續寫Python了…

大家可以利用我的代碼,在做事件監聽等函數時應該會方便一些。

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

源碼下載

到此這篇關于Python寫捕魚達人的游戲實現的文章就介紹到這了,更多相關Python 捕魚達人內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久福利影视| 鲁大师精品99久久久| 免费一级欧美片在线观看网站| 亚洲91网站| 亚州av一区| 国产欧美日韩免费观看| 欧美黑人做爰爽爽爽| 欧美aⅴ一区二区三区视频| 国产精品99久久免费观看| 国产福利资源一区| 国产不卡av一区二区| 国产精品麻豆久久| 日韩在线观看| 极品日韩av| 久久福利毛片| 亚洲欧美日本日韩| 在线精品观看| 欧美日韩午夜| 国产成人精品一区二区三区视频| av在线日韩| 午夜在线一区| 久久国产麻豆精品| 91综合网人人| 精品91久久久久| 日韩精品免费观看视频| 国产精品v亚洲精品v日韩精品| 国产成人久久| 亚洲激情五月| 国产亚洲一区| 亚洲国产福利| 黄色日韩在线| 日韩中文av| 国产精品天天看天天狠| 国产拍在线视频| 午夜久久福利| 欧美亚洲自偷自偷| 神马久久午夜| 久久av一区二区三区| 国产精品调教| 亚洲天堂久久| 欧美一区二区三区久久精品| 超碰99在线| 午夜在线播放视频欧美| 国产欧美88| 欧美日一区二区| 日韩一区二区三区精品视频第3页| 国产精品网址| 激情久久五月| 国产精品天天看天天狠| 欧美日韩在线播放视频| 视频精品一区| 日韩一区二区三区免费播放| 蜜桃视频第一区免费观看| 久久影视三级福利片| 国产亚洲综合精品| 国产日韩中文在线中文字幕 | 亚洲在线国产日韩欧美| 国产亚洲欧美日韩精品一区二区三区 | 欧美一级专区| 麻豆一区二区在线| 99香蕉国产精品偷在线观看| 久久不卡日韩美女| av不卡在线| 精品欧美日韩精品| 欧美一级专区| 在线手机中文字幕| 日本va欧美va精品发布| 日韩专区精品| 日韩高清不卡一区| 999国产精品999久久久久久| 欧美一区二区三区久久精品| 欧美日韩一区二区综合| 国产剧情在线观看一区| 婷婷丁香综合| 精品五月天堂| 日韩精品免费一区二区夜夜嗨| 欧美日韩中文字幕一区二区三区 | 日本一区二区三区中文字幕| 久久蜜桃精品| 国产欧美日韩精品一区二区免费| 蜜桃视频欧美| 国产精品久久久亚洲一区| 一区免费视频| 日韩精品诱惑一区?区三区| 国产精品天堂蜜av在线播放| 日韩中文字幕不卡| 久久久水蜜桃av免费网站| 国产福利亚洲| 97成人超碰| 一区二区不卡| 国产亚洲激情| 欧美日韩在线播放视频| 高清在线一区| 国产精品蜜月aⅴ在线| 视频一区视频二区在线观看| 久久美女性网| 欧美91在线| 欧美一区精品| 亚洲日产国产精品| 美女久久一区| 国产日韩综合| 欧美日韩激情| 99热国内精品| 日韩大片在线观看| 国模大尺度视频一区二区| 欧美国产三级| 青草av.久久免费一区| 日本在线视频一区二区| 一区二区不卡| 亚洲青青久久| 日本 国产 欧美色综合| 激情六月综合| 亚洲性图久久| 91精品精品| 欧美黄色网页| av高清一区| 日韩另类视频| 久久国产电影| 欧美 日韩 国产精品免费观看| 日韩欧美网址| 色综合www| 激情婷婷综合| 亚洲少妇在线| 亚洲一区二区三区无吗| 最新国产精品| 日韩欧美精品一区二区综合视频| 亚洲欧美日本视频在线观看| 国产精品外国| 性色一区二区| 丝袜a∨在线一区二区三区不卡| 夜久久久久久| 久久国产精品毛片| 日韩中文字幕1| 日韩精品一区二区三区av| 人人精品久久| 国产精品亚洲片在线播放| 久久精品免视看国产成人| 麻豆精品99| 国产成人免费视频网站视频社区| 福利视频一区| 色老板在线视频一区二区| 国产精品毛片久久| 亚洲伦乱视频| 亚洲欧美日韩国产一区| 日韩一区网站| 久久久久伊人| 欧美三区四区| 久久成人亚洲| 欧美精品三级在线| 国产在线不卡一区二区三区| 天堂日韩电影| 日韩在线观看一区二区| 日韩高清欧美激情| 精品三级国产| 99精品视频在线观看免费播放| 一区在线视频观看| 免费看欧美美女黄的网站| 国产美女久久| 中文字幕在线免费观看视频| 亚洲性色视频| 婷婷综合福利| 色爱综合网欧美| 99国产精品| 国产情侣久久| 久久夜夜操妹子| 美女精品一区| 麻豆一区二区三| 亚洲成人免费| 国产日韩一区二区三免费高清 | 国产伦久视频在线观看| 日韩午夜av| 国产欧美日韩视频在线| 亚洲精品永久免费视频| 日韩制服丝袜av| 麻豆国产精品视频| 亚洲一级二级| 日本午夜免费一区二区| 国产在线看片免费视频在线观看| 9色国产精品| 欧美激情91| 91成人网在线观看| 国产精品一线天粉嫩av| 成人免费电影网址| 日本不卡一区二区| 国产成人精品999在线观看| 午夜在线一区| av资源中文在线| 亚洲欧洲日韩精品在线| 91视频久久| 日韩一区二区三区高清在线观看| 最新中文字幕在线播放| 蜜臀av一区二区在线免费观看| 国产在线一区不卡| 蜜臀久久久久久久| 欧美丰满日韩| 奇米亚洲欧美| 激情91久久| av免费不卡国产观看| 日本91福利区| 极品裸体白嫩激情啪啪国产精品|