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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。