python大鱼吃小鱼程序代码,编程大鱼吃小鱼游戏

  python大鱼吃小鱼程序代码,编程大鱼吃小鱼游戏

  本文主要介绍如何用Python让一条大鱼吃小鱼,一个经典的游戏。文中的样例代码讲解的很详细,对我们学习Python很有帮助,有需要的可以参考一下。

  00-1010 1.游戏画面2。游戏素材3。节目简介4。游戏代码1。Elf对象。这个函数计算矩形右下角的坐标并返回它。2.设置游戏属性。3.游戏对象。4.游戏动态效果。

  

目录

  

一.游戏画面

  

二.游戏素材

  大禹吃小鱼. py

  请注意程序的嘴部对象,虽然它是不可见的,但不是“隐藏”的。

  小鱼遇到嘴就会被“吃掉”。如果使用hide命令将mouth设置为隐藏,则无法获得mouth的绑定框,因此碰撞检测会失败。

  

三.程序介绍

  

四.游戏代码

  从精灵导入*

  定义calculate_pos(obj):

  obj:向导对象。这个函数计算矩形右下角的坐标并返回它。

  x,y=obj.position() #字符的坐标

  Mx,my=mouse_position() #鼠标指针的坐标

  K=1如果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坐标

  返回x0,y0

  

1.精灵对象。这个函数计算矩形下右角的一个坐标并返回它

  宽度,高度=480,360

  Screen=Screen() #新的宽度和高度

  Screen.setup(width,height) #设置宽度和高度

  screen . bgpic( RES/under water . png )#设置背景图像

  Screen.title(吃小鱼,图灵海里的大鱼)

  

2.设置游戏属性

  Fish_group=Group(tag=Fish) #创建一个标签为fish的新组

  fishes=[res/fish1.png , res/fish2.png , res/fish3.png , res/crab-b.png]

  #由于以下鱼标签都是鱼,它们将被自动添加到fish_group

  对于范围(10):内的x

  x=random.randint(-200,200)

  y=random.randint(-140,140)

  f=Sprite(shape=random . choice(fishs),tag=fish ,pos=(x,y))

  f .标度(0.5)

  fish _ group中鱼的fish . set heading(random . randint(1,360))

  M1=鼠标(1) #鼠标左键

  fish=sprite( RES/fish 1-a . png )#实例化大鱼

  Fish.rotatemode(1) #左右翻转

  鱼鳞=0.6

  鱼鳞

  Mouth=Sprite(shape=circle) #实例化用于碰撞检测的嘴。

  嘴型=0.4

  Mouth.scale(mouthscale) #缩放嘴的大小

  Mouth.setalpha(0) #使其透明,并将其更改为非零,它将被显示。

  Clock=Clock() #创建一个新的时钟对象

  

3.游戏对象

  而True:

  对于鱼_组:中的f

  如果。可见():F。FD (1) #仅在可见时移动

  #小鱼摸嘴点鼠标就被吃掉,大鱼长大。

  如果f.collide(口,0.5)和m1.down() :

  鱼鳞=0.01

  Fish.scale(鱼鳞)#大鱼长大

  口秤=0.01

  Mouth.scale(mouthscale) #嘴巴变大。

  x=random.randint(-200,200)

  y=random.randint(-140,140)

  #注意,这里调用重生后,鱼会立刻隐藏,3小时后出现。

  #碰撞检测3秒内无效,所以鱼不能动。

  f .重生(x,y,延迟=3)

  f.shape(随机选择(鱼))

  边缘反弹()

  Fish.heading(mouse_pos()) #大鱼跟着鼠标指针走

  X0,y0=calculate_pos(fish) #计算你嘴巴的大概坐标。

  Mouth.goto(x0,y0) #大嘴大本坐标

  Md=fish.distance(mouse_pos()) #计算鱼到鼠标指针的距离。

  Md50:fish.fd (min (MD,4)) #距离大于50就游。

  #张开和闭上你的嘴

  if m1.down():

  fish.shape(res/fish1-a.png )

  else:

  fish.shape(res/fish1-b.png )

  screen .更新()

  clock.tick(60)

  fish.shape(res/fish1-a.png )

  else:

  fish.shape(res/fish1-b.png )

  screen .更新()

  clock.tick(60)

  以上是Python的大鱼吃小鱼游戏实现的详细内容。更多关于Python大鱼吃小鱼的信息,请关注盛行的IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: