<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
大魚吃小魚.py
注意程式的mouth物件,它並不是"隱藏"的,雖然它看不見。
小魚碰到mouth會被“吃掉”。如果把mouth用hide命令設為隱藏,那麼是無法獲取到mouth的繫結盒,從而碰撞檢測失效。
from sprites import * def calculate_pos(obj): """obj:精靈物件。這個函數計算矩形下右角的一個座標並返回它。 """ x,y = obj.position() # 角色的座標 mx,my = mouse_position() # 滑鼠指標的座標 k = 1 if mx > x else -1 # 在右則為1,否則為-1 left,top,right,bottom = obj.bbox()# 獲取繫結盒 w = right-left # 大魚的寬度 h = top - bottom # 大魚的高度 x0 = x + k * w//2.5 # 嘴巴大概的x座標 y0 = y - h//12 # 嘴巴大概的y座標 return x0,y0
width,height = 480,360 screen = Screen() # 新建寬高 screen.setup(width,height) # 設定寬高 screen.bgpic('res/underwater.png') # 設背景圖 screen.title("圖靈大海之大魚吃小魚")
fish_group = Group(tag='fish') # 新建組,標籤為fish fishes = ['res/fish1.png','res/fish2.png','res/fish3.png','res/crab-b.png'] # 由於下面的魚的標籤都是fish,所以會自動加入到fish_group中 for x in range(10): x = random.randint(-200,200) y = random.randint(-140,140) f = Sprite(shape=random.choice(fishes),tag='fish',pos=(x,y)) f.scale(0.5) [fish.setheading(random.randint(1,360)) for fish in fish_group] m1 = Mouse(1) # 滑鼠左鍵 fish = Sprite('res/fish1-a.png') # 範例化大魚 fish.rotatemode(1) # 左右翻轉 fishscale= 0.6 fish.scale(fishscale) mouth = Sprite(shape='circle') # 範例化嘴巴,用於碰撞檢測 mouthscale = 0.4 mouth.scale(mouthscale) # 縮放嘴巴大小 mouth.setalpha(0) # 把它設為透明,改為非0它會顯示出來 clock = Clock() # 新建時鐘物件
while True: for f in fish_group: if f.isvisible():f.fd(1) # 在可見的情況下才移動 # 小魚碰到嘴巴及單擊滑鼠則被吃掉,大魚長大 if f.collide(mouth,0.5) and m1.down() : fishscale += 0.01 fish.scale(fishscale) # 大魚長大 mouthscale += 0.01 mouth.scale(mouthscale) # 嘴巴跟著加大 x = random.randint(-200,200) y = random.randint(-140,140) # 注意這裡呼叫了reborn後,魚會立即隱藏,3後後出現 # 在3秒內碰撞檢測無效,所以魚不能動 f.reborn(x,y,delay=3) f.shape(random.choice(fishes)) f.bounce_on_edge() fish.heading(mouse_pos()) # 大魚跟隨滑鼠指標 x0,y0 = calculate_pos(fish) # 計算嘴巴的大概座標 mouth.goto(x0,y0) # 嘴巴大這個座標 md = fish.distance(mouse_pos()) # 計算魚到滑鼠指標距離 if md > 50:fish.fd(min(md,4)) # 如果距離大於50則遊 # 張嘴與合嘴 if m1.down(): fish.shape('res/fish1-a.png') else: fish.shape('res/fish1-b.png') screen.update() clock.tick(60) fish.shape('res/fish1-a.png') else: fish.shape('res/fish1-b.png') screen.update() clock.tick(60)
以上就是Python實戰之大魚吃小魚遊戲的實現的詳細內容,更多關於Python大魚吃小魚的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45